Skip to content

[Arrow] Move parquet-variant-compute StructArrayBuilder to arrow-array - #10636

Open
cakeni wants to merge 1 commit into
apache:mainfrom
cakeni:feat/struct-array-builder
Open

[Arrow] Move parquet-variant-compute StructArrayBuilder to arrow-array#10636
cakeni wants to merge 1 commit into
apache:mainfrom
cakeni:feat/struct-array-builder

Conversation

@cakeni

@cakeni cakeni commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Rationale for this change

parquet-variant-compute contains a local helper for assembling a StructArray from completed child arrays. The helper is generally useful Arrow functionality and should live in arrow-array instead of being duplicated in a Variant-specific crate.

What changes are included in this PR?

  • Add a public StructArrayBuilder for completed child arrays to arrow-array.
  • Support synthesized fields, caller-provided FieldRef values that retain metadata, and an optional top-level null buffer.
  • Replace the local parquet-variant-compute implementation with the shared builder.
  • Add API documentation, an example, and unit coverage.

Are these changes tested?

Yes.

  • cargo test -p arrow-array struct_array_builder (16 tests passed)
  • cargo test -p parquet-variant-compute (347 unit tests and 13 doctests passed)

Are there any user-facing changes?

Yes. arrow-array exposes a new builder API for assembling StructArray values from completed children. Existing APIs are unchanged.

@github-actions github-actions Bot added arrow Changes to the arrow crate parquet-variant parquet-variant* crates arrow-array labels Aug 11, 2026
@cakeni
cakeni marked this pull request as ready for review August 11, 2026 13:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

arrow Changes to the arrow crate arrow-array parquet-variant parquet-variant* crates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Arrow] Move parquet-variant-compute StructArrayBuilder to arrow-array

1 participant