@@ -14,11 +14,11 @@ use vortex_array::EmptyArrayData;
1414use vortex_array:: ExecutionCtx ;
1515use vortex_array:: IntoArray ;
1616use vortex_array:: TypedArrayRef ;
17+ use vortex_array:: arrays:: ConstantArray ;
1718use vortex_array:: arrays:: List ;
1819use vortex_array:: arrays:: ListArray ;
1920use vortex_array:: arrays:: Struct ;
2021use vortex_array:: arrays:: StructArray ;
21- use vortex_array:: arrays:: VarBinViewArray ;
2222use vortex_array:: arrays:: VariantArray ;
2323use vortex_array:: arrays:: list:: ListArrayExt ;
2424use vortex_array:: arrays:: struct_:: StructArrayExt ;
@@ -30,6 +30,7 @@ use vortex_array::dtype::DType;
3030use vortex_array:: dtype:: FieldName ;
3131use vortex_array:: dtype:: FieldNames ;
3232use vortex_array:: dtype:: Nullability ;
33+ use vortex_array:: scalar:: Scalar ;
3334use vortex_array:: smallvec:: smallvec;
3435use vortex_array:: validity:: Validity ;
3536use vortex_array:: vtable:: child_to_validity;
@@ -39,6 +40,7 @@ use vortex_error::VortexExpect;
3940use vortex_error:: VortexResult ;
4041
4142use crate :: ParquetVariant ;
43+ use crate :: ParquetVariantArray ;
4244
4345/// The validity bitmap indicating which elements are non-null.
4446pub ( crate ) const VALIDITY_SLOT : usize = 0 ;
@@ -131,7 +133,7 @@ impl ParquetVariant {
131133}
132134
133135pub ( crate ) fn core_storage_without_typed_value (
134- array : & Array < ParquetVariant > ,
136+ array : & ParquetVariantArray ,
135137) -> VortexResult < ArrayRef > {
136138 // The spec requires at least one of `value`/`typed_value` to be present
137139 // (matching the Arrow canonical extension contract). When we lift `typed_value` out into
@@ -140,8 +142,11 @@ pub(crate) fn core_storage_without_typed_value(
140142 // can round-trip back through `to_arrow`.
141143 let value = array. value_array ( ) . cloned ( ) . or_else ( || {
142144 array. typed_value_array ( ) . map ( |_| {
143- VarBinViewArray :: from_iter_nullable_bin ( std:: iter:: repeat_n ( None :: < & [ u8 ] > , array. len ( ) ) )
144- . into_array ( )
145+ ConstantArray :: new (
146+ Scalar :: null ( DType :: Binary ( Nullability :: Nullable ) ) ,
147+ array. len ( ) ,
148+ )
149+ . into_array ( )
145150 } )
146151 } ) ;
147152
0 commit comments