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]
