Is your feature request related to a problem or challenge?
VariantArray::try_value can materialize primitive typed_value values but not legal shredded Struct or List values.
#10597 prevents these values from being silently reported as Variant::Null, but callers still cannot retrieve the complete row as a Variant without unshredding the array first.
Describe the solution you'd like
Support reconstructing perfectly and partially shredded Struct/List values in try_value.
This likely requires an owned or COW representation because composite values must be encoded into new buffers, while Variant currently borrows its encoded bytes.
Describe alternatives you've considered
Call unshred_variant on the complete array before accessing individual values. This works but requires array-level reconstruction when only one row may be needed.
Additional context
Is your feature request related to a problem or challenge?
VariantArray::try_valuecan materialize primitivetyped_valuevalues but not legal shredded Struct or List values.#10597 prevents these values from being silently reported as
Variant::Null, but callers still cannot retrieve the complete row as aVariantwithout unshredding the array first.Describe the solution you'd like
Support reconstructing perfectly and partially shredded Struct/List values in
try_value.This likely requires an owned or COW representation because composite values must be encoded into new buffers, while
Variantcurrently borrows its encoded bytes.Describe alternatives you've considered
Call
unshred_varianton the complete array before accessing individual values. This works but requires array-level reconstruction when only one row may be needed.Additional context
VariantArray::valuesilently returnsVariant::Nullfor unimplementedtyped_valuetypes in release builds #10597