Skip to content

Commit 368c1e6

Browse files
committed
Add precision+scale for decimal builders
1 parent 39b3233 commit 368c1e6

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

arrow-array/src/builder/mod.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -514,8 +514,16 @@ pub fn new_empty_builder(data_type: &DataType, capacity: usize) -> Box<dyn Array
514514
DataType::Struct(_fields) => todo!(),
515515
DataType::Union(_union_fields, _union_mode) => todo!(),
516516
DataType::Dictionary(_data_type, _data_type1) => todo!(),
517-
DataType::Decimal128(_, _) => Box::new(Decimal128Builder::with_capacity(capacity)) as _,
518-
DataType::Decimal256(_, _) => Box::new(Decimal256Builder::with_capacity(capacity)) as _,
517+
DataType::Decimal128(precision, scale) => Box::new(
518+
Decimal128Builder::with_capacity(capacity)
519+
.with_precision_and_scale(*precision, *scale)
520+
.expect("Invalid precision / scale for Decimal128"),
521+
) as _,
522+
DataType::Decimal256(precision, scale) => Box::new(
523+
Decimal256Builder::with_capacity(capacity)
524+
.with_precision_and_scale(*precision, *scale)
525+
.expect("Invalid precision / scale for Decimal256"),
526+
) as _,
519527
DataType::Map(_field, _) => todo!(),
520528
DataType::RunEndEncoded(_field, _field1) => todo!(),
521529
dt => panic!("Unexpected data type {dt:?}"),

0 commit comments

Comments
 (0)