JingsongLi opened a new pull request, #10524: URL: https://github.com/apache/paimon/pull/10524
## What does this PR do? Align PyPaimon's existing executable temporal schema changes with Java and validate the same operations through Native reads: - TIMESTAMP ↔ TIMESTAMP_LTZ applies the process local zone, including Java's gap/overlap resolution. - TIMESTAMP/TIMESTAMP_LTZ → DATE/TIME uses Java date/time arithmetic. - DATE → TIMESTAMP_LTZ uses local midnight. - BIGINT → TIMESTAMP_LTZ uses epoch seconds and Java signed millisecond overflow. - Cross-kind casts apply declared precision after zone conversion and preserve supported submillisecond values. The existing Python path accepted these schema changes, but generic Arrow casts did not implement Java's local-zone semantics. Under Asia/Shanghai, LTZ epoch 0 must become ordinary TIMESTAMP 08:00:00; the opposite conversion must produce -28800000 LTZ milliseconds. Shared integer calendar and timezone helpers avoid duplicate behavior with temporal string rendering. Python bindings remain unchanged; Native execution uses the Rust core conversion executor. ## Dependency Depends on https://github.com/apache/paimon-rust/pull/1117. The Native CI job continues building upstream Rust `main`; this PR is draft until the Rust change is merged. ## How was this tested? - Java golden output regressions for NULLs, slices, ChunkedArray, negative/wide timestamps, declared precision and DST transitions. - REST Native tests for append, PK and data-evolution tables, old/new Parquet files, predicates, nested ROW/ARRAY/MAP leaves, selected MAP values and mixed wide/NULL batches. - 124 focused Python casting/string tests. - 222 existing/new Native schema-evolution regressions with PLAN/READ/WRITE/COMMIT enabled under UTC. - New Native temporal tests also exercised under America/New_York and Asia/Shanghai. - Changed Python files pass Flake8 and Python 3.6 grammar checks. - Final new Native suite: 31 cases passed in each of UTC, America/New_York and Asia/Shanghai (73 native plans/reads, 49 native writes/commits per process). - Independent core/Python reviews completed; the discovered UTC-output library-boundary issue was fixed and revalidated against Java. -- 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]
