Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for iceberg string and binary types #297

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

WTFox
Copy link
Contributor

@WTFox WTFox commented Jan 18, 2024

Description

This pull request introduces support for two new column types from the Iceberg table format: string and binary. These types are increasingly common in data warehousing scenarios, and their inclusion in sqlalchemy-redshift will enhance compatibility with Iceberg tables and improve the user experience for those working with Redshift and Iceberg.

This PR is specifically tailored to add/improve interactions with Spectrum tables in Iceberg format.

Changes

  • Added a new custom type ICEBERG_STRING that maps Iceberg's string type to Redshift/Postgre's VARCHAR type with a default max length.
  • Added a new custom type ICEBERG_BINARY that maps Iceberg's binary type to SQLAlchemy's LargeBinary type.
  • Included unit tests
  • Updated the documentation to reflect the new type support.

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 for string and binary 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.

image

Todos

  • MIT compatible
  • Tests
  • Documentation
  • Updated CHANGES.rst

@WTFox WTFox marked this pull request as ready for review January 19, 2024 15:09
@jasonamyers
Copy link
Contributor

@Brooke-white any chance you're still involved here and can look at this with us?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants