<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>SnapshotUtil</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="SnapshotUtil";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.iceberg.util</a></div>
<h2 title="Class SnapshotUtil" class="title">Class SnapshotUtil</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.iceberg.util.SnapshotUtil</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">SnapshotUtil</span>
extends java.lang.Object</pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static java.util.List&lt;java.lang.Long&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ancestorIds(org.apache.iceberg.Snapshot,java.util.function.Function)">ancestorIds</a></span>&#8203;(<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;snapshot,
           java.util.function.Function&lt;java.lang.Long,&#8203;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;&nbsp;lookup)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static java.lang.Iterable&lt;java.lang.Long&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ancestorIdsBetween(long,java.lang.Long,java.util.function.Function)">ancestorIdsBetween</a></span>&#8203;(long&nbsp;latestSnapshotId,
                  java.lang.Long&nbsp;oldestSnapshotId,
                  java.util.function.Function&lt;java.lang.Long,&#8203;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;&nbsp;lookup)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static java.lang.Iterable&lt;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ancestorsBetween(long,java.lang.Long,java.util.function.Function)">ancestorsBetween</a></span>&#8203;(long&nbsp;latestSnapshotId,
                java.lang.Long&nbsp;oldestSnapshotId,
                java.util.function.Function&lt;java.lang.Long,&#8203;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;&nbsp;lookup)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static java.lang.Iterable&lt;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ancestorsBetween(org.apache.iceberg.Table,long,java.lang.Long)">ancestorsBetween</a></span>&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                long&nbsp;latestSnapshotId,
                java.lang.Long&nbsp;oldestSnapshotId)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static java.lang.Iterable&lt;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ancestorsOf(long,java.util.function.Function)">ancestorsOf</a></span>&#8203;(long&nbsp;snapshotId,
           java.util.function.Function&lt;java.lang.Long,&#8203;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;&nbsp;lookup)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static java.util.List&lt;java.lang.Long&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#currentAncestorIds(org.apache.iceberg.Table)">currentAncestorIds</a></span>&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</code></th>
<td class="colLast">
<div class="block">Return the snapshot IDs for the ancestors of the current table state.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static java.lang.Iterable&lt;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#currentAncestors(org.apache.iceberg.Table)">currentAncestors</a></span>&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</code></th>
<td class="colLast">
<div class="block">Returns an iterable that traverses the table's snapshots from the current to the last known
 ancestor.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isAncestorOf(long,long,java.util.function.Function)">isAncestorOf</a></span>&#8203;(long&nbsp;snapshotId,
            long&nbsp;ancestorSnapshotId,
            java.util.function.Function&lt;java.lang.Long,&#8203;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;&nbsp;lookup)</code></th>
<td class="colLast">
<div class="block">Returns whether ancestorSnapshotId is an ancestor of snapshotId using the given lookup
 function.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isAncestorOf(org.apache.iceberg.Table,long)">isAncestorOf</a></span>&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
            long&nbsp;ancestorSnapshotId)</code></th>
<td class="colLast">
<div class="block">Returns whether ancestorSnapshotId is an ancestor of the table's current state.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isAncestorOf(org.apache.iceberg.Table,long,long)">isAncestorOf</a></span>&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
            long&nbsp;snapshotId,
            long&nbsp;ancestorSnapshotId)</code></th>
<td class="colLast">
<div class="block">Returns whether ancestorSnapshotId is an ancestor of snapshotId.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isParentAncestorOf(org.apache.iceberg.Table,long,long)">isParentAncestorOf</a></span>&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                  long&nbsp;snapshotId,
                  long&nbsp;ancestorParentSnapshotId)</code></th>
<td class="colLast">
<div class="block">Returns whether some ancestor of snapshotId has parentId matches ancestorParentSnapshotId</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static <a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#latestSnapshot(org.apache.iceberg.TableMetadata,java.lang.String)">latestSnapshot</a></span>&#8203;(<a href="../TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;metadata,
              java.lang.String&nbsp;branch)</code></th>
<td class="colLast">
<div class="block">Fetch the snapshot at the head of the given branch in the given table.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>static <a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#latestSnapshot(org.apache.iceberg.Table,java.lang.String)">latestSnapshot</a></span>&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
              java.lang.String&nbsp;branch)</code></th>
<td class="colLast">
<div class="block">Fetch the snapshot at the head of the given branch in the given table.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newFiles(java.lang.Long,long,java.util.function.Function,org.apache.iceberg.io.FileIO)">newFiles</a></span>&#8203;(java.lang.Long&nbsp;baseSnapshotId,
        long&nbsp;latestSnapshotId,
        java.util.function.Function&lt;java.lang.Long,&#8203;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;&nbsp;lookup,
        <a href="../io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a>&nbsp;io)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static java.lang.Long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nullableSnapshotIdAsOfTime(org.apache.iceberg.Table,long)">nullableSnapshotIdAsOfTime</a></span>&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                          long&nbsp;timestampMillis)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>static <a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#oldestAncestor(org.apache.iceberg.Table)">oldestAncestor</a></span>&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</code></th>
<td class="colLast">
<div class="block">Traverses the history of the table's current snapshot and finds the oldest Snapshot.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>static <a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#oldestAncestorAfter(org.apache.iceberg.Table,long)">oldestAncestorAfter</a></span>&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                   long&nbsp;timestampMillis)</code></th>
<td class="colLast">
<div class="block">Traverses the history of the table's current snapshot, finds the oldest snapshot that was
 committed either at or after a given time.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>static <a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#oldestAncestorOf(long,java.util.function.Function)">oldestAncestorOf</a></span>&#8203;(long&nbsp;snapshotId,
                java.util.function.Function&lt;java.lang.Long,&#8203;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;&nbsp;lookup)</code></th>
<td class="colLast">
<div class="block">Traverses the history and finds the oldest ancestor of the specified snapshot.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>static <a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#oldestAncestorOf(org.apache.iceberg.Table,long)">oldestAncestorOf</a></span>&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                long&nbsp;snapshotId)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>static <a href="../Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#schemaFor(org.apache.iceberg.TableMetadata,java.lang.String)">schemaFor</a></span>&#8203;(<a href="../TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;metadata,
         java.lang.String&nbsp;branch)</code></th>
<td class="colLast">
<div class="block">Return the schema of the snapshot at a given branch.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>static <a href="../Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#schemaFor(org.apache.iceberg.Table,long)">schemaFor</a></span>&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
         long&nbsp;snapshotId)</code></th>
<td class="colLast">
<div class="block">Returns the schema of the table for the specified snapshot.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>static <a href="../Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#schemaFor(org.apache.iceberg.Table,java.lang.Long,java.lang.Long)">schemaFor</a></span>&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
         java.lang.Long&nbsp;snapshotId,
         java.lang.Long&nbsp;timestampMillis)</code></th>
<td class="colLast">
<div class="block">Convenience method for returning the schema of the table for a snapshot, when we have a
 snapshot id or a timestamp.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>static <a href="../Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#schemaFor(org.apache.iceberg.Table,java.lang.String)">schemaFor</a></span>&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
         java.lang.String&nbsp;branch)</code></th>
<td class="colLast">
<div class="block">Return the schema of the snapshot at a given branch.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>static <a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#snapshotAfter(org.apache.iceberg.Table,long)">snapshotAfter</a></span>&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
             long&nbsp;snapshotId)</code></th>
<td class="colLast">
<div class="block">Traverses the history of the table's current snapshot and finds the snapshot with the given
 snapshot id as its parent.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>static long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#snapshotIdAsOfTime(org.apache.iceberg.Table,long)">snapshotIdAsOfTime</a></span>&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                  long&nbsp;timestampMillis)</code></th>
<td class="colLast">
<div class="block">Returns the ID of the most recent snapshot for the table as of the timestamp.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>static java.util.List&lt;java.lang.Long&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#snapshotIdsBetween(org.apache.iceberg.Table,long,long)">snapshotIdsBetween</a></span>&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                  long&nbsp;fromSnapshotId,
                  long&nbsp;toSnapshotId)</code></th>
<td class="colLast">
<div class="block">Returns list of snapshot ids in the range - (fromSnapshotId, toSnapshotId]</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="isAncestorOf(org.apache.iceberg.Table,long,long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAncestorOf</h4>
<pre class="methodSignature">public static&nbsp;boolean&nbsp;isAncestorOf&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                                   long&nbsp;snapshotId,
                                   long&nbsp;ancestorSnapshotId)</pre>
<div class="block">Returns whether ancestorSnapshotId is an ancestor of snapshotId.</div>
</li>
</ul>
<a id="isAncestorOf(long,long,java.util.function.Function)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAncestorOf</h4>
<pre class="methodSignature">public static&nbsp;boolean&nbsp;isAncestorOf&#8203;(long&nbsp;snapshotId,
                                   long&nbsp;ancestorSnapshotId,
                                   java.util.function.Function&lt;java.lang.Long,&#8203;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;&nbsp;lookup)</pre>
<div class="block">Returns whether ancestorSnapshotId is an ancestor of snapshotId using the given lookup
 function.</div>
</li>
</ul>
<a id="isAncestorOf(org.apache.iceberg.Table,long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAncestorOf</h4>
<pre class="methodSignature">public static&nbsp;boolean&nbsp;isAncestorOf&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                                   long&nbsp;ancestorSnapshotId)</pre>
<div class="block">Returns whether ancestorSnapshotId is an ancestor of the table's current state.</div>
</li>
</ul>
<a id="isParentAncestorOf(org.apache.iceberg.Table,long,long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isParentAncestorOf</h4>
<pre class="methodSignature">public static&nbsp;boolean&nbsp;isParentAncestorOf&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                                         long&nbsp;snapshotId,
                                         long&nbsp;ancestorParentSnapshotId)</pre>
<div class="block">Returns whether some ancestor of snapshotId has parentId matches ancestorParentSnapshotId</div>
</li>
</ul>
<a id="currentAncestors(org.apache.iceberg.Table)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>currentAncestors</h4>
<pre class="methodSignature">public static&nbsp;java.lang.Iterable&lt;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;&nbsp;currentAncestors&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</pre>
<div class="block">Returns an iterable that traverses the table's snapshots from the current to the last known
 ancestor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>table</code> - a Table</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an iterable from the table's current snapshot to its last known ancestor</dd>
</dl>
</li>
</ul>
<a id="currentAncestorIds(org.apache.iceberg.Table)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>currentAncestorIds</h4>
<pre class="methodSignature">public static&nbsp;java.util.List&lt;java.lang.Long&gt;&nbsp;currentAncestorIds&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</pre>
<div class="block">Return the snapshot IDs for the ancestors of the current table state.

 <p>Ancestor IDs are ordered by commit time, descending. The first ID is the current snapshot,
 followed by its parent, and so on.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>table</code> - a <a href="../Table.html" title="interface in org.apache.iceberg"><code>Table</code></a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a set of snapshot IDs of the known ancestor snapshots, including the current ID</dd>
</dl>
</li>
</ul>
<a id="oldestAncestor(org.apache.iceberg.Table)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>oldestAncestor</h4>
<pre class="methodSignature">public static&nbsp;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;oldestAncestor&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</pre>
<div class="block">Traverses the history of the table's current snapshot and finds the oldest Snapshot.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>null if there is no current snapshot in the table, else the oldest Snapshot.</dd>
</dl>
</li>
</ul>
<a id="oldestAncestorOf(org.apache.iceberg.Table,long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>oldestAncestorOf</h4>
<pre class="methodSignature">public static&nbsp;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;oldestAncestorOf&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                                        long&nbsp;snapshotId)</pre>
</li>
</ul>
<a id="oldestAncestorOf(long,java.util.function.Function)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>oldestAncestorOf</h4>
<pre class="methodSignature">public static&nbsp;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;oldestAncestorOf&#8203;(long&nbsp;snapshotId,
                                        java.util.function.Function&lt;java.lang.Long,&#8203;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;&nbsp;lookup)</pre>
<div class="block">Traverses the history and finds the oldest ancestor of the specified snapshot.

 <p>Oldest ancestor is defined as the ancestor snapshot whose parent is null or has been
 expired. If the specified snapshot has no parent or parent has been expired, the specified
 snapshot itself is returned.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>snapshotId</code> - the ID of the snapshot to find the oldest ancestor</dd>
<dd><code>lookup</code> - lookup function from snapshot ID to snapshot</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>null if there is no current snapshot in the table, else the oldest Snapshot.</dd>
</dl>
</li>
</ul>
<a id="ancestorsOf(long,java.util.function.Function)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ancestorsOf</h4>
<pre class="methodSignature">public static&nbsp;java.lang.Iterable&lt;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;&nbsp;ancestorsOf&#8203;(long&nbsp;snapshotId,
                                                       java.util.function.Function&lt;java.lang.Long,&#8203;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;&nbsp;lookup)</pre>
</li>
</ul>
<a id="oldestAncestorAfter(org.apache.iceberg.Table,long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>oldestAncestorAfter</h4>
<pre class="methodSignature">public static&nbsp;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;oldestAncestorAfter&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                                           long&nbsp;timestampMillis)</pre>
<div class="block">Traverses the history of the table's current snapshot, finds the oldest snapshot that was
 committed either at or after a given time.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>table</code> - a table</dd>
<dd><code>timestampMillis</code> - a timestamp in milliseconds</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the first snapshot after the given timestamp, or null if the current snapshot is older
     than the timestamp</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if the first ancestor after the given time can't be determined</dd>
</dl>
</li>
</ul>
<a id="snapshotIdsBetween(org.apache.iceberg.Table,long,long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>snapshotIdsBetween</h4>
<pre class="methodSignature">public static&nbsp;java.util.List&lt;java.lang.Long&gt;&nbsp;snapshotIdsBetween&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                                                                long&nbsp;fromSnapshotId,
                                                                long&nbsp;toSnapshotId)</pre>
<div class="block">Returns list of snapshot ids in the range - (fromSnapshotId, toSnapshotId]

 <p>This method assumes that fromSnapshotId is an ancestor of toSnapshotId.</div>
</li>
</ul>
<a id="ancestorIdsBetween(long,java.lang.Long,java.util.function.Function)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ancestorIdsBetween</h4>
<pre class="methodSignature">public static&nbsp;java.lang.Iterable&lt;java.lang.Long&gt;&nbsp;ancestorIdsBetween&#8203;(long&nbsp;latestSnapshotId,
                                                                    java.lang.Long&nbsp;oldestSnapshotId,
                                                                    java.util.function.Function&lt;java.lang.Long,&#8203;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;&nbsp;lookup)</pre>
</li>
</ul>
<a id="ancestorsBetween(org.apache.iceberg.Table,long,java.lang.Long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ancestorsBetween</h4>
<pre class="methodSignature">public static&nbsp;java.lang.Iterable&lt;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;&nbsp;ancestorsBetween&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                                                            long&nbsp;latestSnapshotId,
                                                            java.lang.Long&nbsp;oldestSnapshotId)</pre>
</li>
</ul>
<a id="ancestorsBetween(long,java.lang.Long,java.util.function.Function)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ancestorsBetween</h4>
<pre class="methodSignature">public static&nbsp;java.lang.Iterable&lt;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;&nbsp;ancestorsBetween&#8203;(long&nbsp;latestSnapshotId,
                                                            java.lang.Long&nbsp;oldestSnapshotId,
                                                            java.util.function.Function&lt;java.lang.Long,&#8203;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;&nbsp;lookup)</pre>
</li>
</ul>
<a id="ancestorIds(org.apache.iceberg.Snapshot,java.util.function.Function)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ancestorIds</h4>
<pre class="methodSignature">public static&nbsp;java.util.List&lt;java.lang.Long&gt;&nbsp;ancestorIds&#8203;(<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;snapshot,
                                                         java.util.function.Function&lt;java.lang.Long,&#8203;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;&nbsp;lookup)</pre>
</li>
</ul>
<a id="newFiles(java.lang.Long,long,java.util.function.Function,org.apache.iceberg.io.FileIO)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newFiles</h4>
<pre class="methodSignature">public static&nbsp;java.util.List&lt;<a href="../DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;newFiles&#8203;(java.lang.Long&nbsp;baseSnapshotId,
                                                long&nbsp;latestSnapshotId,
                                                java.util.function.Function&lt;java.lang.Long,&#8203;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;&nbsp;lookup,
                                                <a href="../io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a>&nbsp;io)</pre>
</li>
</ul>
<a id="snapshotAfter(org.apache.iceberg.Table,long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>snapshotAfter</h4>
<pre class="methodSignature">public static&nbsp;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;snapshotAfter&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                                     long&nbsp;snapshotId)</pre>
<div class="block">Traverses the history of the table's current snapshot and finds the snapshot with the given
 snapshot id as its parent.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the snapshot for which the given snapshot is the parent</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - when the given snapshotId is not found in the table</dd>
<dd><code>java.lang.IllegalStateException</code> - when the given snapshotId is not an ancestor of the current table
     state</dd>
</dl>
</li>
</ul>
<a id="snapshotIdAsOfTime(org.apache.iceberg.Table,long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>snapshotIdAsOfTime</h4>
<pre class="methodSignature">public static&nbsp;long&nbsp;snapshotIdAsOfTime&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                                      long&nbsp;timestampMillis)</pre>
<div class="block">Returns the ID of the most recent snapshot for the table as of the timestamp.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>table</code> - a <a href="../Table.html" title="interface in org.apache.iceberg"><code>Table</code></a></dd>
<dd><code>timestampMillis</code> - the timestamp in millis since the Unix epoch</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the snapshot ID</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - when no snapshot is found in the table older than the
     timestamp</dd>
</dl>
</li>
</ul>
<a id="nullableSnapshotIdAsOfTime(org.apache.iceberg.Table,long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullableSnapshotIdAsOfTime</h4>
<pre class="methodSignature">public static&nbsp;java.lang.Long&nbsp;nullableSnapshotIdAsOfTime&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                                                        long&nbsp;timestampMillis)</pre>
</li>
</ul>
<a id="schemaFor(org.apache.iceberg.Table,long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>schemaFor</h4>
<pre class="methodSignature">public static&nbsp;<a href="../Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schemaFor&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                               long&nbsp;snapshotId)</pre>
<div class="block">Returns the schema of the table for the specified snapshot.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>table</code> - a <a href="../Table.html" title="interface in org.apache.iceberg"><code>Table</code></a></dd>
<dd><code>snapshotId</code> - the ID of the snapshot</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the schema</dd>
</dl>
</li>
</ul>
<a id="schemaFor(org.apache.iceberg.Table,java.lang.Long,java.lang.Long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>schemaFor</h4>
<pre class="methodSignature">public static&nbsp;<a href="../Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schemaFor&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                               java.lang.Long&nbsp;snapshotId,
                               java.lang.Long&nbsp;timestampMillis)</pre>
<div class="block">Convenience method for returning the schema of the table for a snapshot, when we have a
 snapshot id or a timestamp. Only one of them should be specified (non-null), or an
 IllegalArgumentException is thrown.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>table</code> - a <a href="../Table.html" title="interface in org.apache.iceberg"><code>Table</code></a></dd>
<dd><code>snapshotId</code> - the ID of the snapshot</dd>
<dd><code>timestampMillis</code> - the timestamp in millis since the Unix epoch</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the schema</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if both snapshotId and timestampMillis are non-null</dd>
</dl>
</li>
</ul>
<a id="schemaFor(org.apache.iceberg.Table,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>schemaFor</h4>
<pre class="methodSignature">public static&nbsp;<a href="../Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schemaFor&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                               java.lang.String&nbsp;branch)</pre>
<div class="block">Return the schema of the snapshot at a given branch.

 <p>If branch does not exist, the table schema is returned because it will be the schema when
 the new branch is created.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>table</code> - a <a href="../Table.html" title="interface in org.apache.iceberg"><code>Table</code></a></dd>
<dd><code>branch</code> - branch name of the table (nullable)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>schema of the specific snapshot at the given branch</dd>
</dl>
</li>
</ul>
<a id="schemaFor(org.apache.iceberg.TableMetadata,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>schemaFor</h4>
<pre class="methodSignature">public static&nbsp;<a href="../Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schemaFor&#8203;(<a href="../TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;metadata,
                               java.lang.String&nbsp;branch)</pre>
<div class="block">Return the schema of the snapshot at a given branch.

 <p>If branch does not exist, the table schema is returned because it will be the schema when
 the new branch is created.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metadata</code> - a <a href="../TableMetadata.html" title="class in org.apache.iceberg"><code>TableMetadata</code></a></dd>
<dd><code>branch</code> - branch name of the table (nullable)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>schema of the specific snapshot at the given branch</dd>
</dl>
</li>
</ul>
<a id="latestSnapshot(org.apache.iceberg.Table,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>latestSnapshot</h4>
<pre class="methodSignature">public static&nbsp;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;latestSnapshot&#8203;(<a href="../Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                                      java.lang.String&nbsp;branch)</pre>
<div class="block">Fetch the snapshot at the head of the given branch in the given table.

 <p>This method calls <a href="../Table.html#currentSnapshot()"><code>Table.currentSnapshot()</code></a> instead of using branch API <a href="../Table.html#snapshot(java.lang.String)"><code>Table.snapshot(String)</code></a> for the main branch so that existing code still goes through the old
 code path to ensure backwards compatibility.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>table</code> - a <a href="../Table.html" title="interface in org.apache.iceberg"><code>Table</code></a></dd>
<dd><code>branch</code> - branch name of the table (nullable)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the latest snapshot for the given branch</dd>
</dl>
</li>
</ul>
<a id="latestSnapshot(org.apache.iceberg.TableMetadata,java.lang.String)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>latestSnapshot</h4>
<pre class="methodSignature">public static&nbsp;<a href="../Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;latestSnapshot&#8203;(<a href="../TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;metadata,
                                      java.lang.String&nbsp;branch)</pre>
<div class="block">Fetch the snapshot at the head of the given branch in the given table.

 <p>This method calls <a href="../TableMetadata.html#currentSnapshot()"><code>TableMetadata.currentSnapshot()</code></a> instead of using branch API <a href="../TableMetadata.html#ref(java.lang.String)"><code>TableMetadata.ref(String)</code></a>} for the main branch so that existing code still goes through the
 old code path to ensure backwards compatibility.

 <p>If branch does not exist, the table's latest snapshot is returned it will be the schema when
 the new branch is created.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metadata</code> - a <a href="../TableMetadata.html" title="class in org.apache.iceberg"><code>TableMetadata</code></a></dd>
<dd><code>branch</code> - branch name of the table metadata (nullable)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the latest snapshot for the given branch</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>
