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]

Reply via email to