liujiwen-up opened a new pull request, #430:
URL: https://github.com/apache/paimon-rust/pull/430

   ### Purpose
   
   DataFusion filter pushdown currently cannot translate temporal literal 
`ScalarValue`s into Paimon `Datum`s, so predicates on Paimon `TIME`, 
`TIMESTAMP`, and `TIMESTAMP WITH LOCAL TIME ZONE` columns fall open 
unnecessarily.
   
   ### Changes
   
   - Translate `ScalarValue::Time32Millisecond` into `Datum::Time` for Paimon 
`Time` fields.
   - Translate timezone-free `TimestampSecond` / `TimestampMillisecond` / 
`TimestampMicrosecond` / `TimestampNanosecond` into `Datum::Timestamp`.
   - Translate timezone-bearing timestamp scalar values into 
`Datum::LocalZonedTimestamp`.
   - Use `div_euclid` / `rem_euclid` for sub-millisecond timestamp parts so 
negative timestamps before 1970 split correctly.
   - Keep timezone semantic mismatches unsupported so DataFusion residual 
filters continue to preserve correctness.
   
   ### Tests
   
   - `cargo test -p paimon-datafusion filter_pushdown`
   - `cargo test -p paimon-datafusion` was also run locally; all new 
`filter_pushdown` tests passed, but the full package run hit existing 
fixture-dependent failures for missing `default.partitioned_log_table` / 
`default.multi_partitioned_log_table` in `table::tests::*scan*` tests.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to