apache / arrow-rs

Official Rust implementation of Apache Arrow
https://arrow.apache.org/
Apache License 2.0
2.62k stars 802 forks source link

arrow-array: generalize make_builder/StructBuilder #6764

Closed ajwerner closed 13 hours ago

ajwerner commented 1 day ago

Users of this library may want to create their own builder types in order to experiment with new API shapes, or to support features that are currently not supported by the library. With minimal changes to the shape of the API, users can now extend the make_builder.

Which issue does this PR close?

Relates to https://github.com/apache/arrow-rs/issues/6349

Rationale for this change

I am experimenting with how to handle union types for some dynamic data. As #6349 lays out, there is currently no support for unions underneath structs. That left me in a somewhat desperate situation whereby I was copying out the logic of make_builder in order to add one more case. Instead, with this change I can reuse the existing logic and intercept it as needed.

Are there any user-facing changes?

No APIs are harmed in this change.

ajwerner commented 13 hours ago

meh, for other reasons this wasn't that helpful and I just copied the make_builder code :(