Add support for iceberg string and binary types #297
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
This pull request introduces support for two new column types from the Iceberg table format:
string
andbinary
. These types are increasingly common in data warehousing scenarios, and their inclusion insqlalchemy-redshift
will enhance compatibility with Iceberg tables and improve the user experience for those working with Redshift and Iceberg.Changes
ICEBERG_STRING
that maps Iceberg'sstring
type to Redshift/Postgre'sVARCHAR
type with a default max length.ICEBERG_BINARY
that maps Iceberg'sbinary
type to SQLAlchemy'sLargeBinary
type.Motivation
As Iceberg tables become more prevalent, it is important for
sqlalchemy-redshift
to evolve and support the diverse data types used in these tables. The lack of native support forstring
andbinary
types can lead to challenges when querying Iceberg tables, and this PR aims to address those challenges.Backward Compatibility
These changes are fully backward-compatible as they introduce new types without altering the existing functionality of the dialect.
Additional Notes
I look forward to feedback from the maintainers and community on this PR. If there are any additional changes or enhancements needed, I am open to discussion and collaboration.
Todos