scovich opened a new pull request, #8395:
URL: https://github.com/apache/arrow-rs/pull/8395

   # Which issue does this PR close?
   
   - Fast-follow for https://github.com/apache/arrow-rs/pull/8366
   - Related to https://github.com/apache/arrow-rs/pull/8392
   
   # Rationale for this change
   
   Somehow, https://github.com/apache/arrow-rs/pull/8392 exposes a latent bug 
in https://github.com/apache/arrow-rs/pull/8366, which has improper NULL 
handling for shredded object fields. The shredding PR originally attempted to 
handle this case, but somehow the test did not trigger the bug and so the 
(admittedly incomplete) code was removed. See 
https://github.com/apache/arrow-rs/pull/8366#discussion_r2357552451. To be 
honest, I have no idea how the original ever worked correctly, nor why the new 
PR is able to expose the problem. 
   
   # What changes are included in this PR?
   
   When used as a top-level builder, 
`VariantToShreddedVariantRowBuilder::append_null` must append NULL to its own 
`NullBufferBuilder`; but when used as a shredded object field builder, it must 
append non-NULL. Plumb a new `top_level` parameter through the various 
functions and into the two sub-builders it relies on, so they can correctly 
implement the new semantics.
   
   # Are these changes tested?
   
   In theory, yes (I don't know how the object shredding test ever passed). And 
it fixes the breakage in https://github.com/apache/arrow-rs/pull/8392.
   
   # Are there any user-facing changes?
   
   No


-- 
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: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to