stevenzwu commented on code in PR #5984: URL: https://github.com/apache/iceberg/pull/5984#discussion_r1008784212
########## api/src/main/java/org/apache/iceberg/IncrementalScan.java: ########## @@ -21,6 +21,23 @@ /** API for configuring an incremental scan. */ public interface IncrementalScan<ThisT, T extends ScanTask, G extends ScanTaskGroup<T>> extends Scan<ThisT, T, G> { + + /** + * Instructs this scan to look for changes starting from a particular snapshot (inclusive). + * + * <p>If the start snapshot is not configured, it is defaulted to the oldest ancestor of the end + * snapshot (inclusive). + * + * @param fromSnapshotId the start snapshot ID (inclusive) + * @param referenceName the ref used + * @return this for method chaining + * @throws IllegalArgumentException if the start snapshot is not an ancestor of the end snapshot + */ + default ThisT fromSnapshotInclusive(long fromSnapshotId, String referenceName) { Review Comment: Following along @nastra 's suggestion, we can have overload methods via argument type (id vs reference). Id (long) or reference (string) are just different ways to specify the snapshot. it is good that current methods are called `fromSnapshot`. reference can be branch or tag like @nastra suggested. ``` ThisT fromSnapshotInclusive(long fromSnapshotId); ThisT fromSnapshotInclusive(String fromSnapshotRef); ``` ########## api/src/main/java/org/apache/iceberg/IncrementalScan.java: ########## @@ -21,6 +21,23 @@ /** API for configuring an incremental scan. */ public interface IncrementalScan<ThisT, T extends ScanTask, G extends ScanTaskGroup<T>> extends Scan<ThisT, T, G> { + + /** + * Instructs this scan to look for changes starting from a particular snapshot (inclusive). + * + * <p>If the start snapshot is not configured, it is defaulted to the oldest ancestor of the end + * snapshot (inclusive). + * + * @param fromSnapshotId the start snapshot ID (inclusive) + * @param referenceName the ref used + * @return this for method chaining + * @throws IllegalArgumentException if the start snapshot is not an ancestor of the end snapshot + */ + default ThisT fromSnapshotInclusive(long fromSnapshotId, String referenceName) { Review Comment: `fromSnapshot` can't be a branch name. it probably has to be a tag or id. `toSnapshot` can be a branch which indicates the latest snapshot of the branch. -- 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