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

feat: support time type #2283

Closed
wants to merge 7 commits into from
Closed

feat: support time type #2283

wants to merge 7 commits into from

Conversation

rebasedming
Copy link
Contributor

Description

This PR adds a Time PrimitiveType so that DeltaTables support the Arrow time type. Nanosecond precision was chosen to align with DataFusion's default time precision.

I'm opening this as draft since there was discussion in the related issue about how time is not supported by the delta protocol. I'm curious to understand what the consequences of that would be wrt merging this PR -- please let me know in the comments!

Related Issue(s)

Documentation

@github-actions github-actions bot added binding/python Issues for the Python package binding/rust Issues for the Rust crate labels Mar 11, 2024
@rebasedming rebasedming changed the title feat: Support time type feat: support time type Mar 11, 2024
@ion-elgreco
Copy link
Collaborator

@rebasedming if we would merge this, then it would break Delta protocol compatibility, which would not allow other writers or reader implementations to read delta tables.

You would need to put a feature request in at delta repo, like this one delta-io/delta#2319

@delta-io delta-io deleted a comment from github-actions bot Mar 13, 2024
@hntd187
Copy link
Collaborator

hntd187 commented Mar 14, 2024

Yeah, if it's not in the protocol it's very unlikely this will be accepted.

@universalmind303
Copy link
Contributor

I wonder if we should at least write some additional metadata as to what the original arrow type was. This way, it'd be fully compatible with the delta spec, and arrow users could still retain the original information too. Then the user could just parse that metadata and either cast, or decode directly to the original type. This would also fix this issue #2162

@rebasedming rebasedming closed this Apr 4, 2024
@rebasedming rebasedming deleted the feat/time branch April 4, 2024 14:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
binding/python Issues for the Python package binding/rust Issues for the Rust crate
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support Time32 and Time64 types
4 participants