-
Notifications
You must be signed in to change notification settings - Fork 4k
ARROW-9943: [C++] Recursively apply Arrow metadata when reading from Parquet #8366
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
cpp/src/parquet/arrow/schema.cc
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@emkornfield I think you'll be able to add your changes here.
bbf193f to
289fb9c
Compare
|
Also cc @jorisvandenbossche |
…Parquet This allows roundtripping complex types such as `list<dictionary<utf8>>`, `list<extension>`, etc.
289fb9c to
6673a8a
Compare
| if (origin_type.id() == ::arrow::Type::LIST) { | ||
| return RewrapListField; | ||
| return [](FieldVector fields) { | ||
| DCHECK_EQ(fields.size(), 1); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can a schema be deserialized that has more then 1 field? i.e. should this return a user space error instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Normally no, because we already checked that origin_type->num_fields() == inferred_type->num_fields().
|
Will merge if CI green. Thank you for the reviews! |
This allows roundtripping complex types such as
list<dictionary<utf8>>,list<extension>, etc.