-
Notifications
You must be signed in to change notification settings - Fork 1.4k
fix: Fix incorrect null results when unrelated child fields are missing from the requested type in readers #14504
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
Conversation
✅ Deploy Preview for meta-velox canceled.
|
The PR adds Velox patch facebookincubator/velox#14504.
The PR adds Velox patch facebookincubator/velox#14504.
The PR adds Velox patch facebookincubator/velox#14504.
|
@zhztheplayer Adding a subfield in the middle of struct is not allowed, the new non-existing subfield must be appended to the end of the struct |
@Yuhta Shall we consider this as Presto's principle? Because Spark doesn't restrict on positions of the non-existing fields. We can have more tests from Velox side to guard Spark's use cases if needed. |
|
@zhztheplayer This is not a compute engine property, it's a data warehouse property. Currently Velox only supports this positional schema evolution model; to support the name based one, it's a lot of work and testing to make sure both cases works. I would suggest starting by enhance table evolution fuzzer to add the name based mode, and see where are the gaps. |
Thanks and understood. I'll revisit the suggestion soon. |
|
This pull request has been automatically marked as stale because it has not had recent activity. If you'd still like this PR merged, please comment on the PR, make sure you've addressed reviewer comments, and rebase on the latest main. Thank you for your contributions! |
When reading data, either in dwrf or parquet, assuming we have data written with the following schema:
Meanwhile, we request the data with the following schema, which has a non-existing
date: TIMESTAMPincluded:Then, we request the following subfields by adding them to the column handle of
order:Before the fix, Velox's answer is (wrong
nulls fororder.amount):After the fix, Velox's answer is (correct):