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