bujjibabukatta opened a new pull request, #17895: URL: https://github.com/apache/iceberg/pull/17895
Summary: Lets Iceberg's year, month, day, and hour partition transforms work directly on a UUID column. If that column holds UUIDv7 values, the transform pulls out the timestamp already embedded in the UUID and buckets it just like a real TIMESTAMP column would. One ID column can now support both point lookups and time-range pruning — no second timestamp column needed. Addresses #17892. Root Cause: UUIDv7 IDs already contain a creation timestamp in their first 48 bits, but Iceberg's time transforms only accept DATE, TIMESTAMP, and TIMESTAMP_NANO as input. There's no path from a UUID column into those transforms, so that timestamp goes unused for partitioning. Fix: Added UUIDv7Timestamps.java — extracts the millisecond timestamp from a UUID and converts it to year/month/day/hour. Updated TimeTransform.java to accept UUID as a valid source type. Updated Years, Months, Days, Hours to route UUID columns to the new logic. -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
