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]
