This is an automated email from the ASF dual-hosted git repository.

alamb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git


The following commit(s) were added to refs/heads/main by this push:
     new d6a2351573 Fix record API support for reading INT32 encoded 
TIME_MILLIS (#7511)
d6a2351573 is described below

commit d6a235157347110cf56c81da065418e004c5071d
Author: Nathan Jaremko <[email protected]>
AuthorDate: Tue May 20 09:55:27 2025 -0400

    Fix record API support for reading INT32 encoded TIME_MILLIS (#7511)
    
    * Add support for records with int32 encoding of TIME_MILLIS
    
    * Add test
    
    ---------
    
    Co-authored-by: Andrew Lamb <[email protected]>
---
 parquet/src/record/api.rs | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/parquet/src/record/api.rs b/parquet/src/record/api.rs
index dc8cb52ee6..0f84fe6085 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)));

Reply via email to