RussellSpitzer commented on code in PR #6163:
URL: https://github.com/apache/iceberg/pull/6163#discussion_r1018464405


##########
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.
    *
-   * @param table a table with one or many specs
+   * @param specs one or many specs
    * @return the constructed common partition type
    */
+  public static StructType commonPartitionType(Collection<PartitionSpec> 
specs) {
+    return buildPartitionType(specs, true /* only common fields */);
+  }
+
+  /**
+   * Builds a unified partition type considering all specs in a table.
+   *
+   * <p>Whenever a table has multiple specs, the partition type is a struct 
containing all fields
+   * that have ever been a part of any spec in the table. In other words, the 
struct fields
+   * represent a union of all known partition fields.
+   *
+   * @param table a table with one or many specs
+   * @return the constructed unified partition type
+   */
   public static StructType partitionType(Table table) {
+    return buildPartitionType(table.specs().values(), false /* only common 
fields */);

Review Comment:
   The comment here is a little confusing, don't we mean `false /* keeps all 
fields */`, or are you commenting on the parameter ?



-- 
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

Reply via email to