lilei1128 opened a new issue, #8801: URL: https://github.com/apache/paimon/issues/8801
### Search before asking - [x] I searched in the [issues](https://github.com/apache/paimon/issues) and found nothing similar. ### Paimon version paimon 1.4 ### Compute Engine spark 3.3.4 ### Minimal reproduce step 1. Flink write with op_ts TimestampWLZ type(Microsecond) ``` Flink SQL> select * from tab_sync_opts_timestamp_1; +----+------+-----+---------------------+-------------------------+ | id | name | age | modify_time | op_ts | +----+------+-----+---------------------+-------------------------+ | 7 | a | 131 | 2026-07-21 06:05:02 | 2026-07-21 20:44:10.000 | +----+------+-----+---------------------+-------------------------+ 1 row in set (3.13 seconds) ``` 2. spark read with Timestamp (Milliseconds) ``` spark-sql> select * from tab_sync_opts_timestamp_1; 7 a 131 2026-07-21 06:05:02 2026-07-21 12:44:10 Time taken: 0.041 seconds, Fetched 1 row(s) // Equivalent query without output spark-sql> select * from tab_sync_opts_timestamp_1 where op_ts = '2026-07-21 12:44:10' ; Time taken: 0.027 seconds ``` ### What doesn't meet your expectations? Timestamp predicates are converted using the current Paimon field precision without validating the logical timestamp type in the actual Parquet file. Both TIMESTAMP_MILLIS and TIMESTAMP_MICROS use the Parquet INT64 physical type, but their values use different units. Pushing a millisecond predicate into a microsecond file can therefore filter out matching rows and produce incorrect query results. Parquet predicate pushdown should be skipped when the file timestamp unit or the adjustedToUTC flag does not match the current Paimon field type. After validating the Parquet timestamp logical type and disabling incompatible pushdown, the results are correct: >= returns the row = returns the row > returns no rows < returns no rows ### Anything else? No ### Are you willing to submit a PR? - [x] I'm willing to submit a PR! -- 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]
