You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Variant] Fix NULL handling for shredded object fields (#8395)
# Which issue does this PR close?
- Fast-follow for #8366
- Related to #8392
# Rationale for this change
Somehow, #8392 exposes a latent
bug in #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
#8366 (comment). 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 implement the correct 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
#8392.
# Are there any user-facing changes?
No
0 commit comments