jackylee-ch opened a new pull request, #9810:
URL: https://github.com/apache/paimon/pull/9810

   ### Purpose
   
   For `TIMESTAMP(7..9)`, `toTimestampLiteral` computes `ts.getMillisecond() * 
1_000_000 + ts.getNanoOfMillisecond()`. A `TIMESTAMP` reaches year 9999, so a 
literal outside roughly `[1677-09-21, 2262-04-11]` overflows int64: `9999-12-31 
00:00:00`, a common open upper bound, becomes `-4852202631933722624` ns — year 
1816.
   
   A wrapped bound turns `>`/`>=` into a superset the post-scan filter repairs, 
so only `<`, `<=` and `=` silently lose rows — hence unnoticed.
   
   #9675 added the grain checks just above; this extends the same 
refuse-to-push contract to representability, returning `null` so the caller 
drops the leaf.
   
   ### Tests
   
   
`VortexPredicateConverterTest#testTimestampNanosOverflowingLiteralNotPushed`. 
Reverting the fix:
   
   ```
   expected: <null> but was: <dev.vortex.api.Expression@69c93ca4>
   ```
   
   Written with Claude Code; verification is mine.
   


-- 
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