jacobmarble commented on code in PR #8971: URL: https://github.com/apache/iceberg/pull/8971#discussion_r1382167692
########## api/src/main/java/org/apache/iceberg/transforms/Transforms.java: ########## @@ -129,10 +131,14 @@ public static <T> Transform<T, Integer> year(Type type) { case DATE: return (Transform<T, Integer>) Dates.YEAR; case TIMESTAMP: - return (Transform<T, Integer>) Timestamps.YEAR; - default: - throw new IllegalArgumentException("Cannot partition type " + type + " by year"); + switch (((TimestampType) type).unit()) { + case MICROS: + return (Transform<T, Integer>) Timestamps.YEAR_FROM_MICROS; + case NANOS: + return (Transform<T, Integer>) Timestamps.YEAR_FROM_NANOS; + } } + throw new IllegalArgumentException("Cannot partition type " + type + " by year"); Review Comment: I agree. Fixed in 74b90d9a5 As I fixed this, I noticed that exceptions thrown for "unsupported timestamp unit" were inconsistent, so I cleaned that up in e0f6d3b1f -- 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: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org