QuakeWang opened a new pull request, #21: URL: https://github.com/apache/paimon-mosaic/pull/21
## Problem Mosaic exposes TIMESTAMP precision > 6 as a legacy Arrow Struct (`millis`, `nanos_of_milli`) instead of standard Arrow timestamp(ns). This leaks the internal 12-byte storage representation into the Arrow API and loses timezone metadata for TIMESTAMP_LTZ precision > 6. ## Fix Keep the Mosaic file format unchanged, but expose high-precision timestamps through standard Arrow timestamp(ns): - Deserialize precision > 6 timestamps as `Timestamp(Nanosecond, timezone)`. - Read and write `TimestampNanosecondArray` using the existing `millis + nanos_of_milli` storage encoding. - Preserve TIMESTAMP_LTZ timezone metadata. - Keep legacy Struct input compatibility with validation. - Add Rust, Python, C++, and Java timestamp(ns) roundtrip coverage. Precision 7/8 is normalized to Arrow timestamp(ns), since Arrow does not preserve decimal timestamp precision separately. -- 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]
