diff --git a/parquet/src/record/api.rs b/parquet/src/record/api.rs index dc8cb52ee65c..0f84fe60854b 100644 --- a/parquet/src/record/api.rs +++ b/parquet/src/record/api.rs @@ -671,6 +671,7 @@ impl Field { ConvertedType::UINT_16 => Field::UShort(value as u16), ConvertedType::UINT_32 => Field::UInt(value as u32), ConvertedType::DATE => Field::Date(value), + ConvertedType::TIME_MILLIS => Field::TimestampMillis(value as i64), ConvertedType::DECIMAL => Field::Decimal(Decimal::from_i32( value, descr.type_precision(), @@ -1054,6 +1055,10 @@ mod tests { let row = Field::convert_int32(&descr, 14611); assert_eq!(row, Field::Date(14611)); + let descr = make_column_descr![PhysicalType::INT32, ConvertedType::TIME_MILLIS]; + let row = Field::convert_int32(&descr, 14611); + assert_eq!(row, Field::TimestampMillis(14611)); + let descr = make_column_descr![PhysicalType::INT32, ConvertedType::DECIMAL, 0, 8, 2]; let row = Field::convert_int32(&descr, 444); assert_eq!(row, Field::Decimal(Decimal::from_i32(444, 8, 2)));