rdblue commented on code in PR #10755:
URL: https://github.com/apache/iceberg/pull/10755#discussion_r1892730070


##########
core/src/main/java/org/apache/iceberg/TableMetadata.java:
##########
@@ -1102,6 +1121,22 @@ public Builder setDefaultPartitionSpec(int specId) {
       return this;
     }
 
+    private Builder removePartitionSpec(PartitionSpec spec) {
+      Preconditions.checkArgument(
+          changes.isEmpty(), "Cannot remove partition spec with other metadata 
update");
+      Preconditions.checkArgument(
+          spec.specId() != defaultSpecId, "Cannot remove default partition 
spec");
+      PartitionSpec toBeRemoved = specsById.remove(spec.specId());
+      Preconditions.checkArgument(
+          toBeRemoved != null && toBeRemoved.equals(spec),
+          "Cannot remove an unknown spec, spec id: %s",
+          spec.specId());
+      this.specs =

Review Comment:
   In that case, is it really necessary to validate that a spec was removed and 
filter the list? If it is a noop to remove an unknown spec ID, then we can 
simplify the first half of this method:
   
   ```java
       Preconditions.checkArgument(!specIds.contains(defaultSpecId), "Cannot 
remove the default partition spec");
   ```



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