Fokko commented on code in PR #1772:
URL: https://github.com/apache/iceberg-python/pull/1772#discussion_r2050541351


##########
pyiceberg/table/update/snapshot.py:
##########
@@ -279,6 +296,30 @@ def _commit(self) -> UpdatesAndRequirements:
             
(AssertRefSnapshotId(snapshot_id=self._transaction.table_metadata.current_snapshot_id,
 ref="main"),),
         )
 
+    def _validate(self, starting_snapshot: Snapshot, current_snapshot: 
Snapshot) -> None:
+        # Define allowed operations for each type of operation
+        allowed_operations = {
+            Operation.APPEND: {Operation.APPEND, Operation.REPLACE, 
Operation.OVERWRITE, Operation.DELETE},
+            Operation.REPLACE: {Operation.APPEND},

Review Comment:
   Thanks @sungwy for jumping in here, and creating the issues 🙌 
   
   Indeed, depending on whether we do snapshot or serializable isolation, we 
should allow for new data (or not). Would you be willing to split out the 
different levels in a separate PR? It would be nice to get this in so we can 
start working independently on the subtasks that you created.
   
   I think this one was mostly blocked on 
https://github.com/apache/iceberg-python/pull/1903



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