fix(postgres,cockroachdb): compare spatial columns against their default feature type and SRID - #12812
Open
samuelmbabhazi wants to merge 1 commit into
Open
Conversation
…ult feature type and SRID A geometry or geography column declared without spatialFeatureType or srid is created as plain geometry, which the database reports back as Geometry with SRID 0. The change detection compared those values with the undefined metadata, so every such column produced the same no-op ALTER COLUMN TYPE on each migration:generate.
commit: |
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require review
Tip of the day💡 Did you know, you can reply 'qodo' on any finding to push back, ask questions, or dig deeper |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of change
Fixes #12811
A geometry or geography column declared without
spatialFeatureTypeorsridis created as plaingeometry, which PostGIS and CockroachDB report back as feature typeGeometrywith SRID0.findChangedColumnscompared those values with the undefined metadata, so every such column produced the same no-opALTER COLUMN ... TYPEon eachmigration:generate. The repository's own spatialPosttest entity showed this drift: three phantom queries on both databases.The comparison now applies the defaults the decorator reference already documents (feature type
Geometry, SRID0) on both sides, in the Postgres and CockroachDB drivers alike. Removing a feature type or SRID from an entity still converges: the stored value then differs from the default, oneALTER COLUMN ... TYPE geometryis generated, and the next run reports no changes.Tests: a new
schema-builder/idempotency/spatial-defaultscase (postgres and cockroachdb) asserts no pending queries for such columns, and the idempotency assertions of the spatial suites, previously scoped to the dimensional table because of this drift, now cover the whole schema. Reverting the driver change makes exactly those three assertions fail with the three phantom queries. The idempotency and schema builder suites pass (155 tests), as do the spatial suites (27).Pull-Request Checklist
masterbranchFixes #NNNN,Closes #NNNN, orResolves #NNNNtests/**.test.ts)docs/docs/**.md): no documentation change, the documented defaults are now honoured