From a87ae9dafc3f7c64c488226397a8402729284920 Mon Sep 17 00:00:00 2001 From: taichong Date: Tue, 21 Feb 2023 21:13:39 +0800 Subject: [PATCH] feat(parquet): add support decimal256 read/write in parquet --- src/io/parquet/write/schema.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/io/parquet/write/schema.rs b/src/io/parquet/write/schema.rs index ee60e98ac13..cdadc74725c 100644 --- a/src/io/parquet/write/schema.rs +++ b/src/io/parquet/write/schema.rs @@ -295,6 +295,20 @@ pub fn to_parquet_type(field: &Field) -> Result { None, )?) } + DataType::Decimal256(precision, scale) => { + let precision = *precision; + let scale = *scale; + let logical_type = Some(PrimitiveLogicalType::Decimal(precision, scale)); + + Ok(ParquetType::try_from_primitive( + name, + PhysicalType::FixedLenByteArray(16), + repetition, + None, + logical_type, + None, + )?) + } DataType::Interval(_) => Ok(ParquetType::try_from_primitive( name, PhysicalType::FixedLenByteArray(12),