Skip to content

GH-559: [Java] Add FixedSizeBinary support to ComplexCopier - #1253

Open
Maria-Berta wants to merge 3 commits into
apache:mainfrom
Maria-Berta:GH-559-complex-copier-fixed-size-binary
Open

GH-559: [Java] Add FixedSizeBinary support to ComplexCopier#1253
Maria-Berta wants to merge 3 commits into
apache:mainfrom
Maria-Berta:GH-559-complex-copier-fixed-size-binary

Conversation

@Maria-Berta

@Maria-Berta Maria-Berta commented Aug 3, 2026

Copy link
Copy Markdown

Rationale for this change

ComplexCopier did not support copying FixedSizeBinary columns nested in List, Map, Struct, or top-level contexts, throwing UnsupportedOperationException.

What changes are included in this PR?

Adds FIXEDSIZEBINARY cases to:

  • getListWriterForReader
  • getStructWriterForReader
  • getMapWriterForReader
  • the main copy() switch

Are these changes tested?

Yes:

  • testCopyListOfFixedSizeBinary — copying a List
  • testCopyStructOfFixedSizeBinary — copying a Struct field of type FixedSizeBinary

Full TestComplexCopier suite (22 tests) passes with no regressions.

Note: I attempted to add equivalent coverage for Map values of type FixedSizeBinary, but ran into a pre-existing limitation unrelated to this fix — MapWriter/ListWriter's no-arg fixedSizeBinary() delegates to NullableStructWriter.fixedSizeBinary(String), which only looks up an existing child writer and never creates one. The byteWidth-aware overload that does create the vector isn't reachable through the public MapWriter/ListWriter interface. This appears to be a gap in the writer codegen itself rather than something ComplexCopier can work around, so I've left it untested here — happy to open a follow-up issue if that's useful, or take a stab at it if maintainers think it's in scope for this PR.

Closes #559

@github-actions

This comment has been minimized.

@Maria-Berta

Copy link
Copy Markdown
Author

Hi @jbonofre @laurentgo @lidavidm @wgtmac — checking in on this PR.
I don't have permission to add labels myself as an external
contributor. Could someone add bug-fix (or whichever fits best)
when you have a chance so the "Ensure PR is labeled" check can pass?
Happy to make any other changes needed too. Thanks!

@lidavidm lidavidm added the bug-fix PRs that fix a big. label Aug 10, 2026
@github-actions github-actions Bot added this to the 20.0.0 milestone Aug 10, 2026
注册 for free to join this conversation on GitHub. Already have an account? 登录 to comment

标签

bug-fix PRs that fix a big.

项目

None yet

Development

Successfully merging this pull request may close these issues.

ComplexCopier missing support for FixedSizeBinary columns

2 participants