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]

Reply via email to