Skip to content

[WIP][Kernel][RFC] Add type change history to StructField #4512

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

Closed

Conversation

emkornfield
Copy link
Collaborator

Which Delta project/connector is this regarding?

  • Spark
  • Standalone
  • Flink
  • Kernel
  • Other (fill in here)

Description

As part of supporting write support for type widening the kernel. We run into a similar design issue as Collation. Where type changes are stored in FieldMetadata at the nearest parent struct field, but for maps/arrays we need to construct a path separately.

This change serves as a discussion point on two questions:

  1. Should we add a separate member at all to StructField and make use of similar logic in collation to collect it up to the nearest non-map/array parent?
  2. What should its representation be. In this PR I currently use a list which assumes linear transitions. In theory during typeChange cleanup, one could remove a link, so it might be worth while to create a minimal TypeChange class to wrap from/to. If we want to proceed with the new member on StructField I will update the PR to include the new class as well.

How was this patch tested?

Does this PR introduce any user-facing changes?

@emkornfield emkornfield marked this pull request as draft May 8, 2025 06:50
@emkornfield
Copy link
Collaborator Author

Superceded by #4519

@emkornfield emkornfield closed this May 9, 2025
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.

1 participant