RussellSpitzer commented on code in PR #6163: URL: https://github.com/apache/iceberg/pull/6163#discussion_r1018492377
########## core/src/main/java/org/apache/iceberg/Partitioning.java: ########## @@ -195,41 +198,68 @@ public Void alwaysNull(int fieldId, String sourceName, int sourceId) { } /** - * Builds a common partition type for all specs in a table. + * Builds an intersection of all partition types in a table. * - * <p>Whenever a table has multiple specs, the partition type is a struct containing all columns - * that have ever been a part of any spec in the table. + * <p>Whenever a table has multiple specs, the common partition type is a struct containing only + * fields that are present in every spec of the table. In other words, the struct fields represent + * an intersection of all partition types. Review Comment: Looking below the behavior is Common(2 specs with something in common) Struct of common fields Common( two specs with nothing in common ) Exception Common( 1 spec) " Return passed in Spec Common(0 specs) return empty spec I think we probably should just return the empty spec for the validation failure mode -- 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