hcrosse opened a new pull request, #1528:
URL: https://github.com/apache/arrow-go/pull/1528

   ### Rationale for this change
   
   Appending null scalars can leave value bytes, offsets or child slots 
missing, causing builder panics or corrupted arrays.
   
   ### What changes are included in this PR?
   
   `scalar.Append` and `scalar.AppendSlice` use each builder's `AppendNull` for 
fixed size binary and fixed size list nulls, null struct fields and union 
children. This advances value bytes and child slots and supplies offsets where 
required. Nested run end encoded children no longer hit 
`UnsafeAppendBoolToBitmap`.
   
   Validity handling stays unchanged where the bitmap update already matches 
`AppendNull`.
   
   ### Are these changes tested?
   
   `TestAppendNullScalars` has five rows covering fixed size binary, fixed size 
list, struct, sparse union and dense union arrays, checking validation and 
equality. All five fail on main and pass with this change. The cases in the 
issue build valid arrays and preserve `"efgh"` after the null.
   
   With Go 1.26.10, vet, `go test -race -tags assert,test ./arrow/...` with 
pinned test data, lint and the Release Audit Tool passed.
   
   ### Are there any user-facing changes?
   
   Yes. Null appends preserve builder layout instead of producing invalid 
arrays or panicking. There is no API change.
   
   Closes https://github.com/apache/arrow-go/issues/1525.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to