alamb commented on issue #8319:
URL: https://github.com/apache/arrow-rs/issues/8319#issuecomment-3285280543

   I did some research, and TLDR I think the solution to this problem is to not 
have `VariantArray` implement `Array` (we'll keep the same methods just not the 
trait impl)
   
   And then we will add methods and documentation for explicitly converting 
to/from `VariantArray`/`StructArray` 
   
   We'll also add a "extension type" annotation on the StructArray's field, 
when relevant, so it will be propagated through parquet. 
   
   This will ensure we can read / write to parquet as parquet itself won't do 
anything except ensure the field metadata is set appropriately
   
   I am planning to use the model used by @kylebarron in  geoarrow. For example 
https://github.com/geoarrow/geoarrow-rs/blob/b771e889114141a9a3d382e126cccd2fd53f12de/rust/geoarrow-schema/src/datatype.rs#L352-L354
   
   
   And you access the extension type fields like this: 
   ```rust
   field.extension_type_name().ok_or(GeoArrowError::InvalidGeoArrow(
                   "Expected GeoArrow extension metadata, but found none, and 
`require_geoarrow_metadata` is `true`.".to_string(),
               ))?;
   ```
   


-- 
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: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to