From 337a4ffc60f856b7180bf62924ea38ea474c1cf4 Mon Sep 17 00:00:00 2001 From: Aykut Bozkurt Date: Tue, 13 Aug 2024 01:52:36 +0300 Subject: [PATCH] check if time is adjusted to utc from metadata --- parquet/src/arrow/schema/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/parquet/src/arrow/schema/mod.rs b/parquet/src/arrow/schema/mod.rs index 8c583eebac5b..09015ccd725c 100644 --- a/parquet/src/arrow/schema/mod.rs +++ b/parquet/src/arrow/schema/mod.rs @@ -427,7 +427,7 @@ fn arrow_to_parquet_type(field: &Field) -> Result { } DataType::Time32(unit) => Type::primitive_type_builder(name, PhysicalType::INT32) .with_logical_type(Some(LogicalType::Time { - is_adjusted_to_u_t_c: false, + is_adjusted_to_u_t_c: field.metadata().contains_key("adjusted_to_utc"), unit: match unit { TimeUnit::Millisecond => ParquetTimeUnit::MILLIS(Default::default()), u => unreachable!("Invalid unit for Time32: {:?}", u), @@ -438,7 +438,7 @@ fn arrow_to_parquet_type(field: &Field) -> Result { .build(), DataType::Time64(unit) => Type::primitive_type_builder(name, PhysicalType::INT64) .with_logical_type(Some(LogicalType::Time { - is_adjusted_to_u_t_c: false, + is_adjusted_to_u_t_c: field.metadata().contains_key("adjusted_to_utc"), unit: match unit { TimeUnit::Microsecond => ParquetTimeUnit::MICROS(Default::default()), TimeUnit::Nanosecond => ParquetTimeUnit::NANOS(Default::default()),