You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@iceberg.apache.org by GitBox <gi...@apache.org> on 2023/01/19 15:27:26 UTC

[GitHub] [iceberg] gaborkaszab commented on a diff in pull request #6074: API,Core: SnapshotManager to be created through Transaction

gaborkaszab commented on code in PR #6074:
URL: https://github.com/apache/iceberg/pull/6074#discussion_r1081433895


##########
core/src/main/java/org/apache/iceberg/CommitCallbackTransaction.java:
##########
@@ -111,6 +111,12 @@ public ExpireSnapshots expireSnapshots() {
     return wrapped.expireSnapshots();
   }
 
+  @Override
+  public ManageSnapshots manageSnapshots() {
+    throw new UnsupportedOperationException(

Review Comment:
   Good point. Done



##########
api/src/main/java/org/apache/iceberg/Transaction.java:
##########
@@ -155,6 +155,13 @@ default UpdateStatistics updateStatistics() {
    */
   ExpireSnapshots expireSnapshots();
 
+  /**
+   * Create a new {@link ManageSnapshots manage snapshot API} to manage snapshots in this table.
+   *
+   * @return a new {@link ManageSnapshots}
+   */
+  ManageSnapshots manageSnapshots();

Review Comment:
   Done. Just for my understanding, this is only to trick revapi but there is not other point, right?



##########
core/src/main/java/org/apache/iceberg/SnapshotManager.java:
##########
@@ -30,6 +31,13 @@ public class SnapshotManager implements ManageSnapshots {
         ops.current() != null, "Cannot manage snapshots: table %s does not exist", tableName);
     this.transaction =
         new BaseTransaction(tableName, ops, BaseTransaction.TransactionType.SIMPLE, ops.refresh());
+    this.isExternalTransaction = false;
+  }
+
+  SnapshotManager(BaseTransaction transaction) {
+    Preconditions.checkNotNull(transaction, "Input transaction cannot be null");

Review Comment:
   Sure, done



-- 
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-unsubscribe@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org