GH-51639: [C++][Python] Fix invalid result when casting struct with null-typed child to its own type - #51646
Open
kartik00052 wants to merge 1 commit into
Open
GH-51639: [C++][Python] Fix invalid result when casting struct with null-typed child to its own type#51646kartik00052 wants to merge 1 commit into
kartik00052 wants to merge 1 commit into
Conversation
…l-typed child to its own type
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rationale for this change
Casting a struct containing a null-typed field to its own type could produce an invalid array when the struct child length differed from the enclosing execution batch length, such as a list containing multiple structs in one row or a sliced struct array. The null child was created using the parent execution length instead of the input child span length.
What changes are included in this PR?
Are these changes tested?
Are there any user-facing changes?
Yes. Struct casts involving null-typed children now produce valid arrays instead of silently returning invalid arrays or raising during validation.
Critical Fix
This fixes incorrect or invalid data structures produced by a cast operation.
Was AI used for this PR?
The implementation and test changes were reviewed against the existing Arrow cast kernels, nested-array length handling, and repository conventions.