connortsui20 opened a new issue, #9205:
URL: https://github.com/apache/arrow-rs/issues/9205

   This is basically a followup of 
https://github.com/apache/arrow/issues/27083, which was not migrated to this 
repository.
   
   I think the defaults for the C++ implementation may have changed since that 
issue was posted (and I have no idea where the Java implementation has this 
logic).
   
   - https://github.com/apache/arrow/blob/main/cpp/src/arrow/type.cc#L1419 
which calls 
https://github.com/apache/arrow/blob/main/cpp/src/arrow/util/vector.h#L48. I 
think that the ability to decide how to deal with conflicts was lost over 
time...
   
   ---
   
   Here is the existing docs: 
https://docs.rs/arrow/latest/arrow/array/struct.StructArray.html#method.column_by_name.
 That documentation comment should probably be updated...
   
   In addition to this, I think there are several issues related to 
`StructArray` casting and schema evolution that have not taken this behavior 
into account. Struct casting might be fine because it only looks at the type of 
the field and not the name? But I can imagine that schema evolution becomes 
stranger when you can have a bunch of fields with the same name that have 
different types.
   
   - https://github.com/apache/arrow-rs/issues/4908
   - https://github.com/apache/arrow-rs/issues/6735
   - https://github.com/apache/arrow-rs/issues/5996
   
   Also see the related 
[discussion](https://github.com/vortex-data/vortex/discussions/6010) in Vortex, 
as we have a similar behavior now simply because this is what the Rust Arrow 
implementation does.
   


-- 
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]

Reply via email to