<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>OverwriteFiles</title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="OverwriteFiles";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../org/apache/iceberg/NullOrder.html" title="enum in org.apache.iceberg"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/iceberg/PartitionData.html" title="class in org.apache.iceberg"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/iceberg/OverwriteFiles.html" target="_top">Frames</a></li>
<li><a href="OverwriteFiles.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.iceberg</div>
<h2 title="Interface OverwriteFiles" class="title">Interface OverwriteFiles</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../org/apache/iceberg/PendingUpdate.html" title="interface in org.apache.iceberg">PendingUpdate</a>&lt;<a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;, <a href="../../../org/apache/iceberg/SnapshotUpdate.html" title="interface in org.apache.iceberg">SnapshotUpdate</a>&lt;<a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a>&gt;</dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html" title="class in org.apache.iceberg">BaseOverwriteFiles</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">OverwriteFiles</span>
extends <a href="../../../org/apache/iceberg/SnapshotUpdate.html" title="interface in org.apache.iceberg">SnapshotUpdate</a>&lt;<a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a>&gt;</pre>
<div class="block">API for overwriting files in a table.

 <p>This API accumulates file additions and produces a new <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg"><code>Snapshot</code></a> of the table by
 replacing all the deleted files with the set of additions. This operation is used to implement
 idempotent writes that always replace a section of a table with new data or update/delete
 operations that eagerly overwrite files.

 <p>Overwrites can be validated. The default validation mode is idempotent, meaning the overwrite
 is correct and should be committed out regardless of other concurrent changes to the table. For
 example, this can be used for replacing all the data for day D with query results. Alternatively,
 this API can be configured for overwriting certain files with their filtered versions while
 ensuring no new data that would need to be filtered has been added.

 <p>When committing, these changes will be applied to the latest table snapshot. Commit conflicts
 will be resolved by applying the changes to the new latest snapshot and reattempting the commit.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/OverwriteFiles.html#addFile-org.apache.iceberg.DataFile-">addFile</a></span>(<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;file)</code>
<div class="block">Add a <a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> to the table.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/OverwriteFiles.html#caseSensitive-boolean-">caseSensitive</a></span>(boolean&nbsp;caseSensitive)</code>
<div class="block">Enables or disables case sensitive expression binding for validations that accept expressions.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/OverwriteFiles.html#conflictDetectionFilter-org.apache.iceberg.expressions.Expression-">conflictDetectionFilter</a></span>(<a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter)</code>
<div class="block">Sets a conflict detection filter used to validate concurrently added data and delete files.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/OverwriteFiles.html#deleteFile-org.apache.iceberg.DataFile-">deleteFile</a></span>(<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;file)</code>
<div class="block">Delete a <a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> from the table.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/OverwriteFiles.html#overwriteByRowFilter-org.apache.iceberg.expressions.Expression-">overwriteByRowFilter</a></span>(<a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;expr)</code>
<div class="block">Delete files that match an <a href="../../../org/apache/iceberg/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="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/OverwriteFiles.html#validateAddedFilesMatchOverwriteFilter--">validateAddedFilesMatchOverwriteFilter</a></span>()</code>
<div class="block">Signal that each file added to the table must match the overwrite expression.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/OverwriteFiles.html#validateFromSnapshot-long-">validateFromSnapshot</a></span>(long&nbsp;snapshotId)</code>
<div class="block">Set the snapshot ID used in any reads for this operation.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/OverwriteFiles.html#validateNoConflictingData--">validateNoConflictingData</a></span>()</code>
<div class="block">Enables validation that data added concurrently does not conflict with this commit's operation.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/OverwriteFiles.html#validateNoConflictingDeletes--">validateNoConflictingDeletes</a></span>()</code>
<div class="block">Enables validation that deletes that happened concurrently do not conflict with this commit's
 operation.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.SnapshotUpdate">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/SnapshotUpdate.html" title="interface in org.apache.iceberg">SnapshotUpdate</a></h3>
<code><a href="../../../org/apache/iceberg/SnapshotUpdate.html#deleteWith-java.util.function.Consumer-">deleteWith</a>, <a href="../../../org/apache/iceberg/SnapshotUpdate.html#scanManifestsWith-java.util.concurrent.ExecutorService-">scanManifestsWith</a>, <a href="../../../org/apache/iceberg/SnapshotUpdate.html#set-java.lang.String-java.lang.String-">set</a>, <a href="../../../org/apache/iceberg/SnapshotUpdate.html#stageOnly--">stageOnly</a>, <a href="../../../org/apache/iceberg/SnapshotUpdate.html#toBranch-java.lang.String-">toBranch</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.PendingUpdate">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/PendingUpdate.html" title="interface in org.apache.iceberg">PendingUpdate</a></h3>
<code><a href="../../../org/apache/iceberg/PendingUpdate.html#apply--">apply</a>, <a href="../../../org/apache/iceberg/PendingUpdate.html#commit--">commit</a>, <a href="../../../org/apache/iceberg/PendingUpdate.html#updateEvent--">updateEvent</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="overwriteByRowFilter-org.apache.iceberg.expressions.Expression-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>overwriteByRowFilter</h4>
<pre><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a>&nbsp;overwriteByRowFilter(<a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;expr)</pre>
<div class="block">Delete files that match an <a href="../../../org/apache/iceberg/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="../../../org/apache/iceberg/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="../../../org/apache/iceberg/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="../../../org/apache/iceberg/exceptions/ValidationException.html" title="class in org.apache.iceberg.exceptions"><code>ValidationException</code></a>.</div>
<dl>
<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>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../org/apache/iceberg/exceptions/ValidationException.html" title="class in org.apache.iceberg.exceptions">ValidationException</a></code> - If a file can contain both rows that match and rows that do not</dd>
</dl>
</li>
</ul>
<a name="addFile-org.apache.iceberg.DataFile-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addFile</h4>
<pre><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a>&nbsp;addFile(<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;file)</pre>
<div class="block">Add a <a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> to the table.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>file</code> - a data file</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a name="deleteFile-org.apache.iceberg.DataFile-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteFile</h4>
<pre><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a>&nbsp;deleteFile(<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;file)</pre>
<div class="block">Delete a <a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> from the table.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>file</code> - a data file</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a name="validateAddedFilesMatchOverwriteFilter--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateAddedFilesMatchOverwriteFilter</h4>
<pre><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a>&nbsp;validateAddedFilesMatchOverwriteFilter()</pre>
<div class="block">Signal that each file added to the table must match the overwrite expression.

 <p>If this method is called, each added file is validated on commit to ensure that it matches
 the overwrite row filter. This is used to ensure that writes are idempotent: that files cannot
 be added during a commit that would not be removed if the operation were run a second time.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a name="validateFromSnapshot-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateFromSnapshot</h4>
<pre><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a>&nbsp;validateFromSnapshot(long&nbsp;snapshotId)</pre>
<div class="block">Set the snapshot ID used in any reads for this operation.

 <p>Validations will check changes after this snapshot ID. If the from snapshot is not set, all
 ancestor snapshots through the table's initial snapshot are validated.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>snapshotId</code> - a snapshot ID</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a name="caseSensitive-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>caseSensitive</h4>
<pre><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a>&nbsp;caseSensitive(boolean&nbsp;caseSensitive)</pre>
<div class="block">Enables or disables case sensitive expression binding for validations that accept expressions.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>caseSensitive</code> - whether expression binding should be case sensitive</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a name="conflictDetectionFilter-org.apache.iceberg.expressions.Expression-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>conflictDetectionFilter</h4>
<pre><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a>&nbsp;conflictDetectionFilter(<a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter)</pre>
<div class="block">Sets a conflict detection filter used to validate concurrently added data and delete files.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>conflictDetectionFilter</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 name="validateNoConflictingData--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateNoConflictingData</h4>
<pre><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a>&nbsp;validateNoConflictingData()</pre>
<div class="block">Enables validation that data added concurrently does not conflict with this commit's operation.

 <p>This method should be called while committing non-idempotent overwrite operations. If a
 concurrent operation commits a new file after the data was read and that file might contain
 rows matching the specified conflict detection filter, the overwrite operation will detect this
 and fail.

 <p>Calling this method with a correct conflict detection filter is required to maintain
 isolation for non-idempotent overwrite operations.

 <p>Validation uses the conflict detection filter passed to <a href="../../../org/apache/iceberg/OverwriteFiles.html#conflictDetectionFilter-org.apache.iceberg.expressions.Expression-"><code>conflictDetectionFilter(Expression)</code></a> and applies to operations that happened after the
 snapshot passed to <a href="../../../org/apache/iceberg/OverwriteFiles.html#validateFromSnapshot-long-"><code>validateFromSnapshot(long)</code></a>. If the conflict detection filter is not
 set, any new data added concurrently will fail this overwrite operation.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a name="validateNoConflictingDeletes--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>validateNoConflictingDeletes</h4>
<pre><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a>&nbsp;validateNoConflictingDeletes()</pre>
<div class="block">Enables validation that deletes that happened concurrently do not conflict with this commit's
 operation.

 <p>Validating concurrent deletes is required during non-idempotent overwrite operations. If a
 concurrent operation deletes data in one of the files being overwritten, the overwrite
 operation must be aborted as it may undelete rows that were removed concurrently.

 <p>Calling this method with a correct conflict detection filter is required to maintain
 isolation for non-idempotent overwrite operations.

 <p>Validation uses the conflict detection filter passed to <a href="../../../org/apache/iceberg/OverwriteFiles.html#conflictDetectionFilter-org.apache.iceberg.expressions.Expression-"><code>conflictDetectionFilter(Expression)</code></a> and applies to operations that happened after the
 snapshot passed to <a href="../../../org/apache/iceberg/OverwriteFiles.html#validateFromSnapshot-long-"><code>validateFromSnapshot(long)</code></a>. If the conflict detection filter is not
 set, this operation will use the row filter provided in <a href="../../../org/apache/iceberg/OverwriteFiles.html#overwriteByRowFilter-org.apache.iceberg.expressions.Expression-"><code>overwriteByRowFilter(Expression)</code></a> to check for new delete files and will ensure there are no
 conflicting deletes for data files removed via <a href="../../../org/apache/iceberg/OverwriteFiles.html#deleteFile-org.apache.iceberg.DataFile-"><code>deleteFile(DataFile)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../org/apache/iceberg/NullOrder.html" title="enum in org.apache.iceberg"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/iceberg/PartitionData.html" title="class in org.apache.iceberg"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/iceberg/OverwriteFiles.html" target="_top">Frames</a></li>
<li><a href="OverwriteFiles.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
