c-thiel opened a new pull request, #2840:
URL: https://github.com/apache/iceberg-rust/pull/2840

   Teach arrow_schema_to_schema to fold a field tagged with the canonical 
arrow.parquet.variant extension into an atomic Type::Variant, the inverse of 
the export path added in #2188. Previously such a schema errored with "Field id 
not found in metadata" because the variant's metadata/value storage sub-fields 
carry no field id.
   
   ## Which issue does this PR close?
   
   PR 1 of 2 for Variant read support.
   
   ## What changes are included in this PR?
   
   Add a defaulted `ArrowSchemaVisitor::variant` dispatched via a new 
`visit_field` helper at each field-dispatch site. The default re-enters normal 
traversal, so the reconstructing visitors (Int96Coercion, MetadataStrip) are 
unchanged; `ArrowSchemaConverter` overrides it to fold the struct without 
descending, guarding that the extension sits on Struct storage. Mirrors Java's 
Parquet reader, which recovers a variant from its group-level annotation 
without visiting the group's children.
   
   Covers top-level, struct-nested, list-element and map-value positions plus 
auto-assigned ids; regenerates the iceberg public-api baseline.
   
   ## Are these changes tested?
   
   unit-tested yes.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to