Skip to content

Commit 1722f43

Browse files
Bulk insert Variants
1 parent e22e550 commit 1722f43

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

parquet-variant-compute/src/variant_array.rs

Lines changed: 1 addition & 1 deletion
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
}

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)