blob: ce6c4b1ba32c61523db4231a00e8e8e6eb9a0db4 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>ManageSnapshots</title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ManageSnapshots";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.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">
<li><a href="../../../org/apache/iceberg/LockManager.html" title="interface in org.apache.iceberg"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/iceberg/ManifestContent.html" title="enum in org.apache.iceberg"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/iceberg/ManageSnapshots.html" target="_top">Frames</a></li>
<li><a href="ManageSnapshots.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></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>
</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 name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.iceberg</div>
<h2 title="Interface ManageSnapshots" class="title">Interface ManageSnapshots</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../org/apache/iceberg/PendingUpdate.html" title="interface in org.apache.iceberg">PendingUpdate</a>&lt;<a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;</dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../org/apache/iceberg/SnapshotManager.html" title="class in org.apache.iceberg">SnapshotManager</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">ManageSnapshots</span>
extends <a href="../../../org/apache/iceberg/PendingUpdate.html" title="interface in org.apache.iceberg">PendingUpdate</a>&lt;<a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;</pre>
<div class="block">API for managing snapshots. Allows rolling table data back to a stated at an older table <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg"><code>snapshot</code></a>. Rollback:
<p>This API does not allow conflicting calls to <a href="../../../org/apache/iceberg/ManageSnapshots.html#setCurrentSnapshot-long-"><code>setCurrentSnapshot(long)</code></a> and <a href="../../../org/apache/iceberg/ManageSnapshots.html#rollbackToTime-long-"><code>rollbackToTime(long)</code></a>.
<p>When committing, these changes will be applied to the current table metadata. Commit conflicts
will not be resolved and will result in a <a href="../../../org/apache/iceberg/exceptions/CommitFailedException.html" title="class in org.apache.iceberg.exceptions"><code>CommitFailedException</code></a>. Cherrypick:
<p>In an audit workflow, new data is written to an orphan <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg"><code>snapshot</code></a> that is not
committed as the table's current state until it is audited. After auditing a change, it may need
to be applied or cherry-picked on top of the latest snapshot instead of the one that was current
when the audited changes were created. This class adds support for cherry-picking the changes
from an orphan snapshot by applying them to the current snapshot. The output of the operation is
a new snapshot with the changes from cherry-picked snapshot.
<p></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ManageSnapshots.html#cherrypick-long-">cherrypick</a></span>(long&nbsp;snapshotId)</code>
<div class="block">Apply supported changes in given snapshot and create a new snapshot which will be set as the
current snapshot on commit.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ManageSnapshots.html#createBranch-java.lang.String-long-">createBranch</a></span>(java.lang.String&nbsp;name,
long&nbsp;snapshotId)</code>
<div class="block">Create a new branch pointing to the given snapshot id.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ManageSnapshots.html#createTag-java.lang.String-long-">createTag</a></span>(java.lang.String&nbsp;name,
long&nbsp;snapshotId)</code>
<div class="block">Create a new tag pointing to the given snapshot id</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ManageSnapshots.html#fastForwardBranch-java.lang.String-java.lang.String-">fastForwardBranch</a></span>(java.lang.String&nbsp;name,
java.lang.String&nbsp;source)</code>
<div class="block">Performs a fast-forward of the given target branch up to the source snapshot if target is an
ancestor of source.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ManageSnapshots.html#removeBranch-java.lang.String-">removeBranch</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Remove a branch by name</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ManageSnapshots.html#removeTag-java.lang.String-">removeTag</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Remove the tag with the given name.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ManageSnapshots.html#renameBranch-java.lang.String-java.lang.String-">renameBranch</a></span>(java.lang.String&nbsp;name,
java.lang.String&nbsp;newName)</code>
<div class="block">Rename a branch</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ManageSnapshots.html#replaceBranch-java.lang.String-long-">replaceBranch</a></span>(java.lang.String&nbsp;name,
long&nbsp;snapshotId)</code>
<div class="block">Replaces the branch with the given name to point to the specified snapshot</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ManageSnapshots.html#replaceBranch-java.lang.String-java.lang.String-">replaceBranch</a></span>(java.lang.String&nbsp;name,
java.lang.String&nbsp;source)</code>
<div class="block">Replaces the branch with the given name to point to the source snapshot.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ManageSnapshots.html#replaceTag-java.lang.String-long-">replaceTag</a></span>(java.lang.String&nbsp;name,
long&nbsp;snapshotId)</code>
<div class="block">Replaces the tag with the given name to point to the specified snapshot.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ManageSnapshots.html#rollbackTo-long-">rollbackTo</a></span>(long&nbsp;snapshotId)</code>
<div class="block">Rollback table's state to a specific <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg"><code>Snapshot</code></a> identified by id.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ManageSnapshots.html#rollbackToTime-long-">rollbackToTime</a></span>(long&nbsp;timestampMillis)</code>
<div class="block">Roll this table's data back to the last <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg"><code>Snapshot</code></a> before the given timestamp.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ManageSnapshots.html#setCurrentSnapshot-long-">setCurrentSnapshot</a></span>(long&nbsp;snapshotId)</code>
<div class="block">Roll this table's data back to a specific <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg"><code>Snapshot</code></a> identified by id.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ManageSnapshots.html#setMaxRefAgeMs-java.lang.String-long-">setMaxRefAgeMs</a></span>(java.lang.String&nbsp;name,
long&nbsp;maxRefAgeMs)</code>
<div class="block">Updates the retention policy for a reference.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ManageSnapshots.html#setMaxSnapshotAgeMs-java.lang.String-long-">setMaxSnapshotAgeMs</a></span>(java.lang.String&nbsp;branchName,
long&nbsp;maxSnapshotAgeMs)</code>
<div class="block">Updates the max snapshot age for a branch.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ManageSnapshots.html#setMinSnapshotsToKeep-java.lang.String-int-">setMinSnapshotsToKeep</a></span>(java.lang.String&nbsp;branchName,
int&nbsp;minSnapshotsToKeep)</code>
<div class="block">Updates the minimum number of snapshots to keep for a branch.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.PendingUpdate">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/PendingUpdate.html" title="interface in org.apache.iceberg">PendingUpdate</a></h3>
<code><a href="../../../org/apache/iceberg/PendingUpdate.html#apply--">apply</a>, <a href="../../../org/apache/iceberg/PendingUpdate.html#commit--">commit</a>, <a href="../../../org/apache/iceberg/PendingUpdate.html#updateEvent--">updateEvent</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="setCurrentSnapshot-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCurrentSnapshot</h4>
<pre><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a>&nbsp;setCurrentSnapshot(long&nbsp;snapshotId)</pre>
<div class="block">Roll this table's data back to a specific <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg"><code>Snapshot</code></a> identified by id.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>snapshotId</code> - long id of the snapshot to roll back table data to</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - If the table has no snapshot with the given id</dd>
</dl>
</li>
</ul>
<a name="rollbackToTime-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rollbackToTime</h4>
<pre><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a>&nbsp;rollbackToTime(long&nbsp;timestampMillis)</pre>
<div class="block">Roll this table's data back to the last <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg"><code>Snapshot</code></a> before the given timestamp.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timestampMillis</code> - a long timestamp, as returned by <code>System.currentTimeMillis()</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - If the table has no old snapshot before the given timestamp</dd>
</dl>
</li>
</ul>
<a name="rollbackTo-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rollbackTo</h4>
<pre><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a>&nbsp;rollbackTo(long&nbsp;snapshotId)</pre>
<div class="block">Rollback table's state to a specific <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg"><code>Snapshot</code></a> identified by id.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>snapshotId</code> - long id of snapshot id to roll back table to. Must be an ancestor of the
current snapshot</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - If the table has no snapshot with the given id</dd>
<dd><code><a href="../../../org/apache/iceberg/exceptions/ValidationException.html" title="class in org.apache.iceberg.exceptions">ValidationException</a></code> - If given snapshot id is not an ancestor of the current state</dd>
</dl>
</li>
</ul>
<a name="cherrypick-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cherrypick</h4>
<pre><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a>&nbsp;cherrypick(long&nbsp;snapshotId)</pre>
<div class="block">Apply supported changes in given snapshot and create a new snapshot which will be set as the
current snapshot on commit.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>snapshotId</code> - a snapshotId whose changes to apply</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - If the table has no snapshot with the given id</dd>
<dd><code><a href="../../../org/apache/iceberg/exceptions/DuplicateWAPCommitException.html" title="class in org.apache.iceberg.exceptions">DuplicateWAPCommitException</a></code> - In case of a WAP workflow and if the table has a duplicate
commit with same wapId</dd>
</dl>
</li>
</ul>
<a name="createBranch-java.lang.String-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createBranch</h4>
<pre><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a>&nbsp;createBranch(java.lang.String&nbsp;name,
long&nbsp;snapshotId)</pre>
<div class="block">Create a new branch pointing to the given snapshot id.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - branch name</dd>
<dd><code>snapshotId</code> - id of the snapshot which will be the head of the branch</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if a branch with the given name already exists</dd>
</dl>
</li>
</ul>
<a name="createTag-java.lang.String-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createTag</h4>
<pre><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a>&nbsp;createTag(java.lang.String&nbsp;name,
long&nbsp;snapshotId)</pre>
<div class="block">Create a new tag pointing to the given snapshot id</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - tag name</dd>
<dd><code>snapshotId</code> - snapshotId for the head of the new branch.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if a tag with the given name already exists</dd>
</dl>
</li>
</ul>
<a name="removeBranch-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeBranch</h4>
<pre><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a>&nbsp;removeBranch(java.lang.String&nbsp;name)</pre>
<div class="block">Remove a branch by name</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - branch name</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the branch does not exist</dd>
</dl>
</li>
</ul>
<a name="renameBranch-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>renameBranch</h4>
<pre><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a>&nbsp;renameBranch(java.lang.String&nbsp;name,
java.lang.String&nbsp;newName)</pre>
<div class="block">Rename a branch</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - name of branch to rename</dd>
<dd><code>newName</code> - the desired new name of the branch</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the branch to rename does not exist or if there is already
a branch with the same name as the desired new name.</dd>
</dl>
</li>
</ul>
<a name="removeTag-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeTag</h4>
<pre><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a>&nbsp;removeTag(java.lang.String&nbsp;name)</pre>
<div class="block">Remove the tag with the given name.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - tag name</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the branch does not exist</dd>
</dl>
</li>
</ul>
<a name="replaceTag-java.lang.String-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>replaceTag</h4>
<pre><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a>&nbsp;replaceTag(java.lang.String&nbsp;name,
long&nbsp;snapshotId)</pre>
<div class="block">Replaces the tag with the given name to point to the specified snapshot.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - Tag to replace</dd>
<dd><code>snapshotId</code> - new snapshot id for the given tag</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a name="replaceBranch-java.lang.String-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>replaceBranch</h4>
<pre><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a>&nbsp;replaceBranch(java.lang.String&nbsp;name,
long&nbsp;snapshotId)</pre>
<div class="block">Replaces the branch with the given name to point to the specified snapshot</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - Branch to replace</dd>
<dd><code>snapshotId</code> - new snapshot id for the given branch</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a name="replaceBranch-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>replaceBranch</h4>
<pre><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a>&nbsp;replaceBranch(java.lang.String&nbsp;name,
java.lang.String&nbsp;source)</pre>
<div class="block">Replaces the branch with the given name to point to the source snapshot. The source branch will
remain unchanged, the target branch will retain its retention properties.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - Branch to replace</dd>
<dd><code>source</code> - Source reference for the target to be replaced with</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a name="fastForwardBranch-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fastForwardBranch</h4>
<pre><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a>&nbsp;fastForwardBranch(java.lang.String&nbsp;name,
java.lang.String&nbsp;source)</pre>
<div class="block">Performs a fast-forward of the given target branch up to the source snapshot if target is an
ancestor of source. The source branch will remain unchanged, the target branch will retain its
retention properties.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - Branch to fast-forward</dd>
<dd><code>source</code> - Source reference for the target to be fast forwarded to</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the target branch is not an ancestor of source</dd>
</dl>
</li>
</ul>
<a name="setMinSnapshotsToKeep-java.lang.String-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMinSnapshotsToKeep</h4>
<pre><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a>&nbsp;setMinSnapshotsToKeep(java.lang.String&nbsp;branchName,
int&nbsp;minSnapshotsToKeep)</pre>
<div class="block">Updates the minimum number of snapshots to keep for a branch.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>branchName</code> - branch name</dd>
<dd><code>minSnapshotsToKeep</code> - minimum number of snapshots to retain on the branch</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the branch does not exist</dd>
</dl>
</li>
</ul>
<a name="setMaxSnapshotAgeMs-java.lang.String-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxSnapshotAgeMs</h4>
<pre><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a>&nbsp;setMaxSnapshotAgeMs(java.lang.String&nbsp;branchName,
long&nbsp;maxSnapshotAgeMs)</pre>
<div class="block">Updates the max snapshot age for a branch.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>branchName</code> - branch name</dd>
<dd><code>maxSnapshotAgeMs</code> - maximum snapshot age in milliseconds to retain on branch</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the branch does not exist</dd>
</dl>
</li>
</ul>
<a name="setMaxRefAgeMs-java.lang.String-long-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setMaxRefAgeMs</h4>
<pre><a href="../../../org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a>&nbsp;setMaxRefAgeMs(java.lang.String&nbsp;name,
long&nbsp;maxRefAgeMs)</pre>
<div class="block">Updates the retention policy for a reference.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - branch name</dd>
<dd><code>maxRefAgeMs</code> - retention age in milliseconds of the tag reference itself</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the reference does not exist</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.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">
<li><a href="../../../org/apache/iceberg/LockManager.html" title="interface in org.apache.iceberg"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/iceberg/ManifestContent.html" title="enum in org.apache.iceberg"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/iceberg/ManageSnapshots.html" target="_top">Frames</a></li>
<li><a href="ManageSnapshots.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.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>
</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 name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>