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: add metadata for reader\writer features #1754

Closed

Conversation

michaelbrichko
Copy link

@michaelbrichko michaelbrichko commented Oct 22, 2023

Description

Rust client should be able to understand if given table contains any reader\writer features

Use case

Given delta file that was written by other client (possibly a more advanced one), try to understand if it requres any of the advanced features that might be specified in reader\writer features section of the protocol

Documentation

https://github.com/delta-io/delta/blob/master/PROTOCOL.md#protocol-evolution

@github-actions github-actions bot added binding/rust Issues for the Rust crate rust labels Oct 22, 2023
@github-actions
Copy link

ACTION NEEDED

delta-rs follows the Conventional Commits specification for release automation.

The PR title and description are used as the merge commit message. Please update your PR title and description to match the specification.

@michaelbrichko michaelbrichko changed the title Add metadata for reader\writer features feat:: Add metadata for reader\writer features Oct 22, 2023
@michaelbrichko michaelbrichko changed the title feat:: Add metadata for reader\writer features feat: Add metadata for reader\writer features Oct 22, 2023
@michaelbrichko michaelbrichko changed the title feat: Add metadata for reader\writer features feat: add metadata for reader\writer features Oct 22, 2023
@michaelbrichko
Copy link
Author

Please review.
Thank you in advance!

Copy link
Collaborator

@wjones127 wjones127 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I prefer the approach with enums in #1755, though this is fine.

Comment on lines +305 to +311
for feature in new_state.reader_features.iter() {
self.reader_features.insert(feature.to_owned());
}

for feature in new_state.writer_features.iter() {
self.writer_features.insert(feature.to_owned());
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's unclear to me why we should take the union, and not just adopt the latest set of features. This would mean you could never drop features, right?

@michaelbrichko
Copy link
Author

I think I prefer the approach with enums in #1755, though this is fine.

Ok, then should I abondon this one ?
I would like to have this feature available ASAP so hopefully it won't be too long untill the other PR will be checked-in.
Thank you.

@michaelbrichko
Copy link
Author

Abondoning....

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
binding/rust Issues for the Rust crate rust
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants