@@ -34,8 +34,7 @@ pub(crate) fn make_shredding_row_builder<'a>(
3434) -> Result < Box < dyn VariantShreddingRowBuilder + ' a > > {
3535 use arrow:: array:: PrimitiveBuilder ;
3636 use datatypes:: {
37- Int8Type , Int16Type , Int32Type , Int64Type ,
38- Float16Type , Float32Type , Float64Type ,
37+ Float16Type , Float32Type , Float64Type , Int16Type , Int32Type , Int64Type , Int8Type ,
3938 } ;
4039
4140 // support non-empty paths (field access) and some empty path cases
@@ -95,12 +94,10 @@ pub(crate) fn make_shredding_row_builder<'a>(
9594 let builder = VariantArrayShreddingRowBuilder :: new ( 16 ) ;
9695 Ok ( Box :: new ( builder) )
9796 }
98- _ => {
99- Err ( ArrowError :: NotYetImplemented ( format ! (
100- "variant_get with empty path and data_type={:?} not yet implemented" ,
101- data_type
102- ) ) )
103- }
97+ _ => Err ( ArrowError :: NotYetImplemented ( format ! (
98+ "variant_get with empty path and data_type={:?} not yet implemented" ,
99+ data_type
100+ ) ) ) ,
104101 } ;
105102 }
106103
@@ -170,12 +167,10 @@ pub(crate) fn make_shredding_row_builder<'a>(
170167 let inner_builder = VariantArrayShreddingRowBuilder :: new ( 16 ) ;
171168 wrap_with_path ! ( inner_builder)
172169 }
173- _ => {
174- Err ( ArrowError :: NotYetImplemented ( format ! (
175- "variant_get with path={:?} and data_type={:?} not yet implemented" ,
176- path, data_type
177- ) ) )
178- }
170+ _ => Err ( ArrowError :: NotYetImplemented ( format ! (
171+ "variant_get with path={:?} and data_type={:?} not yet implemented" ,
172+ path, data_type
173+ ) ) ) ,
179174 }
180175}
181176
@@ -258,6 +253,11 @@ impl VariantAsPrimitive<datatypes::Int64Type> for Variant<'_, '_> {
258253 self . as_int64 ( )
259254 }
260255}
256+ impl VariantAsPrimitive < datatypes:: Float16Type > for Variant < ' _ , ' _ > {
257+ fn as_primitive ( & self ) -> Option < half:: f16 > {
258+ self . as_f16 ( )
259+ }
260+ }
261261impl VariantAsPrimitive < datatypes:: Float32Type > for Variant < ' _ , ' _ > {
262262 fn as_primitive ( & self ) -> Option < f32 > {
263263 self . as_f32 ( )
@@ -268,11 +268,6 @@ impl VariantAsPrimitive<datatypes::Float64Type> for Variant<'_, '_> {
268268 self . as_f64 ( )
269269 }
270270}
271- impl VariantAsPrimitive < datatypes:: Float16Type > for Variant < ' _ , ' _ > {
272- fn as_primitive ( & self ) -> Option < half:: f16 > {
273- self . as_f16 ( )
274- }
275- }
276271
277272/// Builder for shredding variant values to primitive values
278273struct PrimitiveVariantShreddingRowBuilder < ' a , T : ArrowPrimitiveType > {
0 commit comments