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

   ## Problem
   
   NewTableFromSlice installed its panic cleanup only after every column had 
been constructed. If a later column was invalid, columns already created by the 
loop kept their retained array references.
   
   ## Change
   
   Install cleanup before column construction and track the number of 
initialized columns. A panic now releases only completed columns before 
propagating the original failure. Successful construction and validation 
behavior are unchanged.
   
   ## Coverage
   
   The regression test makes the second column fail datatype validation after 
the first has been constructed. A checked allocator verifies that recovering 
from the panic and releasing caller-owned arrays frees all buffers.
   
   ## Validation
   
   - go test ./arrow/array
   - go test -race ./arrow/array -run 
'^TestTableFromSliceReleasesPartialColumnsOnPanic$' -count=1


-- 
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