skyyyy955 opened a new pull request, #10862:
URL: https://github.com/apache/paimon/pull/10862

   ### Purpose
   
   ROW writes convert datetimes through floating-point seconds, which can 
change microseconds for dates far from the epoch. For example, `2400-01-01 
00:00:00.000001` is written one microsecond late. Zoned LTZ values also use an 
epoch in the input timezone, preserving wall-clock fields instead of the UTC 
instant.
   
   Calculate microseconds from integer timedelta components and normalize aware 
LTZ values to UTC. Ordinary TIMESTAMP values retain wall-clock semantics. The 
ROW layout and integer input branches remain unchanged; this affects new writes 
and does not repair previously encoded values.
   
   Add regression cases for distant dates, negative timestamps, named timezones 
and DST, both LTZ spellings, precision, nulls and nested values. Use Arrow 
6-compatible timezone inputs and an equivalent sorting assertion so the 
complete test module runs on Python 3.6.
   
   ### Tests
   
   - Complete reader/writer module on Windows/Python 3.10 and Linux/Python 3.6, 
3.7 and 3.10: 67 passed per environment. The test-only change fails 18 
timestamp cases against the original writer in each environment.
   - Six adjacent table, filesystem and scan test files: Windows 162 passed; 
Linux 161 passed and one Windows-only test skipped.
   - Linux table probe: 20 tables, 40 commits and catalog reopen/read checks, 
including append, primary-key and data-evolution tables.
   - Fresh JDK 8 reactor build: 28 Java ROW tests passed with normal Maven 
checks. Java read 17 Python ROW files; Python read 18 Java ROW files, including 
submicrosecond values.
   - Flake8, changed-file license headers, Python 3.6 syntax and `git diff 
--check` passed.
   
   These are local results on `f59549f44a0a2849f96d495691dcfaa0154b1290`. Full 
project CI, Python 3.11–3.13, Arrow 16/20–22, native engines and external 
storage were not run for this candidate.
   


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