source-postgres: Discover 'citext' columns as strings #2035
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:
The
citext
column type is added by thecitext
extension and stores text with a case-insensitive comparison operator. In my testing it looks like we're capturing these values correctly as strings, but discovery is emitting the catch-all schema which can cause some materializations to do...suboptimal things with those values.This commit adds
"citext"
to the discovery type mapping table so it should work correctly, but doesn't add any test cases as it's an extension type (even though the extension is a standard part of the Postgres release and has been for ages so we could probably add the requisiteCREATE EXTENSION "citext"
statement to the test DB setup script and then treat it like any other built-in type...)This change is