Skip to content

GH-50993: [CI][Integration] Add extension-wrapped union to integration data - #51027

Open
Alb3e3 wants to merge 2 commits into
apache:mainfrom
Alb3e3:gh-50993-extension-wrapped-union
Open

GH-50993: [CI][Integration] Add extension-wrapped union to integration data#51027
Alb3e3 wants to merge 2 commits into
apache:mainfrom
Alb3e3:gh-50993-extension-wrapped-union

Conversation

@Alb3e3

@Alb3e3 Alb3e3 commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Rationale for this change

Just as the C++ test suite gained coverage for extension-wrapped unions in #50927 (GH-50623), the cross-implementation integration tests should exercise this case so that every tested implementation handles an extension type whose storage is a union.

What changes are included in this PR?

A new archery integration datagen case, extension_union, with two columns:

  • sparse_union_ext: a sparse union (int32/utf8) wrapped in an extension type
  • dense_union_ext: a dense union (int16/binary) wrapped in an extension type

ExtensionField already delegates its storage type/children/generation to the wrapped field, so no new datagen machinery is needed.

Are these changes tested?

The generator produces valid integration JSON locally (schema carries the ARROW:extension:* metadata on the union-typed fields, children preserved, batch sizes [0, 7]). The cross-implementation integration matrix in CI is the real test here — I've intentionally added the case with no per-implementation skips so the matrix can show which implementations still need a temporary .skip_tester(...); I'll add those (with tracking links) based on the results.

Are there any user-facing changes?

No. This only adds integration-test data.

Closes #50993.

…gration data

Add a new integration datagen case (extension_union) with sparse- and
dense-union columns wrapped in an extension type, so the cross-language
integration tests exercise the extension/union interaction. This mirrors
the C++ IPC coverage added in apacheGH-50623 (apache#50927).
@Alb3e3
Alb3e3 requested a review from pitrou as a code owner August 28, 2026 19:22
@github-actions

Copy link
Copy Markdown

⚠️ GitHub issue #50993 has been automatically assigned in GitHub to PR creator.

@github-actions github-actions Bot added the awaiting review Awaiting review label Aug 28, 2026
The extension names in this case are not registered in the per-language
integration binaries, so the C++ JSON reader (and others) rejected them with
"Extension type not found". Flag them with
ARROW:integration:allow_unregistered_extension so the extension metadata is
preserved and the union storage is round-tripped by every implementation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting review Awaiting review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CI][Integration] Add extension-wrapped union to integration data

1 participant