blob: 78eeee7aa1a4ca21d2720ad7f556792178998d91 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>StreamingDelete</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.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.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.6.0.min.js"></script>
<script type="text/javascript" src="../../../jquery/jquery-ui.min.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="StreamingDelete";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":42,"i51":10,"i52":42,"i53":10,"i54":42,"i55":10,"i56":42,"i57":10,"i58":42,"i59":10,"i60":42,"i61":10,"i62":42,"i63":10,"i64":42,"i65":10,"i66":42,"i67":10,"i68":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated 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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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</a></div>
<h2 title="Class StreamingDelete" class="title">Class StreamingDelete</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.iceberg.StreamingDelete</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="DeleteFiles.html" title="interface in org.apache.iceberg">DeleteFiles</a></code>, <code><a href="PendingUpdate.html" title="interface in org.apache.iceberg">PendingUpdate</a>&lt;<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;</code>, <code><a href="SnapshotUpdate.html" title="interface in org.apache.iceberg">SnapshotUpdate</a>&lt;<a href="DeleteFiles.html" title="interface in org.apache.iceberg">DeleteFiles</a>&gt;</code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">StreamingDelete</span>
extends java.lang.Object
implements <a href="DeleteFiles.html" title="interface in org.apache.iceberg">DeleteFiles</a></pre>
<div class="block"><a href="DeleteFiles.html" title="interface in org.apache.iceberg"><code>Delete</code></a> implementation that avoids loading full manifests in memory.
<p>This implementation will attempt to commit 5 times before throwing <a href="exceptions/CommitFailedException.html" title="class in org.apache.iceberg.exceptions"><code>CommitFailedException</code></a>.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colSecond" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String,org.apache.iceberg.TableOperations)">StreamingDelete</a></span>&#8203;(java.lang.String&nbsp;tableName,
<a href="TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ops)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section>
<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="t2" class="tableTab"><span><a href="javascript:show(2);">Instance 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><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated 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>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#add(org.apache.iceberg.DataFile)">add</a></span>&#8203;(<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;file)</code></th>
<td class="colLast">
<div class="block">Add a data file to the new snapshot.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#add(org.apache.iceberg.DeleteFile)">add</a></span>&#8203;(<a href="DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&nbsp;file)</code></th>
<td class="colLast">
<div class="block">Add a delete file to the new snapshot.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#add(org.apache.iceberg.ManifestFile)">add</a></span>&#8203;(<a href="ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifest)</code></th>
<td class="colLast">
<div class="block">Add all files in a manifest to the new snapshot.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected org.apache.iceberg.DeleteFileIndex</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addedDeleteFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.expressions.Expression,org.apache.iceberg.util.PartitionSet)">addedDeleteFiles</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
<a href="util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.addedDeleteFiles(TableMetadata, Long, Expression, PartitionSet,
Snapshot)</code> instead</div>
</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected org.apache.iceberg.DeleteFileIndex</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addedDeleteFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.expressions.Expression,org.apache.iceberg.util.PartitionSet,org.apache.iceberg.Snapshot)">addedDeleteFiles</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
<a href="util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</code></th>
<td class="colLast">
<div class="block">Returns matching delete files have been added to the table since a starting snapshot.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected 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="#addedFiles()">addedFiles</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><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="#apply()">apply</a></span>()</code></th>
<td class="colLast">
<div class="block">Apply the pending changes and return the uncommitted changes for validation.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#apply(org.apache.iceberg.TableMetadata,org.apache.iceberg.Snapshot)">apply</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;snapshot)</code></th>
<td class="colLast">
<div class="block">Apply the update's changes to the given metadata and snapshot.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>ThisT</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#caseSensitive(boolean)">caseSensitive</a></span>&#8203;(boolean&nbsp;isCaseSensitive)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cleanAll()">cleanAll</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cleanUncommitted(java.util.Set)">cleanUncommitted</a></span>&#8203;(java.util.Set&lt;<a href="ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;&nbsp;committed)</code></th>
<td class="colLast">
<div class="block">Clean up any uncommitted manifests that were created.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#commit()">commit</a></span>()</code></th>
<td class="colLast">
<div class="block">Apply the pending changes and commit.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>protected <a href="metrics/CommitMetrics.html" title="class in org.apache.iceberg.metrics">CommitMetrics</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#commitMetrics()">commitMetrics</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected <a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#current()">current</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected <a href="PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dataSpec()">dataSpec</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#delete(java.lang.CharSequence)">delete</a></span>&#8203;(java.lang.CharSequence&nbsp;path)</code></th>
<td class="colLast">
<div class="block">Add a specific data path to be deleted in the new snapshot.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#delete(org.apache.iceberg.DataFile)">delete</a></span>&#8203;(<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;file)</code></th>
<td class="colLast">
<div class="block">Add a specific data file to be deleted in the new snapshot.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#delete(org.apache.iceberg.DeleteFile)">delete</a></span>&#8203;(<a href="DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&nbsp;file)</code></th>
<td class="colLast">
<div class="block">Add a specific delete file to be deleted in the new snapshot.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deleteByRowFilter(org.apache.iceberg.expressions.Expression)">deleteByRowFilter</a></span>&#8203;(<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;expr)</code></th>
<td class="colLast">
<div class="block">Add a filter to match files to delete.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="StreamingDelete.html" title="class in org.apache.iceberg">StreamingDelete</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deleteFile(java.lang.CharSequence)">deleteFile</a></span>&#8203;(java.lang.CharSequence&nbsp;path)</code></th>
<td class="colLast">
<div class="block">Delete a file path from the underlying table.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deleteFile(java.lang.String)">deleteFile</a></span>&#8203;(java.lang.String&nbsp;path)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="StreamingDelete.html" title="class in org.apache.iceberg">StreamingDelete</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deleteFile(org.apache.iceberg.DataFile)">deleteFile</a></span>&#8203;(<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;file)</code></th>
<td class="colLast">
<div class="block">Delete a file tracked by a <a href="DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> from the underlying table.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="StreamingDelete.html" title="class in org.apache.iceberg">StreamingDelete</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deleteFromRowFilter(org.apache.iceberg.expressions.Expression)">deleteFromRowFilter</a></span>&#8203;(<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;expr)</code></th>
<td class="colLast">
<div class="block">Delete files that match an <a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>Expression</code></a> on data rows from the table.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>ThisT</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deleteWith(java.util.function.Consumer)">deleteWith</a></span>&#8203;(java.util.function.Consumer&lt;java.lang.String&gt;&nbsp;deleteCallback)</code></th>
<td class="colLast">
<div class="block">Set a callback to delete files instead of the table's default.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dropPartition(int,org.apache.iceberg.StructLike)">dropPartition</a></span>&#8203;(int&nbsp;specId,
<a href="StructLike.html" title="interface in org.apache.iceberg">StructLike</a>&nbsp;partition)</code></th>
<td class="colLast">
<div class="block">Add a partition tuple to drop from the table during the delete phase.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#failAnyDelete()">failAnyDelete</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#failMissingDeletePaths()">failMissingDeletePaths</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCaseSensitive()">isCaseSensitive</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>protected <a href="io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#manifestListPath()">manifestListPath</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>protected <a href="ManifestReader.html" title="class in org.apache.iceberg">ManifestReader</a>&lt;<a href="DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newDeleteManifestReader(org.apache.iceberg.ManifestFile)">newDeleteManifestReader</a></span>&#8203;(<a href="ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifest)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>protected <a href="ManifestWriter.html" title="class in org.apache.iceberg">ManifestWriter</a>&lt;<a href="DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newDeleteManifestWriter(org.apache.iceberg.PartitionSpec)">newDeleteManifestWriter</a></span>&#8203;(<a href="PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>protected <a href="io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newManifestOutput()">newManifestOutput</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>protected <a href="ManifestReader.html" title="class in org.apache.iceberg">ManifestReader</a>&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="#newManifestReader(org.apache.iceberg.ManifestFile)">newManifestReader</a></span>&#8203;(<a href="ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifest)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>protected <a href="ManifestWriter.html" title="class in org.apache.iceberg">ManifestWriter</a>&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="#newManifestWriter(org.apache.iceberg.PartitionSpec)">newManifestWriter</a></span>&#8203;(<a href="PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#operation()">operation</a></span>()</code></th>
<td class="colLast">
<div class="block">A string that describes the action that produced the new snapshot.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>protected <a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#refresh()">refresh</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>protected ThisT</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reportWith(org.apache.iceberg.metrics.MetricsReporter)">reportWith</a></span>&#8203;(<a href="metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;newReporter)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>protected <a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rowFilter()">rowFilter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>ThisT</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#scanManifestsWith(java.util.concurrent.ExecutorService)">scanManifestsWith</a></span>&#8203;(java.util.concurrent.ExecutorService&nbsp;executorService)</code></th>
<td class="colLast">
<div class="block">Use a particular executor to scan manifests.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>protected <a href="DeleteFiles.html" title="interface in org.apache.iceberg">DeleteFiles</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#self()">self</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>ThisT</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#set(java.lang.String,java.lang.String)">set</a></span>&#8203;(java.lang.String&nbsp;property,
java.lang.String&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Set a summary property in the snapshot produced by this update.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setNewFilesSequenceNumber(long)">setNewFilesSequenceNumber</a></span>&#8203;(long&nbsp;sequenceNumber)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>protected long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#snapshotId()">snapshotId</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>ThisT</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stageOnly()">stageOnly</a></span>()</code></th>
<td class="colLast">
<div class="block">Called to stage a snapshot in table metadata, but not update the current snapshot id.</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>protected java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#summary()">summary</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#targetBranch()">targetBranch</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#targetBranch(java.lang.String)">targetBranch</a></span>&#8203;(java.lang.String&nbsp;branch)</code></th>
<td class="colLast">
<div class="block">* A setter for the target branch on which snapshot producer operation should be performed</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code><a href="StreamingDelete.html" title="class in org.apache.iceberg">StreamingDelete</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toBranch(java.lang.String)">toBranch</a></span>&#8203;(java.lang.String&nbsp;branch)</code></th>
<td class="colLast">
<div class="block">Perform operations on a particular branch</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#updateEvent()">updateEvent</a></span>()</code></th>
<td class="colLast">
<div class="block">Generates update event to notify about metadata changes</div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validate(org.apache.iceberg.TableMetadata,org.apache.iceberg.Snapshot)">validate</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;currentMetadata,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;snapshot)</code></th>
<td class="colLast">
<div class="block">Validate the current metadata.</div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateAddedDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.expressions.Expression)">validateAddedDataFiles</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateAddedDataFiles(TableMetadata, Long, Expression, Snapshot)</code>
instead</div>
</div>
</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateAddedDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.expressions.Expression,org.apache.iceberg.Snapshot)">validateAddedDataFiles</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</code></th>
<td class="colLast">
<div class="block">Validates that no files matching a filter have been added to the table since a starting
snapshot.</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateAddedDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.util.PartitionSet)">validateAddedDataFiles</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateAddedDataFiles(TableMetadata, Long, PartitionSet,
Snapshot)</code> instead</div>
</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateAddedDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.util.PartitionSet,org.apache.iceberg.Snapshot)">validateAddedDataFiles</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</code></th>
<td class="colLast">
<div class="block">Validates that no files matching given partitions have been added to the table since a starting
snapshot.</div>
</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateDataFilesExist(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.util.CharSequenceSet,boolean,org.apache.iceberg.expressions.Expression)">validateDataFilesExist</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="util/CharSequenceSet.html" title="class in org.apache.iceberg.util">CharSequenceSet</a>&nbsp;requiredDataFiles,
boolean&nbsp;skipDeletes,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateDataFilesExist(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.util.CharSequenceSet,boolean,org.apache.iceberg.expressions.Expression,org.apache.iceberg.Snapshot)">validateDataFilesExist</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="util/CharSequenceSet.html" title="class in org.apache.iceberg.util">CharSequenceSet</a>&nbsp;requiredDataFiles,
boolean&nbsp;skipDeletes,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateDeletedDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.expressions.Expression)">validateDeletedDataFiles</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateDeletedDataFiles(TableMetadata, Long, Expression,
Snapshot)</code> instead</div>
</div>
</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateDeletedDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.expressions.Expression,org.apache.iceberg.Snapshot)">validateDeletedDataFiles</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</code></th>
<td class="colLast">
<div class="block">Validates that no files matching a filter have been deleted from the table since a starting
snapshot.</div>
</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateDeletedDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.util.PartitionSet)">validateDeletedDataFiles</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(TableMetadata, Long, PartitionSet,
Snapshot)</code> instead</div>
</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateDeletedDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.util.PartitionSet,org.apache.iceberg.Snapshot)">validateDeletedDataFiles</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</code></th>
<td class="colLast">
<div class="block">Validates that no files matching a filter have been deleted from the table since a starting
snapshot.</div>
</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.expressions.Expression)">validateNoNewDeleteFiles</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata, java.lang.Long, org.apache.iceberg.expressions.Expression)</code> instead</div>
</div>
</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.expressions.Expression,org.apache.iceberg.Snapshot)">validateNoNewDeleteFiles</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</code></th>
<td class="colLast">
<div class="block">Validates that no delete files matching a filter have been added to the table since a starting
snapshot.</div>
</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.util.PartitionSet)">validateNoNewDeleteFiles</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(TableMetadata, Long, PartitionSet,
Snapshot)</code> instead</div>
</div>
</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.util.PartitionSet,org.apache.iceberg.Snapshot)">validateNoNewDeleteFiles</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</code></th>
<td class="colLast">
<div class="block">Validates that no delete files matching a partition set have been added to the table since a
starting snapshot.</div>
</td>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,java.lang.Iterable)">validateNoNewDeletesForDataFiles</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
java.lang.Iterable&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFiles)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata, java.lang.Long, java.lang.Iterable&lt;org.apache.iceberg.DataFile&gt;, org.apache.iceberg.Snapshot)</code> instead</div>
</div>
</td>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,java.lang.Iterable,org.apache.iceberg.Snapshot)">validateNoNewDeletesForDataFiles</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
java.lang.Iterable&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFiles,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</code></th>
<td class="colLast">
<div class="block">Validates that no new delete files that must be applied to the given data files have been added
to the table since a starting snapshot.</div>
</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.expressions.Expression,java.lang.Iterable)">validateNoNewDeletesForDataFiles</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
java.lang.Iterable&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFiles)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata, java.lang.Long, java.lang.Iterable&lt;org.apache.iceberg.DataFile&gt;, org.apache.iceberg.Snapshot)</code> instead</div>
</div>
</td>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.expressions.Expression,java.lang.Iterable,org.apache.iceberg.Snapshot)">validateNoNewDeletesForDataFiles</a></span>&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
java.lang.Iterable&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFiles,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</code></th>
<td class="colLast">
<div class="block">Validates that no new delete files that must be applied to the given data files have been added
to the table since a starting snapshot.</div>
</td>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><code>protected java.util.concurrent.ExecutorService</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#workerPool()">workerPool</a></span>()</code></th>
<td class="colLast">&nbsp;</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>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.iceberg.DeleteFiles">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="DeleteFiles.html" title="interface in org.apache.iceberg">DeleteFiles</a></h3>
<code><a href="DeleteFiles.html#caseSensitive(boolean)">caseSensitive</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.iceberg.PendingUpdate">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="PendingUpdate.html" title="interface in org.apache.iceberg">PendingUpdate</a></h3>
<code><a href="PendingUpdate.html#apply()">apply</a>, <a href="PendingUpdate.html#commit()">commit</a>, <a href="PendingUpdate.html#updateEvent()">updateEvent</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.iceberg.SnapshotUpdate">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="SnapshotUpdate.html" title="interface in org.apache.iceberg">SnapshotUpdate</a></h3>
<code><a href="SnapshotUpdate.html#deleteWith(java.util.function.Consumer)">deleteWith</a>, <a href="SnapshotUpdate.html#scanManifestsWith(java.util.concurrent.ExecutorService)">scanManifestsWith</a>, <a href="SnapshotUpdate.html#set(java.lang.String,java.lang.String)">set</a>, <a href="SnapshotUpdate.html#stageOnly()">stageOnly</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(java.lang.String,org.apache.iceberg.TableOperations)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>StreamingDelete</h4>
<pre>protected&nbsp;StreamingDelete&#8203;(java.lang.String&nbsp;tableName,
<a href="TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ops)</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="self()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>self</h4>
<pre class="methodSignature">protected&nbsp;<a href="DeleteFiles.html" title="interface in org.apache.iceberg">DeleteFiles</a>&nbsp;self()</pre>
</li>
</ul>
<a id="operation()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>operation</h4>
<pre class="methodSignature">protected&nbsp;java.lang.String&nbsp;operation()</pre>
<div class="block">A string that describes the action that produced the new snapshot.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a string operation</dd>
</dl>
</li>
</ul>
<a id="deleteFile(java.lang.CharSequence)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteFile</h4>
<pre class="methodSignature">public&nbsp;<a href="StreamingDelete.html" title="class in org.apache.iceberg">StreamingDelete</a>&nbsp;deleteFile&#8203;(java.lang.CharSequence&nbsp;path)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="DeleteFiles.html#deleteFile(java.lang.CharSequence)">DeleteFiles</a></code></span></div>
<div class="block">Delete a file path from the underlying table.
<p>To remove a file from the table, this path must equal a path in the table's metadata. Paths
that are different but equivalent will not be removed. For example, file:/path/file.avro is
equivalent to file:///path/file.avro, but would not remove the latter path from the table.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="DeleteFiles.html#deleteFile(java.lang.CharSequence)">deleteFile</a></code>&nbsp;in interface&nbsp;<code><a href="DeleteFiles.html" title="interface in org.apache.iceberg">DeleteFiles</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>path</code> - a fully-qualified file path to remove from the table</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a id="deleteFile(org.apache.iceberg.DataFile)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteFile</h4>
<pre class="methodSignature">public&nbsp;<a href="StreamingDelete.html" title="class in org.apache.iceberg">StreamingDelete</a>&nbsp;deleteFile&#8203;(<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;file)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="DeleteFiles.html#deleteFile(org.apache.iceberg.DataFile)">DeleteFiles</a></code></span></div>
<div class="block">Delete a file tracked by a <a href="DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> from the underlying table.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="DeleteFiles.html#deleteFile(org.apache.iceberg.DataFile)">deleteFile</a></code>&nbsp;in interface&nbsp;<code><a href="DeleteFiles.html" title="interface in org.apache.iceberg">DeleteFiles</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>file</code> - a DataFile to remove from the table</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a id="deleteFromRowFilter(org.apache.iceberg.expressions.Expression)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteFromRowFilter</h4>
<pre class="methodSignature">public&nbsp;<a href="StreamingDelete.html" title="class in org.apache.iceberg">StreamingDelete</a>&nbsp;deleteFromRowFilter&#8203;(<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;expr)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="DeleteFiles.html#deleteFromRowFilter(org.apache.iceberg.expressions.Expression)">DeleteFiles</a></code></span></div>
<div class="block">Delete files that match an <a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>Expression</code></a> on data rows from the table.
<p>A file is selected to be deleted by the expression if it could contain any rows that match
the expression (candidate files are selected using an <a href="expressions/Projections.html#inclusive(org.apache.iceberg.PartitionSpec)"><code>inclusive projection</code></a>). These candidate files are deleted
if all of the rows in the file must match the expression (the partition data matches the
expression's <a href="expressions/Projections.html#strict(org.apache.iceberg.PartitionSpec)"><code>Projections.strict(PartitionSpec)</code></a> strict projection}). This guarantees
that files are deleted if and only if all rows in the file must match the expression.
<p>Files that may contain some rows that match the expression and some rows that do not will
result in a <a href="exceptions/ValidationException.html" title="class in org.apache.iceberg.exceptions"><code>ValidationException</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="DeleteFiles.html#deleteFromRowFilter(org.apache.iceberg.expressions.Expression)">deleteFromRowFilter</a></code>&nbsp;in interface&nbsp;<code><a href="DeleteFiles.html" title="interface in org.apache.iceberg">DeleteFiles</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expr</code> - an expression on rows in the table</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a id="toBranch(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toBranch</h4>
<pre class="methodSignature">public&nbsp;<a href="StreamingDelete.html" title="class in org.apache.iceberg">StreamingDelete</a>&nbsp;toBranch&#8203;(java.lang.String&nbsp;branch)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SnapshotUpdate.html#toBranch(java.lang.String)">SnapshotUpdate</a></code></span></div>
<div class="block">Perform operations on a particular branch</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SnapshotUpdate.html#toBranch(java.lang.String)">toBranch</a></code>&nbsp;in interface&nbsp;<code><a href="SnapshotUpdate.html" title="interface in org.apache.iceberg">SnapshotUpdate</a>&lt;<a href="DeleteFiles.html" title="interface in org.apache.iceberg">DeleteFiles</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>branch</code> - which is name of SnapshotRef of type branch.</dd>
</dl>
</li>
</ul>
<a id="set(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>set</h4>
<pre class="methodSignature">public&nbsp;ThisT&nbsp;set&#8203;(java.lang.String&nbsp;property,
java.lang.String&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SnapshotUpdate.html#set(java.lang.String,java.lang.String)">SnapshotUpdate</a></code></span></div>
<div class="block">Set a summary property in the snapshot produced by this update.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>property</code> - a String property name</dd>
<dd><code>value</code> - a String property value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a id="caseSensitive(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>caseSensitive</h4>
<pre class="methodSignature">public&nbsp;ThisT&nbsp;caseSensitive&#8203;(boolean&nbsp;isCaseSensitive)</pre>
</li>
</ul>
<a id="isCaseSensitive()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCaseSensitive</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;isCaseSensitive()</pre>
</li>
</ul>
<a id="dataSpec()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dataSpec</h4>
<pre class="methodSignature">protected&nbsp;<a href="PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;dataSpec()</pre>
</li>
</ul>
<a id="rowFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rowFilter</h4>
<pre class="methodSignature">protected&nbsp;<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;rowFilter()</pre>
</li>
</ul>
<a id="addedFiles()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addedFiles</h4>
<pre class="methodSignature">protected&nbsp;java.util.List&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;addedFiles()</pre>
</li>
</ul>
<a id="failAnyDelete()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>failAnyDelete</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;failAnyDelete()</pre>
</li>
</ul>
<a id="failMissingDeletePaths()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>failMissingDeletePaths</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;failMissingDeletePaths()</pre>
</li>
</ul>
<a id="deleteByRowFilter(org.apache.iceberg.expressions.Expression)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteByRowFilter</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;deleteByRowFilter&#8203;(<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;expr)</pre>
<div class="block">Add a filter to match files to delete. A file will be deleted if all of the rows it contains
match this or any other filter passed to this method.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expr</code> - an expression to match rows.</dd>
</dl>
</li>
</ul>
<a id="dropPartition(int,org.apache.iceberg.StructLike)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dropPartition</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;dropPartition&#8203;(int&nbsp;specId,
<a href="StructLike.html" title="interface in org.apache.iceberg">StructLike</a>&nbsp;partition)</pre>
<div class="block">Add a partition tuple to drop from the table during the delete phase.</div>
</li>
</ul>
<a id="delete(org.apache.iceberg.DataFile)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>delete</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;delete&#8203;(<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;file)</pre>
<div class="block">Add a specific data file to be deleted in the new snapshot.</div>
</li>
</ul>
<a id="delete(org.apache.iceberg.DeleteFile)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>delete</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;delete&#8203;(<a href="DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&nbsp;file)</pre>
<div class="block">Add a specific delete file to be deleted in the new snapshot.</div>
</li>
</ul>
<a id="delete(java.lang.CharSequence)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>delete</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;delete&#8203;(java.lang.CharSequence&nbsp;path)</pre>
<div class="block">Add a specific data path to be deleted in the new snapshot.</div>
</li>
</ul>
<a id="add(org.apache.iceberg.DataFile)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;add&#8203;(<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;file)</pre>
<div class="block">Add a data file to the new snapshot.</div>
</li>
</ul>
<a id="add(org.apache.iceberg.DeleteFile)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;add&#8203;(<a href="DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&nbsp;file)</pre>
<div class="block">Add a delete file to the new snapshot.</div>
</li>
</ul>
<a id="add(org.apache.iceberg.ManifestFile)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;add&#8203;(<a href="ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifest)</pre>
<div class="block">Add all files in a manifest to the new snapshot.</div>
</li>
</ul>
<a id="validateAddedDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.util.PartitionSet)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateAddedDataFiles</h4>
<pre class="methodSignature">@Deprecated
protected&nbsp;void&nbsp;validateAddedDataFiles&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateAddedDataFiles(TableMetadata, Long, PartitionSet,
Snapshot)</code> instead</div>
</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - table metadata to validate</dd>
<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
<dd><code>partitionSet</code> - a set of partitions to filter new conflicting data files</dd>
</dl>
</li>
</ul>
<a id="validateAddedDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.util.PartitionSet,org.apache.iceberg.Snapshot)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateAddedDataFiles</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;validateAddedDataFiles&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</pre>
<div class="block">Validates that no files matching given partitions have been added to the table since a starting
snapshot.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - table metadata to validate</dd>
<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
<dd><code>partitionSet</code> - a set of partitions to filter new conflicting data files</dd>
<dd><code>parent</code> - ending snapshot on the lineage being validated</dd>
</dl>
</li>
</ul>
<a id="validateAddedDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.expressions.Expression)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateAddedDataFiles</h4>
<pre class="methodSignature">@Deprecated
protected&nbsp;void&nbsp;validateAddedDataFiles&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateAddedDataFiles(TableMetadata, Long, Expression, Snapshot)</code>
instead</div>
</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - table metadata to validate</dd>
<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
<dd><code>conflictDetectionFilter</code> - an expression used to find new conflicting data files</dd>
</dl>
</li>
</ul>
<a id="validateAddedDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.expressions.Expression,org.apache.iceberg.Snapshot)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateAddedDataFiles</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;validateAddedDataFiles&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</pre>
<div class="block">Validates that no files matching a filter have been added to the table since a starting
snapshot.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - table metadata to validate</dd>
<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
<dd><code>conflictDetectionFilter</code> - an expression used to find new conflicting data files</dd>
</dl>
</li>
</ul>
<a id="validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,java.lang.Iterable,org.apache.iceberg.Snapshot)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateNoNewDeletesForDataFiles</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;validateNoNewDeletesForDataFiles&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
java.lang.Iterable&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFiles,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</pre>
<div class="block">Validates that no new delete files that must be applied to the given data files have been added
to the table since a starting snapshot.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - table metadata to validate</dd>
<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
<dd><code>dataFiles</code> - data files to validate have no new row deletes</dd>
<dd><code>parent</code> - ending snapshot on the branch being validated</dd>
</dl>
</li>
</ul>
<a id="validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,java.lang.Iterable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateNoNewDeletesForDataFiles</h4>
<pre class="methodSignature">@Deprecated
protected&nbsp;void&nbsp;validateNoNewDeletesForDataFiles&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
java.lang.Iterable&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFiles)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata, java.lang.Long, java.lang.Iterable&lt;org.apache.iceberg.DataFile&gt;, org.apache.iceberg.Snapshot)</code> instead</div>
</div>
<div class="block">Validates that no new delete files that must be applied to the given data files have been added
to the table since a starting snapshot.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - table metadata to validate</dd>
<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
<dd><code>dataFiles</code> - data files to validate have no new row deletes</dd>
</dl>
</li>
</ul>
<a id="validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.expressions.Expression,java.lang.Iterable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateNoNewDeletesForDataFiles</h4>
<pre class="methodSignature">@Deprecated
protected&nbsp;void&nbsp;validateNoNewDeletesForDataFiles&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
java.lang.Iterable&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFiles)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata, java.lang.Long, java.lang.Iterable&lt;org.apache.iceberg.DataFile&gt;, org.apache.iceberg.Snapshot)</code> instead</div>
</div>
<div class="block">Validates that no new delete files that must be applied to the given data files have been added
to the table since a starting snapshot.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - table metadata to validate</dd>
<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
<dd><code>dataFilter</code> - a data filter</dd>
<dd><code>dataFiles</code> - data files to validate have no new row deletes</dd>
</dl>
</li>
</ul>
<a id="validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.expressions.Expression,java.lang.Iterable,org.apache.iceberg.Snapshot)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateNoNewDeletesForDataFiles</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;validateNoNewDeletesForDataFiles&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
java.lang.Iterable&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFiles,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</pre>
<div class="block">Validates that no new delete files that must be applied to the given data files have been added
to the table since a starting snapshot.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - table metadata to validate</dd>
<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
<dd><code>dataFilter</code> - a data filter</dd>
<dd><code>dataFiles</code> - data files to validate have no new row deletes</dd>
<dd><code>parent</code> - ending snapshot on the branch being validated</dd>
</dl>
</li>
</ul>
<a id="validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.expressions.Expression)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateNoNewDeleteFiles</h4>
<pre class="methodSignature">@Deprecated
protected&nbsp;void&nbsp;validateNoNewDeleteFiles&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata, java.lang.Long, org.apache.iceberg.expressions.Expression)</code> instead</div>
</div>
<div class="block">Validates that no delete files matching a filter have been added to the table since a starting
snapshot.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - table metadata to validate</dd>
<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
<dd><code>dataFilter</code> - an expression used to find new conflicting delete files</dd>
</dl>
</li>
</ul>
<a id="validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.expressions.Expression,org.apache.iceberg.Snapshot)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateNoNewDeleteFiles</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;validateNoNewDeleteFiles&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</pre>
<div class="block">Validates that no delete files matching a filter have been added to the table since a starting
snapshot.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - table metadata to validate</dd>
<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
<dd><code>dataFilter</code> - an expression used to find new conflicting delete files</dd>
<dd><code>parent</code> - ending snapshot on the branch being validated</dd>
</dl>
</li>
</ul>
<a id="validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.util.PartitionSet)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateNoNewDeleteFiles</h4>
<pre class="methodSignature">@Deprecated
protected&nbsp;void&nbsp;validateNoNewDeleteFiles&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(TableMetadata, Long, PartitionSet,
Snapshot)</code> instead</div>
</div>
<div class="block">Validates that no delete files matching a partition set have been added to the table since a
starting snapshot.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - table metadata to validate</dd>
<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
<dd><code>partitionSet</code> - a partition set used to find new conflicting delete files</dd>
</dl>
</li>
</ul>
<a id="validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.util.PartitionSet,org.apache.iceberg.Snapshot)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateNoNewDeleteFiles</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;validateNoNewDeleteFiles&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</pre>
<div class="block">Validates that no delete files matching a partition set have been added to the table since a
starting snapshot.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - table metadata to validate</dd>
<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
<dd><code>partitionSet</code> - a partition set used to find new conflicting delete files</dd>
<dd><code>parent</code> - ending snapshot on the branch being validated</dd>
</dl>
</li>
</ul>
<a id="addedDeleteFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.expressions.Expression,org.apache.iceberg.util.PartitionSet)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addedDeleteFiles</h4>
<pre class="methodSignature">@Deprecated
protected&nbsp;org.apache.iceberg.DeleteFileIndex&nbsp;addedDeleteFiles&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
<a href="util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.addedDeleteFiles(TableMetadata, Long, Expression, PartitionSet,
Snapshot)</code> instead</div>
</div>
<div class="block">Returns matching delete files have been added to the table since a starting snapshot.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - table metadata to validate</dd>
<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
<dd><code>dataFilter</code> - an expression used to find delete files</dd>
<dd><code>partitionSet</code> - a partition set used to find delete files</dd>
</dl>
</li>
</ul>
<a id="addedDeleteFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.expressions.Expression,org.apache.iceberg.util.PartitionSet,org.apache.iceberg.Snapshot)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addedDeleteFiles</h4>
<pre class="methodSignature">protected&nbsp;org.apache.iceberg.DeleteFileIndex&nbsp;addedDeleteFiles&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
<a href="util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</pre>
<div class="block">Returns matching delete files have been added to the table since a starting snapshot.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - table metadata to validate</dd>
<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
<dd><code>dataFilter</code> - an expression used to find delete files</dd>
<dd><code>partitionSet</code> - a partition set used to find delete files</dd>
<dd><code>parent</code> - parent snapshot of the branch</dd>
</dl>
</li>
</ul>
<a id="validateDeletedDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.expressions.Expression)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateDeletedDataFiles</h4>
<pre class="methodSignature">@Deprecated
protected&nbsp;void&nbsp;validateDeletedDataFiles&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateDeletedDataFiles(TableMetadata, Long, Expression,
Snapshot)</code> instead</div>
</div>
<div class="block">Validates that no files matching a filter have been deleted from the table since a starting
snapshot.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - table metadata to validate</dd>
<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
<dd><code>dataFilter</code> - an expression used to find deleted data files</dd>
</dl>
</li>
</ul>
<a id="validateDeletedDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.expressions.Expression,org.apache.iceberg.Snapshot)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateDeletedDataFiles</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;validateDeletedDataFiles&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</pre>
<div class="block">Validates that no files matching a filter have been deleted from the table since a starting
snapshot.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - table metadata to validate</dd>
<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
<dd><code>dataFilter</code> - an expression used to find deleted data files</dd>
<dd><code>parent</code> - ending snapshot on the branch being validated</dd>
</dl>
</li>
</ul>
<a id="validateDeletedDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.util.PartitionSet)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateDeletedDataFiles</h4>
<pre class="methodSignature">@Deprecated
protected&nbsp;void&nbsp;validateDeletedDataFiles&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(TableMetadata, Long, PartitionSet,
Snapshot)</code> instead</div>
</div>
<div class="block">Validates that no files matching a filter have been deleted from the table since a starting
snapshot.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - table metadata to validate</dd>
<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
<dd><code>partitionSet</code> - a partition set used to find deleted data files</dd>
</dl>
</li>
</ul>
<a id="validateDeletedDataFiles(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.util.PartitionSet,org.apache.iceberg.Snapshot)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateDeletedDataFiles</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;validateDeletedDataFiles&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</pre>
<div class="block">Validates that no files matching a filter have been deleted from the table since a starting
snapshot.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - table metadata to validate</dd>
<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
<dd><code>partitionSet</code> - a partition set used to find deleted data files</dd>
<dd><code>parent</code> - ending snapshot on the branch being validated</dd>
</dl>
</li>
</ul>
<a id="setNewFilesSequenceNumber(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNewFilesSequenceNumber</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;setNewFilesSequenceNumber&#8203;(long&nbsp;sequenceNumber)</pre>
</li>
</ul>
<a id="validateDataFilesExist(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.util.CharSequenceSet,boolean,org.apache.iceberg.expressions.Expression)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateDataFilesExist</h4>
<pre class="methodSignature">@Deprecated
protected&nbsp;void&nbsp;validateDataFilesExist&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="util/CharSequenceSet.html" title="class in org.apache.iceberg.util">CharSequenceSet</a>&nbsp;requiredDataFiles,
boolean&nbsp;skipDeletes,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
</li>
</ul>
<a id="validateDataFilesExist(org.apache.iceberg.TableMetadata,java.lang.Long,org.apache.iceberg.util.CharSequenceSet,boolean,org.apache.iceberg.expressions.Expression,org.apache.iceberg.Snapshot)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateDataFilesExist</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;validateDataFilesExist&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
java.lang.Long&nbsp;startingSnapshotId,
<a href="util/CharSequenceSet.html" title="class in org.apache.iceberg.util">CharSequenceSet</a>&nbsp;requiredDataFiles,
boolean&nbsp;skipDeletes,
<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</pre>
</li>
</ul>
<a id="summary()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>summary</h4>
<pre class="methodSignature">protected&nbsp;java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;summary()</pre>
</li>
</ul>
<a id="apply(org.apache.iceberg.TableMetadata,org.apache.iceberg.Snapshot)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>apply</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;<a href="ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;&nbsp;apply&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;snapshot)</pre>
<div class="block">Apply the update's changes to the given metadata and snapshot. Return the new manifest list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - the base table metadata to apply changes to</dd>
<dd><code>snapshot</code> - snapshot to apply the changes to</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a manifest list for the new snapshot.</dd>
</dl>
</li>
</ul>
<a id="updateEvent()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateEvent</h4>
<pre class="methodSignature">public&nbsp;java.lang.Object&nbsp;updateEvent()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="PendingUpdate.html#updateEvent()">PendingUpdate</a></code></span></div>
<div class="block">Generates update event to notify about metadata changes</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the generated event</dd>
</dl>
</li>
</ul>
<a id="cleanUncommitted(java.util.Set)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cleanUncommitted</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;cleanUncommitted&#8203;(java.util.Set&lt;<a href="ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;&nbsp;committed)</pre>
<div class="block">Clean up any uncommitted manifests that were created.
<p>Manifests may not be committed if apply is called more because a commit conflict has
occurred. Implementations may keep around manifests because the same changes will be made by
both apply calls. This method instructs the implementation to clean up those manifests and
passes the paths of the manifests that were actually committed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>committed</code> - a set of manifest paths that were actually committed</dd>
</dl>
</li>
</ul>
<a id="stageOnly()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stageOnly</h4>
<pre class="methodSignature">public&nbsp;ThisT&nbsp;stageOnly()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SnapshotUpdate.html#stageOnly()">SnapshotUpdate</a></code></span></div>
<div class="block">Called to stage a snapshot in table metadata, but not update the current snapshot id.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SnapshotUpdate.html#stageOnly()">stageOnly</a></code>&nbsp;in interface&nbsp;<code><a href="SnapshotUpdate.html" title="interface in org.apache.iceberg">SnapshotUpdate</a>&lt;ThisT&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a id="scanManifestsWith(java.util.concurrent.ExecutorService)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scanManifestsWith</h4>
<pre class="methodSignature">public&nbsp;ThisT&nbsp;scanManifestsWith&#8203;(java.util.concurrent.ExecutorService&nbsp;executorService)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SnapshotUpdate.html#scanManifestsWith(java.util.concurrent.ExecutorService)">SnapshotUpdate</a></code></span></div>
<div class="block">Use a particular executor to scan manifests. The default worker pool will be used by default.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SnapshotUpdate.html#scanManifestsWith(java.util.concurrent.ExecutorService)">scanManifestsWith</a></code>&nbsp;in interface&nbsp;<code><a href="SnapshotUpdate.html" title="interface in org.apache.iceberg">SnapshotUpdate</a>&lt;ThisT&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>executorService</code> - the provided executor</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a id="commitMetrics()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>commitMetrics</h4>
<pre class="methodSignature">protected&nbsp;<a href="metrics/CommitMetrics.html" title="class in org.apache.iceberg.metrics">CommitMetrics</a>&nbsp;commitMetrics()</pre>
</li>
</ul>
<a id="reportWith(org.apache.iceberg.metrics.MetricsReporter)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reportWith</h4>
<pre class="methodSignature">protected&nbsp;ThisT&nbsp;reportWith&#8203;(<a href="metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;newReporter)</pre>
</li>
</ul>
<a id="targetBranch(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>targetBranch</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;targetBranch&#8203;(java.lang.String&nbsp;branch)</pre>
<div class="block">* A setter for the target branch on which snapshot producer operation should be performed</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>branch</code> - to set as target branch</dd>
</dl>
</li>
</ul>
<a id="targetBranch()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>targetBranch</h4>
<pre class="methodSignature">protected&nbsp;java.lang.String&nbsp;targetBranch()</pre>
</li>
</ul>
<a id="workerPool()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>workerPool</h4>
<pre class="methodSignature">protected&nbsp;java.util.concurrent.ExecutorService&nbsp;workerPool()</pre>
</li>
</ul>
<a id="deleteWith(java.util.function.Consumer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteWith</h4>
<pre class="methodSignature">public&nbsp;ThisT&nbsp;deleteWith&#8203;(java.util.function.Consumer&lt;java.lang.String&gt;&nbsp;deleteCallback)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SnapshotUpdate.html#deleteWith(java.util.function.Consumer)">SnapshotUpdate</a></code></span></div>
<div class="block">Set a callback to delete files instead of the table's default.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SnapshotUpdate.html#deleteWith(java.util.function.Consumer)">deleteWith</a></code>&nbsp;in interface&nbsp;<code><a href="SnapshotUpdate.html" title="interface in org.apache.iceberg">SnapshotUpdate</a>&lt;ThisT&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>deleteCallback</code> - a String consumer used to delete locations.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a id="validate(org.apache.iceberg.TableMetadata,org.apache.iceberg.Snapshot)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validate</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;validate&#8203;(<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;currentMetadata,
<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;snapshot)</pre>
<div class="block">Validate the current metadata.
<p>Child operations can override this to add custom validation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>currentMetadata</code> - current table metadata to validate</dd>
<dd><code>snapshot</code> - ending snapshot on the lineage which is being validated</dd>
</dl>
</li>
</ul>
<a id="apply()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>apply</h4>
<pre class="methodSignature">public&nbsp;<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;apply()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="PendingUpdate.html#apply()">PendingUpdate</a></code></span></div>
<div class="block">Apply the pending changes and return the uncommitted changes for validation.
<p>This does not result in a permanent update.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="PendingUpdate.html#apply()">apply</a></code>&nbsp;in interface&nbsp;<code><a href="PendingUpdate.html" title="interface in org.apache.iceberg">PendingUpdate</a>&lt;ThisT&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the uncommitted changes that would be committed by calling <a href="PendingUpdate.html#commit()"><code>PendingUpdate.commit()</code></a></dd>
</dl>
</li>
</ul>
<a id="current()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>current</h4>
<pre class="methodSignature">protected&nbsp;<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;current()</pre>
</li>
</ul>
<a id="refresh()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>refresh</h4>
<pre class="methodSignature">protected&nbsp;<a href="TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;refresh()</pre>
</li>
</ul>
<a id="commit()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>commit</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;commit()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="PendingUpdate.html#commit()">PendingUpdate</a></code></span></div>
<div class="block">Apply the pending changes and commit.
<p>Changes are committed by calling the underlying table's commit method.
<p>Once the commit is successful, the updated table will be refreshed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="PendingUpdate.html#commit()">commit</a></code>&nbsp;in interface&nbsp;<code><a href="PendingUpdate.html" title="interface in org.apache.iceberg">PendingUpdate</a>&lt;ThisT&gt;</code></dd>
</dl>
</li>
</ul>
<a id="cleanAll()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cleanAll</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;cleanAll()</pre>
</li>
</ul>
<a id="deleteFile(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteFile</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;deleteFile&#8203;(java.lang.String&nbsp;path)</pre>
</li>
</ul>
<a id="manifestListPath()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>manifestListPath</h4>
<pre class="methodSignature">protected&nbsp;<a href="io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a>&nbsp;manifestListPath()</pre>
</li>
</ul>
<a id="newManifestOutput()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newManifestOutput</h4>
<pre class="methodSignature">protected&nbsp;<a href="io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a>&nbsp;newManifestOutput()</pre>
</li>
</ul>
<a id="newManifestWriter(org.apache.iceberg.PartitionSpec)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newManifestWriter</h4>
<pre class="methodSignature">protected&nbsp;<a href="ManifestWriter.html" title="class in org.apache.iceberg">ManifestWriter</a>&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;newManifestWriter&#8203;(<a href="PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec)</pre>
</li>
</ul>
<a id="newDeleteManifestWriter(org.apache.iceberg.PartitionSpec)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newDeleteManifestWriter</h4>
<pre class="methodSignature">protected&nbsp;<a href="ManifestWriter.html" title="class in org.apache.iceberg">ManifestWriter</a>&lt;<a href="DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;newDeleteManifestWriter&#8203;(<a href="PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec)</pre>
</li>
</ul>
<a id="newManifestReader(org.apache.iceberg.ManifestFile)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newManifestReader</h4>
<pre class="methodSignature">protected&nbsp;<a href="ManifestReader.html" title="class in org.apache.iceberg">ManifestReader</a>&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;newManifestReader&#8203;(<a href="ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifest)</pre>
</li>
</ul>
<a id="newDeleteManifestReader(org.apache.iceberg.ManifestFile)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newDeleteManifestReader</h4>
<pre class="methodSignature">protected&nbsp;<a href="ManifestReader.html" title="class in org.apache.iceberg">ManifestReader</a>&lt;<a href="DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;newDeleteManifestReader&#8203;(<a href="ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifest)</pre>
</li>
</ul>
<a id="snapshotId()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>snapshotId</h4>
<pre class="methodSignature">protected&nbsp;long&nbsp;snapshotId()</pre>
</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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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>