#33294 closed Bug (invalid)
opclasses missing in PostGIS's 3D geometry indexes
Reported by: | Tim Graham | Owned by: | nobody |
---|---|---|---|
Component: | GIS | Version: | 4.0 |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
After 99bc67a9e79256d8a2fcd5742e33a5e79c056539 (refs #32721), the GIST_GEOMETRY_OPS_ND opclass is no longer present for indexes on 3D geometries. You can observe the indexes created while running the test suite and see, for example:
CREATE INDEX "geo3d_city3d_point_id" ON "geo3d_city3d" USING GIST ("point")
instead of
CREATE INDEX "geo3d_city3d_point_id" ON "geo3d_city3d" USING GIST ("point" GIST_GEOMETRY_OPS_ND)
The issue seems to be that when BaseDatabaseSchemaEditor._create_index_sql()
calls self._index_columns, it invokes BaseDatabaseSchemaEditor's version (which ignores opclasses) rather than postgresql's.
Attachments (2)
Change History (4)
by , 3 years ago
Attachment: | pre_99bc67a9e79256d8a2fcd5742e33a5e79c056539 added |
---|
by , 3 years ago
Attachment: | post_99bc67a9e79256d8a2fcd5742e33a5e79c056539 added |
---|
comment:1 by , 3 years ago
Resolution: | → needsinfo |
---|---|
Status: | new → closed |
comment:2 by , 3 years ago
Resolution: | needsinfo → invalid |
---|---|
Severity: | Release blocker → Normal |
Sorry for the false alarm, I should have debugged a bit more carefully. The commit in question merely changed behavior in django-cockroachdb.
Thanks for the report, however it creates exactly the same set of indexes for me 🤔 (see attachments) and it's covered by test_add_3d_field_opclass(). Maybe it's reproducible on a 3rd-party backend.