Skip to content

Commit ece0ffb

Browse files
Bulk insert Variants
1 parent e22e550 commit ece0ffb

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

parquet-variant-compute/src/variant_array.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,7 @@ impl<'m, 'v> FromIterator<Option<Variant<'m, 'v>>> for VariantArray {
451451
impl<'m, 'v> FromIterator<Variant<'m, 'v>> for VariantArray {
452452
fn from_iter<T: IntoIterator<Item = Variant<'m, 'v>>>(iter: T) -> Self {
453453
let mut b = VariantArrayBuilder::new(0);
454-
b.extend(iter.into_iter().map(Some));
454+
b.extend(iter);
455455
b.build()
456456
}
457457
}
@@ -1451,7 +1451,7 @@ mod test {
14511451
Variant::ShortString(ShortString::try_new("norm").unwrap()),
14521452
];
14531453

1454-
let variant_array = VariantArray::from_iter(v.into_iter());
1454+
let variant_array = VariantArray::from_iter(v);
14551455

14561456
assert_eq!(variant_array.len(), 3);
14571457

parquet-variant-compute/src/variant_array_builder.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,12 @@ impl VariantArrayBuilder {
173173
}
174174
}
175175

176+
impl<'m, 'v> Extend<Variant<'m, 'v>> for VariantArrayBuilder {
177+
fn extend<T: IntoIterator<Item = Variant<'m, 'v>>>(&mut self, iter: T) {
178+
iter.into_iter().for_each(|v| self.append_variant(v));
179+
}
180+
}
181+
176182
impl<'m, 'v> Extend<Option<Variant<'m, 'v>>> for VariantArrayBuilder {
177183
fn extend<T: IntoIterator<Item = Option<Variant<'m, 'v>>>>(&mut self, iter: T) {
178184
for v in iter {

0 commit comments

Comments
 (0)