Skip to content

GH-54924: [C++] HasVariadicBuffers should respect extension types - #54925

Open
taepper wants to merge 1 commit into
apache:mainfrom
taepper:gh-54924
Open

taepper wants to merge 1 commit into
apache:mainfrom
taepper:gh-54924

Conversation

@taepper

@taepper taepper commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Rationale for this change

This fixes #54924. An extension array would not round-trip correctly through ArraySpans as a test demonstrates.

What changes are included in this PR?

This fixes the HasVariadicBuffers implementation to correctly handle extension types. A test demonstrating the fix is also included.

The fix follows the implementation of ArraySpan::SetMembers, where the same additional case for extension types is included

Are these changes tested?

Yes. By the existing test suite plus an additional test.

Are there any user-facing changes?

None other than the bug fix.

Was AI used for this PR?

In accordance to the AI generation guidelines, please disclose below whether and how AI was used in this PR.

PR code and description written by:

  • Human
  • AI

Reviewed before submission by:

  • Human
  • AI
  • Not reviewed

An LLM suggested the second fix for

  if (type_id == Type::STRING_VIEW || type_id == Type::BINARY_VIEW) {

in ArraySpan::SetMembers, which does look correct to me.

@github-actions

Copy link
Copy Markdown

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[C++] HasVariadicBuffers should respect extension types

1 participant