RussellSpitzer commented on a change in pull request #3039:
URL: https://github.com/apache/iceberg/pull/3039#discussion_r765227536
##########
File path: core/src/main/java/org/apache/iceberg/util/SnapshotUtil.java
##########
@@ -101,6 +101,53 @@ public static Snapshot oldestAncestor(Table table) {
return ancestorsOf(start, lookup);
}
+ /**
+ * Traverses the history of the table's current snapshot
+ * and finds the oldest ancestor snapshot after or equal to the timestamp in
milliseconds.
+ *
+ * @param table a table
+ * @param timestampMillis a timestamp in milliseconds
+ * @return the first snapshot from the given timestamp, or null if the
current snapshot is older than the timestamp
+ * @throws IllegalStateException if the first snapshot from the given time
can't be determined
+ */
+ public static Snapshot oldestAncestorFrom(Table table, Long timestampMillis)
{
+ Snapshot currentSnapshot = table.currentSnapshot();
+ long timestamp = timestampMillis == null ? -1L : timestampMillis;
+ // If no snapshot exists or timestamp is higher than the current snapshot
Review comment:
"or target timestamp is more recent than the current snapshot" - As we
discussed I am not very good at remembering which direction is older with
timestamps :)
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]