blob: 8e6fb22289baf582f29ce632ef20d9e2cb37b3fd [file]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>iceberg-cpp: iceberg::RowDelta Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">iceberg-cpp
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespaceiceberg.html">iceberg</a></li><li class="navelem"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classiceberg_1_1RowDelta-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">iceberg::RowDelta Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>API for encoding row-level changes to a table.
<a href="classiceberg_1_1RowDelta.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="row__delta_8h_source.html">row_delta.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for iceberg::RowDelta:</div>
<div class="dyncontent">
<div class="center">
<img src="classiceberg_1_1RowDelta.png" usemap="#iceberg::RowDelta_map" alt=""/>
<map id="iceberg::RowDelta_map" name="iceberg::RowDelta_map">
<area href="classiceberg_1_1MergingSnapshotUpdate.html" title="Abstract base class for merge-based snapshot write operations." alt="iceberg::MergingSnapshotUpdate" shape="rect" coords="0,168,199,192"/>
<area href="classiceberg_1_1SnapshotUpdate.html" title="API for table changes that produce snapshots." alt="iceberg::SnapshotUpdate" shape="rect" coords="0,112,199,136"/>
<area href="classiceberg_1_1PendingUpdate.html" title="Base class for all kinds of table metadata updates." alt="iceberg::PendingUpdate" shape="rect" coords="0,56,199,80"/>
<area href="classiceberg_1_1ErrorCollector.html" title="Base class for collecting errors in the builder pattern." alt="iceberg::ErrorCollector" shape="rect" coords="0,0,199,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a44edfcb53ee995c8a291f96e9876e07b" id="r_a44edfcb53ee995c8a291f96e9876e07b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1RowDelta.html#a44edfcb53ee995c8a291f96e9876e07b">AddRows</a> (const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1DataFile.html">DataFile</a> &gt; &amp;inserts)</td></tr>
<tr class="memdesc:a44edfcb53ee995c8a291f96e9876e07b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <a class="el" href="structiceberg_1_1DataFile.html" title="DataFile carries data file path, partition tuple, metrics, ...">DataFile</a> to the table. <br /></td></tr>
<tr class="separator:a44edfcb53ee995c8a291f96e9876e07b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedde88e3b9012b3149f1ac9ae3cc0732" id="r_aedde88e3b9012b3149f1ac9ae3cc0732"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1RowDelta.html#aedde88e3b9012b3149f1ac9ae3cc0732">AddDeletes</a> (const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1DataFile.html">DataFile</a> &gt; &amp;deletes)</td></tr>
<tr class="memdesc:aedde88e3b9012b3149f1ac9ae3cc0732"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a DeleteFile to the table. <br /></td></tr>
<tr class="separator:aedde88e3b9012b3149f1ac9ae3cc0732"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18af54eb9f01d5f450781867684522d7" id="r_a18af54eb9f01d5f450781867684522d7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1RowDelta.html#a18af54eb9f01d5f450781867684522d7">RemoveRows</a> (const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1DataFile.html">DataFile</a> &gt; &amp;file)</td></tr>
<tr class="memdesc:a18af54eb9f01d5f450781867684522d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a <a class="el" href="structiceberg_1_1DataFile.html" title="DataFile carries data file path, partition tuple, metrics, ...">DataFile</a> from the table. <br /></td></tr>
<tr class="separator:a18af54eb9f01d5f450781867684522d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa81bf077a7699ba8fe9abdd1c17f6d4b" id="r_aa81bf077a7699ba8fe9abdd1c17f6d4b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1RowDelta.html#aa81bf077a7699ba8fe9abdd1c17f6d4b">RemoveDeletes</a> (const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1DataFile.html">DataFile</a> &gt; &amp;deletes)</td></tr>
<tr class="memdesc:aa81bf077a7699ba8fe9abdd1c17f6d4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a rewritten DeleteFile from the table. <br /></td></tr>
<tr class="separator:aa81bf077a7699ba8fe9abdd1c17f6d4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04d7160053beec055b5bc3d302776c72" id="r_a04d7160053beec055b5bc3d302776c72"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1RowDelta.html#a04d7160053beec055b5bc3d302776c72">ValidateFromSnapshot</a> (int64_t snapshot_id)</td></tr>
<tr class="memdesc:a04d7160053beec055b5bc3d302776c72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the snapshot ID used in any reads for this operation. <br /></td></tr>
<tr class="separator:a04d7160053beec055b5bc3d302776c72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfff87e4df4033f3f995fe7a9efc8c1c" id="r_abfff87e4df4033f3f995fe7a9efc8c1c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1RowDelta.html#abfff87e4df4033f3f995fe7a9efc8c1c">CaseSensitive</a> (bool case_sensitive)</td></tr>
<tr class="memdesc:abfff87e4df4033f3f995fe7a9efc8c1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable or disable case-sensitive expression binding for validations. <br /></td></tr>
<tr class="separator:abfff87e4df4033f3f995fe7a9efc8c1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2402bbc42b5435f6ba8d78de01fcccde" id="r_a2402bbc42b5435f6ba8d78de01fcccde"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1RowDelta.html#a2402bbc42b5435f6ba8d78de01fcccde">ValidateDataFilesExist</a> (std::span&lt; const std::string &gt; referenced_files)</td></tr>
<tr class="memdesc:a2402bbc42b5435f6ba8d78de01fcccde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add data file paths that must not be removed by conflicting commits. <br /></td></tr>
<tr class="separator:a2402bbc42b5435f6ba8d78de01fcccde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46a073db0c99e0c46413d7b89b3fa89f" id="r_a46a073db0c99e0c46413d7b89b3fa89f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1RowDelta.html#a46a073db0c99e0c46413d7b89b3fa89f">ValidateDeletedFiles</a> ()</td></tr>
<tr class="memdesc:a46a073db0c99e0c46413d7b89b3fa89f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable validation that referenced data files were not deleted. <br /></td></tr>
<tr class="separator:a46a073db0c99e0c46413d7b89b3fa89f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8c598a5024ffca8fdb5d25584d7f63e" id="r_ab8c598a5024ffca8fdb5d25584d7f63e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1RowDelta.html#ab8c598a5024ffca8fdb5d25584d7f63e">ConflictDetectionFilter</a> (std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Expression.html">Expression</a> &gt; filter)</td></tr>
<tr class="memdesc:ab8c598a5024ffca8fdb5d25584d7f63e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a conflict detection filter used to validate concurrently added data and delete files. <br /></td></tr>
<tr class="separator:ab8c598a5024ffca8fdb5d25584d7f63e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a08c45826210e4879921cac3bebf182" id="r_a4a08c45826210e4879921cac3bebf182"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1RowDelta.html#a4a08c45826210e4879921cac3bebf182">ValidateNoConflictingDataFiles</a> ()</td></tr>
<tr class="memdesc:a4a08c45826210e4879921cac3bebf182"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable validation that concurrent data files do not conflict. <br /></td></tr>
<tr class="separator:a4a08c45826210e4879921cac3bebf182"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ae2d777d05d4194e59ddaa95925dd5f" id="r_a1ae2d777d05d4194e59ddaa95925dd5f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1RowDelta.html#a1ae2d777d05d4194e59ddaa95925dd5f">ValidateNoConflictingDeleteFiles</a> ()</td></tr>
<tr class="memdesc:a1ae2d777d05d4194e59ddaa95925dd5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable validation that concurrent delete files do not conflict. <br /></td></tr>
<tr class="separator:a1ae2d777d05d4194e59ddaa95925dd5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b275ad459dc7973b71277fc0a32d5d8" id="r_a8b275ad459dc7973b71277fc0a32d5d8"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1RowDelta.html#a8b275ad459dc7973b71277fc0a32d5d8">operation</a> () override</td></tr>
<tr class="memdesc:a8b275ad459dc7973b71277fc0a32d5d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">A string that describes the action that produced the new snapshot. <br /></td></tr>
<tr class="separator:a8b275ad459dc7973b71277fc0a32d5d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classiceberg_1_1SnapshotUpdate"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classiceberg_1_1SnapshotUpdate')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classiceberg_1_1SnapshotUpdate.html">iceberg::SnapshotUpdate</a></td></tr>
<tr class="memitem:ae194773e0ce37df3780121314322f440 inherit pub_methods_classiceberg_1_1SnapshotUpdate" id="r_ae194773e0ce37df3780121314322f440"><td class="memItemLeft" align="right" valign="top">Kind&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1SnapshotUpdate.html#ae194773e0ce37df3780121314322f440">kind</a> () const override</td></tr>
<tr class="memdesc:ae194773e0ce37df3780121314322f440 inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the kind of this pending update. <br /></td></tr>
<tr class="separator:ae194773e0ce37df3780121314322f440 inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97b2753654e1304914509f29dcf0a7ff inherit pub_methods_classiceberg_1_1SnapshotUpdate" id="r_a97b2753654e1304914509f29dcf0a7ff"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1SnapshotUpdate.html#a97b2753654e1304914509f29dcf0a7ff">IsRetryable</a> () const override</td></tr>
<tr class="memdesc:a97b2753654e1304914509f29dcf0a7ff inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether this update can be retried after a commit conflict. <br /></td></tr>
<tr class="separator:a97b2753654e1304914509f29dcf0a7ff inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9a810bc1da767ff0c9a613267e6f6f1 inherit pub_methods_classiceberg_1_1SnapshotUpdate" id="r_af9a810bc1da767ff0c9a613267e6f6f1"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1SnapshotUpdate.html#af9a810bc1da767ff0c9a613267e6f6f1">Commit</a> () override</td></tr>
<tr class="memdesc:af9a810bc1da767ff0c9a613267e6f6f1 inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply the pending changes and commit. <br /></td></tr>
<tr class="separator:af9a810bc1da767ff0c9a613267e6f6f1 inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc2c4005cd4f087d2eb3108819de483d inherit pub_methods_classiceberg_1_1SnapshotUpdate" id="r_afc2c4005cd4f087d2eb3108819de483d"><td class="memItemLeft" align="right" valign="top">auto &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1SnapshotUpdate.html#afc2c4005cd4f087d2eb3108819de483d">ReportWith</a> (this auto &amp;self, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1MetricsReporter.html">MetricsReporter</a> &gt; reporter)</td></tr>
<tr class="memdesc:afc2c4005cd4f087d2eb3108819de483d inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the metrics reporter for this snapshot update. <br /></td></tr>
<tr class="separator:afc2c4005cd4f087d2eb3108819de483d inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5a84c539ec3c559260b3c6b868943c7 inherit pub_methods_classiceberg_1_1SnapshotUpdate" id="r_af5a84c539ec3c559260b3c6b868943c7"><td class="memItemLeft" align="right" valign="top">auto &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1SnapshotUpdate.html#af5a84c539ec3c559260b3c6b868943c7">DeleteWith</a> (this auto &amp;self, std::function&lt; Status(const std::string &amp;)&gt; delete_func)</td></tr>
<tr class="memdesc:af5a84c539ec3c559260b3c6b868943c7 inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a callback to delete files instead of the table's default. <br /></td></tr>
<tr class="separator:af5a84c539ec3c559260b3c6b868943c7 inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43f427fe952631fffdd3c19e0c5ef434 inherit pub_methods_classiceberg_1_1SnapshotUpdate" id="r_a43f427fe952631fffdd3c19e0c5ef434"><td class="memItemLeft" align="right" valign="top">auto &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1SnapshotUpdate.html#a43f427fe952631fffdd3c19e0c5ef434">StageOnly</a> (this auto &amp;self)</td></tr>
<tr class="memdesc:a43f427fe952631fffdd3c19e0c5ef434 inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stage a snapshot in table metadata, but do not make it current. <br /></td></tr>
<tr class="separator:a43f427fe952631fffdd3c19e0c5ef434 inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6d8924f99e5ecc2d54a050b7e986ec7 inherit pub_methods_classiceberg_1_1SnapshotUpdate" id="r_ab6d8924f99e5ecc2d54a050b7e986ec7"><td class="memItemLeft" align="right" valign="top">auto &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1SnapshotUpdate.html#ab6d8924f99e5ecc2d54a050b7e986ec7">ScanManifestsWith</a> (this auto &amp;self, <a class="el" href="classiceberg_1_1Executor.html">Executor</a> &amp;executor)</td></tr>
<tr class="memdesc:ab6d8924f99e5ecc2d54a050b7e986ec7 inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure an executor for manifest planning work. <br /></td></tr>
<tr class="separator:ab6d8924f99e5ecc2d54a050b7e986ec7 inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a05380cb12c07b3b868df790ef0f829 inherit pub_methods_classiceberg_1_1SnapshotUpdate" id="r_a9a05380cb12c07b3b868df790ef0f829"><td class="memItemLeft" align="right" valign="top">auto &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1SnapshotUpdate.html#a9a05380cb12c07b3b868df790ef0f829">ToBranch</a> (this auto &amp;self, const std::string &amp;branch)</td></tr>
<tr class="memdesc:a9a05380cb12c07b3b868df790ef0f829 inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform operations on a particular branch. <br /></td></tr>
<tr class="separator:a9a05380cb12c07b3b868df790ef0f829 inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae19b638ceb6b7e57e4096ec943db223b inherit pub_methods_classiceberg_1_1SnapshotUpdate" id="r_ae19b638ceb6b7e57e4096ec943db223b"><td class="memItemLeft" align="right" valign="top">auto &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1SnapshotUpdate.html#ae19b638ceb6b7e57e4096ec943db223b">Set</a> (this auto &amp;self, const std::string &amp;property, const std::string &amp;value)</td></tr>
<tr class="memdesc:ae19b638ceb6b7e57e4096ec943db223b inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a summary property in the snapshot produced by this update. <br /></td></tr>
<tr class="separator:ae19b638ceb6b7e57e4096ec943db223b inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7521b2d10189e112d7c3197c0f6ae4e inherit pub_methods_classiceberg_1_1SnapshotUpdate" id="r_ad7521b2d10189e112d7c3197c0f6ae4e"><td class="memItemLeft" align="right" valign="top">auto &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1SnapshotUpdate.html#ad7521b2d10189e112d7c3197c0f6ae4e">WriteManifestsWith</a> (this auto &amp;self, <a class="el" href="classiceberg_1_1Executor.html">Executor</a> &amp;executor, int32_t parallelism)</td></tr>
<tr class="memdesc:ad7521b2d10189e112d7c3197c0f6ae4e inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure an executor and max writer count for writing new manifests. <br /></td></tr>
<tr class="separator:ad7521b2d10189e112d7c3197c0f6ae4e inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d8205f070ab0c9cd86422a4b579a066 inherit pub_methods_classiceberg_1_1SnapshotUpdate" id="r_a8d8205f070ab0c9cd86422a4b579a066"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceiceberg.html#a9d5594e371beb516b0120e07e69d3af6">Result</a>&lt; <a class="el" href="structiceberg_1_1SnapshotUpdate_1_1ApplyResult.html">ApplyResult</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1SnapshotUpdate.html#a8d8205f070ab0c9cd86422a4b579a066">Apply</a> ()</td></tr>
<tr class="memdesc:a8d8205f070ab0c9cd86422a4b579a066 inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply the update's changes to create a new snapshot. <br /></td></tr>
<tr class="separator:a8d8205f070ab0c9cd86422a4b579a066 inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad942dda206e9c6454493a63eb48df0e0 inherit pub_methods_classiceberg_1_1SnapshotUpdate" id="r_ad942dda206e9c6454493a63eb48df0e0"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1SnapshotUpdate.html#ad942dda206e9c6454493a63eb48df0e0">Finalize</a> (<a class="el" href="namespaceiceberg.html#a9d5594e371beb516b0120e07e69d3af6">Result</a>&lt; const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> * &gt; commit_result) override</td></tr>
<tr class="memdesc:ad942dda206e9c6454493a63eb48df0e0 inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finalize the snapshot update, cleaning up any uncommitted files. <br /></td></tr>
<tr class="separator:ad942dda206e9c6454493a63eb48df0e0 inherit pub_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classiceberg_1_1PendingUpdate"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classiceberg_1_1PendingUpdate')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classiceberg_1_1PendingUpdate.html">iceberg::PendingUpdate</a></td></tr>
<tr class="memitem:ac5c3549e22869ad7f6abd417ffcabbe2 inherit pub_methods_classiceberg_1_1PendingUpdate" id="r_ac5c3549e22869ad7f6abd417ffcabbe2"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>PendingUpdate</b> (const <a class="el" href="classiceberg_1_1PendingUpdate.html">PendingUpdate</a> &amp;)=delete</td></tr>
<tr class="separator:ac5c3549e22869ad7f6abd417ffcabbe2 inherit pub_methods_classiceberg_1_1PendingUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3314053bba6a86931feb39c1487e2c8b inherit pub_methods_classiceberg_1_1PendingUpdate" id="r_a3314053bba6a86931feb39c1487e2c8b"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classiceberg_1_1PendingUpdate.html">PendingUpdate</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classiceberg_1_1PendingUpdate.html">PendingUpdate</a> &amp;)=delete</td></tr>
<tr class="separator:a3314053bba6a86931feb39c1487e2c8b inherit pub_methods_classiceberg_1_1PendingUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18521611dee09ce7f85477f38d85e75d inherit pub_methods_classiceberg_1_1PendingUpdate" id="r_a18521611dee09ce7f85477f38d85e75d"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>PendingUpdate</b> (<a class="el" href="classiceberg_1_1PendingUpdate.html">PendingUpdate</a> &amp;&amp;) noexcept=default</td></tr>
<tr class="separator:a18521611dee09ce7f85477f38d85e75d inherit pub_methods_classiceberg_1_1PendingUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e71d56c145591059c7e2f6ee0305295 inherit pub_methods_classiceberg_1_1PendingUpdate" id="r_a9e71d56c145591059c7e2f6ee0305295"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classiceberg_1_1PendingUpdate.html">PendingUpdate</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classiceberg_1_1PendingUpdate.html">PendingUpdate</a> &amp;&amp;) noexcept=default</td></tr>
<tr class="separator:a9e71d56c145591059c7e2f6ee0305295 inherit pub_methods_classiceberg_1_1PendingUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classiceberg_1_1ErrorCollector"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classiceberg_1_1ErrorCollector')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classiceberg_1_1ErrorCollector.html">iceberg::ErrorCollector</a></td></tr>
<tr class="memitem:a827c296a8527f87f76d7f9321e7ee68f inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_a827c296a8527f87f76d7f9321e7ee68f"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>ErrorCollector</b> (<a class="el" href="classiceberg_1_1ErrorCollector.html">ErrorCollector</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a827c296a8527f87f76d7f9321e7ee68f inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22311658715152d8e6e27834240ce446 inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_a22311658715152d8e6e27834240ce446"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classiceberg_1_1ErrorCollector.html">ErrorCollector</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classiceberg_1_1ErrorCollector.html">ErrorCollector</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a22311658715152d8e6e27834240ce446 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3fa546cd2748fe418db9c0933542755 inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_ab3fa546cd2748fe418db9c0933542755"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>ErrorCollector</b> (const <a class="el" href="classiceberg_1_1ErrorCollector.html">ErrorCollector</a> &amp;)=default</td></tr>
<tr class="separator:ab3fa546cd2748fe418db9c0933542755 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaba366560be481bfa9538735f3a38e3e inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_aaba366560be481bfa9538735f3a38e3e"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classiceberg_1_1ErrorCollector.html">ErrorCollector</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classiceberg_1_1ErrorCollector.html">ErrorCollector</a> &amp;)=default</td></tr>
<tr class="separator:aaba366560be481bfa9538735f3a38e3e inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a20345150b136c918ffe8947a7d75e1 inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_a3a20345150b136c918ffe8947a7d75e1"><td class="memTemplParams" colspan="2">template&lt;typename... Args&gt; </td></tr>
<tr class="memitem:a3a20345150b136c918ffe8947a7d75e1 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memTemplItemLeft" align="right" valign="top">auto &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classiceberg_1_1ErrorCollector.html#a3a20345150b136c918ffe8947a7d75e1">AddError</a> (this auto &amp;self, <a class="el" href="namespaceiceberg.html#a5cf8d9de1acce830ff4fc3d87fe95147">ErrorKind</a> kind, const std::format_string&lt; Args... &gt; fmt, Args &amp;&amp;... args)</td></tr>
<tr class="memdesc:a3a20345150b136c918ffe8947a7d75e1 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a specific error and return reference to derived class. <br /></td></tr>
<tr class="separator:a3a20345150b136c918ffe8947a7d75e1 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e555954de121d0908dcf4648da446e3 inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_a5e555954de121d0908dcf4648da446e3"><td class="memItemLeft" align="right" valign="top">auto &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1ErrorCollector.html#a5e555954de121d0908dcf4648da446e3">AddError</a> (this auto &amp;self, <a class="el" href="structiceberg_1_1Error.html">Error</a> err)</td></tr>
<tr class="memdesc:a5e555954de121d0908dcf4648da446e3 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an existing error object and return reference to derived class. <br /></td></tr>
<tr class="separator:a5e555954de121d0908dcf4648da446e3 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5749264a2234092a5246056a1c72ee51 inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_a5749264a2234092a5246056a1c72ee51"><td class="memItemLeft" align="right" valign="top">auto &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1ErrorCollector.html#a5749264a2234092a5246056a1c72ee51">AddError</a> (this auto &amp;self, std::unexpected&lt; <a class="el" href="structiceberg_1_1Error.html">Error</a> &gt; err)</td></tr>
<tr class="memdesc:a5749264a2234092a5246056a1c72ee51 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an unexpected result's error and return reference to derived class. <br /></td></tr>
<tr class="separator:a5749264a2234092a5246056a1c72ee51 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8813b3fe2a3cc112e6db19c87b8422ae inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_a8813b3fe2a3cc112e6db19c87b8422ae"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1ErrorCollector.html#a8813b3fe2a3cc112e6db19c87b8422ae">has_errors</a> () const</td></tr>
<tr class="memdesc:a8813b3fe2a3cc112e6db19c87b8422ae inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if any errors have been collected. <br /></td></tr>
<tr class="separator:a8813b3fe2a3cc112e6db19c87b8422ae inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afae10739a78bbffc2609a63e52821195 inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_afae10739a78bbffc2609a63e52821195"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1ErrorCollector.html#afae10739a78bbffc2609a63e52821195">error_count</a> () const</td></tr>
<tr class="memdesc:afae10739a78bbffc2609a63e52821195 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of errors collected. <br /></td></tr>
<tr class="separator:afae10739a78bbffc2609a63e52821195 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16cbe7b6d423a372c9e68d970ff2c3ea inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_a16cbe7b6d423a372c9e68d970ff2c3ea"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1ErrorCollector.html#a16cbe7b6d423a372c9e68d970ff2c3ea">CheckErrors</a> () const</td></tr>
<tr class="memdesc:a16cbe7b6d423a372c9e68d970ff2c3ea inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check for accumulated errors and return them if any exist. <br /></td></tr>
<tr class="separator:a16cbe7b6d423a372c9e68d970ff2c3ea inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a274df2b90b0c22156a4c339aa30a4401 inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_a274df2b90b0c22156a4c339aa30a4401"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1ErrorCollector.html#a274df2b90b0c22156a4c339aa30a4401">ClearErrors</a> ()</td></tr>
<tr class="memdesc:a274df2b90b0c22156a4c339aa30a4401 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear all accumulated errors. <br /></td></tr>
<tr class="separator:a274df2b90b0c22156a4c339aa30a4401 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a101fb70f2ad50a6023de932dc2eca96c inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_a101fb70f2ad50a6023de932dc2eca96c"><td class="memItemLeft" align="right" valign="top">
const std::vector&lt; <a class="el" href="structiceberg_1_1Error.html">Error</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>errors</b> () const</td></tr>
<tr class="memdesc:a101fb70f2ad50a6023de932dc2eca96c inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get read-only access to all collected errors. <br /></td></tr>
<tr class="separator:a101fb70f2ad50a6023de932dc2eca96c inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a7b9d5a3ceff65d3ca5f2555d86424797" id="r_a7b9d5a3ceff65d3ca5f2555d86424797"><td class="memItemLeft" align="right" valign="top"><a id="a7b9d5a3ceff65d3ca5f2555d86424797" name="a7b9d5a3ceff65d3ca5f2555d86424797"></a>
static <a class="el" href="namespaceiceberg.html#a9d5594e371beb516b0120e07e69d3af6">Result</a>&lt; std::unique_ptr&lt; <a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Make</b> (std::string table_name, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1TransactionContext.html">TransactionContext</a> &gt; ctx)</td></tr>
<tr class="memdesc:a7b9d5a3ceff65d3ca5f2555d86424797"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="classiceberg_1_1RowDelta.html" title="API for encoding row-level changes to a table.">RowDelta</a> instance. <br /></td></tr>
<tr class="separator:a7b9d5a3ceff65d3ca5f2555d86424797"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:aa1ea76dd8e7c417de2d42f9c5878f005" id="r_aa1ea76dd8e7c417de2d42f9c5878f005"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1RowDelta.html#aa1ea76dd8e7c417de2d42f9c5878f005">Validate</a> (const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &amp;current_metadata, const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1Snapshot.html">Snapshot</a> &gt; &amp;snapshot) override</td></tr>
<tr class="memdesc:aa1ea76dd8e7c417de2d42f9c5878f005"><td class="mdescLeft">&#160;</td><td class="mdescRight">Validate the current metadata. <br /></td></tr>
<tr class="separator:aa1ea76dd8e7c417de2d42f9c5878f005"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classiceberg_1_1MergingSnapshotUpdate')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classiceberg_1_1MergingSnapshotUpdate.html">iceberg::MergingSnapshotUpdate</a></td></tr>
<tr class="memitem:a8ab836f6fd8fcb7d09c176ff46e9fe05 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_a8ab836f6fd8fcb7d09c176ff46e9fe05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceiceberg.html#a9d5594e371beb516b0120e07e69d3af6">Result</a>&lt; std::vector&lt; <a class="el" href="structiceberg_1_1ManifestFile.html">ManifestFile</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1MergingSnapshotUpdate.html#a8ab836f6fd8fcb7d09c176ff46e9fe05">Apply</a> (const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &amp;metadata_to_update, const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1Snapshot.html">Snapshot</a> &gt; &amp;snapshot) override</td></tr>
<tr class="memdesc:a8ab836f6fd8fcb7d09c176ff46e9fe05 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply the update's changes to the given metadata and snapshot. <br /></td></tr>
<tr class="separator:a8ab836f6fd8fcb7d09c176ff46e9fe05 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab12c6ab278eca6482c616bec1e3e06b6 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_ab12c6ab278eca6482c616bec1e3e06b6"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1MergingSnapshotUpdate.html#ab12c6ab278eca6482c616bec1e3e06b6">CleanUncommitted</a> (const std::unordered_set&lt; std::string &gt; &amp;committed) override</td></tr>
<tr class="memdesc:ab12c6ab278eca6482c616bec1e3e06b6 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clean up any uncommitted manifests that were created. <br /></td></tr>
<tr class="separator:ab12c6ab278eca6482c616bec1e3e06b6 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10f1d4df0ee98054df1ac7376addb88e inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_a10f1d4df0ee98054df1ac7376addb88e"><td class="memItemLeft" align="right" valign="top">std::unordered_map&lt; std::string, std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1MergingSnapshotUpdate.html#a10f1d4df0ee98054df1ac7376addb88e">Summary</a> () override</td></tr>
<tr class="memdesc:a10f1d4df0ee98054df1ac7376addb88e inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the summary map for this operation. <br /></td></tr>
<tr class="separator:a10f1d4df0ee98054df1ac7376addb88e inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4b34b89786b16250bd3f9ffacc411da inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_af4b34b89786b16250bd3f9ffacc411da"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>MergingSnapshotUpdate</b> (std::string table_name, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1TransactionContext.html">TransactionContext</a> &gt; ctx)</td></tr>
<tr class="memdesc:af4b34b89786b16250bd3f9ffacc411da inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor; reads merge configuration from table properties. <br /></td></tr>
<tr class="separator:af4b34b89786b16250bd3f9ffacc411da inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0266af766468cf5b2b7d4aa1ec052aac inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_a0266af766468cf5b2b7d4aa1ec052aac"><td class="memItemLeft" align="right" valign="top">
Status&#160;</td><td class="memItemRight" valign="bottom"><b>AddDataFile</b> (std::shared_ptr&lt; <a class="el" href="structiceberg_1_1DataFile.html">DataFile</a> &gt; file)</td></tr>
<tr class="memdesc:a0266af766468cf5b2b7d4aa1ec052aac inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stage a data file to be added to the table. <br /></td></tr>
<tr class="separator:a0266af766468cf5b2b7d4aa1ec052aac inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebbe7fcc662f2a0db9e2a3c7512b30ee inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_aebbe7fcc662f2a0db9e2a3c7512b30ee"><td class="memItemLeft" align="right" valign="top">
Status&#160;</td><td class="memItemRight" valign="bottom"><b>AddDeleteFile</b> (std::shared_ptr&lt; <a class="el" href="structiceberg_1_1DataFile.html">DataFile</a> &gt; file)</td></tr>
<tr class="memdesc:aebbe7fcc662f2a0db9e2a3c7512b30ee inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stage a delete file to be added to the table. <br /></td></tr>
<tr class="separator:aebbe7fcc662f2a0db9e2a3c7512b30ee inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acede83d5edfe71a1f92faa63b22277f3 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_acede83d5edfe71a1f92faa63b22277f3"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1MergingSnapshotUpdate.html#acede83d5edfe71a1f92faa63b22277f3">ValidateNewDeleteFile</a> (const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &amp;metadata, const <a class="el" href="structiceberg_1_1DataFile.html">DataFile</a> &amp;file)</td></tr>
<tr class="memdesc:acede83d5edfe71a1f92faa63b22277f3 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Validate a delete file against the table format version rules. <br /></td></tr>
<tr class="separator:acede83d5edfe71a1f92faa63b22277f3 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae05004358ba772aea11a5da6b9b0d5e3 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_ae05004358ba772aea11a5da6b9b0d5e3"><td class="memItemLeft" align="right" valign="top">
Status&#160;</td><td class="memItemRight" valign="bottom"><b>AddDeleteFile</b> (std::shared_ptr&lt; <a class="el" href="structiceberg_1_1DataFile.html">DataFile</a> &gt; file, int64_t data_sequence_number)</td></tr>
<tr class="memdesc:ae05004358ba772aea11a5da6b9b0d5e3 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stage a delete file with an explicit data sequence number. <br /></td></tr>
<tr class="separator:ae05004358ba772aea11a5da6b9b0d5e3 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1d1c8f97b681022ac8fb477ccd556a6 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_ab1d1c8f97b681022ac8fb477ccd556a6"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1MergingSnapshotUpdate.html#ab1d1c8f97b681022ac8fb477ccd556a6">AddManifest</a> (<a class="el" href="structiceberg_1_1ManifestFile.html">ManifestFile</a> manifest)</td></tr>
<tr class="memdesc:ab1d1c8f97b681022ac8fb477ccd556a6 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add all files in a pre-existing data manifest to the new snapshot. <br /></td></tr>
<tr class="separator:ab1d1c8f97b681022ac8fb477ccd556a6 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad88a0a10d3bc73d5957737c1109eb56e inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_ad88a0a10d3bc73d5957737c1109eb56e"><td class="memItemLeft" align="right" valign="top">
Status&#160;</td><td class="memItemRight" valign="bottom"><b>DeleteDataFile</b> (std::shared_ptr&lt; <a class="el" href="structiceberg_1_1DataFile.html">DataFile</a> &gt; file)</td></tr>
<tr class="memdesc:ad88a0a10d3bc73d5957737c1109eb56e inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a data file (by object) to be deleted from the table. <br /></td></tr>
<tr class="separator:ad88a0a10d3bc73d5957737c1109eb56e inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06b1398a5e8405f9a41f76988c252efe inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_a06b1398a5e8405f9a41f76988c252efe"><td class="memItemLeft" align="right" valign="top">
Status&#160;</td><td class="memItemRight" valign="bottom"><b>DeleteDeleteFile</b> (std::shared_ptr&lt; <a class="el" href="structiceberg_1_1DataFile.html">DataFile</a> &gt; file)</td></tr>
<tr class="memdesc:a06b1398a5e8405f9a41f76988c252efe inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a delete file (by object) to be removed from the table. <br /></td></tr>
<tr class="separator:a06b1398a5e8405f9a41f76988c252efe inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a929ff0b8cf00e521c5fcfc7fca0a7deb inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_a929ff0b8cf00e521c5fcfc7fca0a7deb"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1MergingSnapshotUpdate.html#a929ff0b8cf00e521c5fcfc7fca0a7deb">DeleteByPath</a> (std::string_view path)</td></tr>
<tr class="memdesc:a929ff0b8cf00e521c5fcfc7fca0a7deb inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a data file path to be deleted from the table. <br /></td></tr>
<tr class="separator:a929ff0b8cf00e521c5fcfc7fca0a7deb inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a123d534f689c69b0f7d4c8272782229c inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_a123d534f689c69b0f7d4c8272782229c"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1MergingSnapshotUpdate.html#a123d534f689c69b0f7d4c8272782229c">DeleteByRowFilter</a> (std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Expression.html">Expression</a> &gt; expr)</td></tr>
<tr class="memdesc:a123d534f689c69b0f7d4c8272782229c inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register an expression to delete matching rows. <br /></td></tr>
<tr class="separator:a123d534f689c69b0f7d4c8272782229c inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3917375fdd4a2ed0b1de56c44b2efd3 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_ae3917375fdd4a2ed0b1de56c44b2efd3"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1MergingSnapshotUpdate.html#ae3917375fdd4a2ed0b1de56c44b2efd3">DropPartition</a> (int32_t spec_id, <a class="el" href="classiceberg_1_1PartitionValues.html">PartitionValues</a> partition)</td></tr>
<tr class="memdesc:ae3917375fdd4a2ed0b1de56c44b2efd3 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a partition to be dropped. <br /></td></tr>
<tr class="separator:ae3917375fdd4a2ed0b1de56c44b2efd3 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaf997610c4b83dd929a0bb93f5a96d8 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_aaaf997610c4b83dd929a0bb93f5a96d8"><td class="memItemLeft" align="right" valign="top">
void&#160;</td><td class="memItemRight" valign="bottom"><b>FailMissingDeletePaths</b> ()</td></tr>
<tr class="memdesc:aaaf997610c4b83dd929a0bb93f5a96d8 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fail if any registered delete path is not found in any manifest. <br /></td></tr>
<tr class="separator:aaaf997610c4b83dd929a0bb93f5a96d8 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28c4aaf1ce709e35b22f16f7291a5bfe inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_a28c4aaf1ce709e35b22f16f7291a5bfe"><td class="memItemLeft" align="right" valign="top">
void&#160;</td><td class="memItemRight" valign="bottom"><b>FailAnyDelete</b> ()</td></tr>
<tr class="memdesc:a28c4aaf1ce709e35b22f16f7291a5bfe inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fail if any manifest entry matches a delete condition. <br /></td></tr>
<tr class="separator:a28c4aaf1ce709e35b22f16f7291a5bfe inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa068905355eea732bea88d3c5e9645e9 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_aa068905355eea732bea88d3c5e9645e9"><td class="memItemLeft" align="right" valign="top">
void&#160;</td><td class="memItemRight" valign="bottom"><b>SetNewDataFilesDataSequenceNumber</b> (int64_t sequence_number)</td></tr>
<tr class="memdesc:aa068905355eea732bea88d3c5e9645e9 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override the data sequence number assigned to all newly-added data files. <br /></td></tr>
<tr class="separator:aa068905355eea732bea88d3c5e9645e9 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3c350125340cd08180d11b4bf643a53 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_ab3c350125340cd08180d11b4bf643a53"><td class="memItemLeft" align="right" valign="top">
bool&#160;</td><td class="memItemRight" valign="bottom"><b>HasDataSequenceNumber</b> () const</td></tr>
<tr class="memdesc:ab3c350125340cd08180d11b4bf643a53 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if SetNewDataFilesDataSequenceNumber was called. <br /></td></tr>
<tr class="separator:ab3c350125340cd08180d11b4bf643a53 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad171c2a68f8bf5375122471e264d652c inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_ad171c2a68f8bf5375122471e264d652c"><td class="memItemLeft" align="right" valign="top">
void&#160;</td><td class="memItemRight" valign="bottom"><b>CaseSensitive</b> (bool case_sensitive)</td></tr>
<tr class="memdesc:ad171c2a68f8bf5375122471e264d652c inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set case sensitivity for row filter and expression evaluation. <br /></td></tr>
<tr class="separator:ad171c2a68f8bf5375122471e264d652c inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a245f56b4ec9170c57d4cc06db7aefe41 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_a245f56b4ec9170c57d4cc06db7aefe41"><td class="memItemLeft" align="right" valign="top">
bool&#160;</td><td class="memItemRight" valign="bottom"><b>IsCaseSensitive</b> () const</td></tr>
<tr class="memdesc:a245f56b4ec9170c57d4cc06db7aefe41 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if case-sensitive matching is enabled (default: true). <br /></td></tr>
<tr class="separator:a245f56b4ec9170c57d4cc06db7aefe41 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a650bfa9857e6a8a220dbd62a3cc465a7 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_a650bfa9857e6a8a220dbd62a3cc465a7"><td class="memItemLeft" align="right" valign="top">
bool&#160;</td><td class="memItemRight" valign="bottom"><b>AddsDataFiles</b> () const</td></tr>
<tr class="memdesc:a650bfa9857e6a8a220dbd62a3cc465a7 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if any data files have been staged for addition. <br /></td></tr>
<tr class="separator:a650bfa9857e6a8a220dbd62a3cc465a7 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee876bf36d5243521b8756f57aebec56 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_aee876bf36d5243521b8756f57aebec56"><td class="memItemLeft" align="right" valign="top">
bool&#160;</td><td class="memItemRight" valign="bottom"><b>AddsDeleteFiles</b> () const</td></tr>
<tr class="memdesc:aee876bf36d5243521b8756f57aebec56 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if any delete files have been staged for addition. <br /></td></tr>
<tr class="separator:aee876bf36d5243521b8756f57aebec56 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abec17ce1f1b8e5b6735a119d051b040a inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_abec17ce1f1b8e5b6735a119d051b040a"><td class="memItemLeft" align="right" valign="top">
bool&#160;</td><td class="memItemRight" valign="bottom"><b>DeletesDataFiles</b> () const</td></tr>
<tr class="memdesc:abec17ce1f1b8e5b6735a119d051b040a inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if any data files have been registered for deletion. <br /></td></tr>
<tr class="separator:abec17ce1f1b8e5b6735a119d051b040a inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3ec86452a15bee5d610865733f6c8e1 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_ad3ec86452a15bee5d610865733f6c8e1"><td class="memItemLeft" align="right" valign="top">
bool&#160;</td><td class="memItemRight" valign="bottom"><b>DeletesDeleteFiles</b> () const</td></tr>
<tr class="memdesc:ad3ec86452a15bee5d610865733f6c8e1 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if any delete files have been registered for removal. <br /></td></tr>
<tr class="separator:ad3ec86452a15bee5d610865733f6c8e1 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2249c3e9bc624cc4fa77668266746ebd inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_a2249c3e9bc624cc4fa77668266746ebd"><td class="memItemLeft" align="right" valign="top">
const std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Expression.html">Expression</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>RowFilter</b> () const</td></tr>
<tr class="memdesc:a2249c3e9bc624cc4fa77668266746ebd inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the row-filter expression set via DeleteByRowFilter, or nullptr. <br /></td></tr>
<tr class="separator:a2249c3e9bc624cc4fa77668266746ebd inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55bac0de3d16f0b69dbaa944d746f1fb inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_a55bac0de3d16f0b69dbaa944d746f1fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceiceberg.html#a9d5594e371beb516b0120e07e69d3af6">Result</a>&lt; std::shared_ptr&lt; <a class="el" href="classiceberg_1_1PartitionSpec.html">PartitionSpec</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1MergingSnapshotUpdate.html#a55bac0de3d16f0b69dbaa944d746f1fb">DataSpec</a> () const</td></tr>
<tr class="memdesc:a55bac0de3d16f0b69dbaa944d746f1fb inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the single partition spec for all staged data files. <br /></td></tr>
<tr class="separator:a55bac0de3d16f0b69dbaa944d746f1fb inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6934c78daedb62ee5d035bbc81a05f2 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_ab6934c78daedb62ee5d035bbc81a05f2"><td class="memItemLeft" align="right" valign="top">
std::vector&lt; std::shared_ptr&lt; <a class="el" href="structiceberg_1_1DataFile.html">DataFile</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>AddedDataFiles</b> () const</td></tr>
<tr class="memdesc:ab6934c78daedb62ee5d035bbc81a05f2 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns all data files staged for addition. <br /></td></tr>
<tr class="separator:ab6934c78daedb62ee5d035bbc81a05f2 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabb44218199cdab4e6082fab0b5ef559 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_aabb44218199cdab4e6082fab0b5ef559"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1MergingSnapshotUpdate.html#aabb44218199cdab4e6082fab0b5ef559">ValidateNoNewDeletesForDataFiles</a> (const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &amp;metadata, std::optional&lt; int64_t &gt; starting_snapshot_id, const <a class="el" href="classiceberg_1_1DataFileSet.html">DataFileSet</a> &amp;replaced_files, const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1Snapshot.html">Snapshot</a> &gt; &amp;parent, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> &gt; io) const</td></tr>
<tr class="memdesc:aabb44218199cdab4e6082fab0b5ef559 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if any snapshot after starting_snapshot_id, or from the beginning if unset, added a delete file that covers a file in replaced_files. <br /></td></tr>
<tr class="separator:aabb44218199cdab4e6082fab0b5ef559 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a343375d4508a23379eb1c8f3f000e3d1 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_a343375d4508a23379eb1c8f3f000e3d1"><td class="memItemLeft" align="right" valign="top">
Status&#160;</td><td class="memItemRight" valign="bottom"><b>ValidateAddedDVs</b> (const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &amp;metadata, std::optional&lt; int64_t &gt; starting_snapshot_id, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Expression.html">Expression</a> &gt; conflict_filter, const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1Snapshot.html">Snapshot</a> &gt; &amp;parent, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> &gt; io) const</td></tr>
<tr class="memdesc:a343375d4508a23379eb1c8f3f000e3d1 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if a staged deletion vector conflicts with a deletion vector added since starting_snapshot_id. <br /></td></tr>
<tr class="separator:a343375d4508a23379eb1c8f3f000e3d1 inherit pro_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classiceberg_1_1SnapshotUpdate"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classiceberg_1_1SnapshotUpdate')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classiceberg_1_1SnapshotUpdate.html">iceberg::SnapshotUpdate</a></td></tr>
<tr class="memitem:afa840d8e4fac4b35a0e5147ebe0a24bd inherit pro_methods_classiceberg_1_1SnapshotUpdate" id="r_afa840d8e4fac4b35a0e5147ebe0a24bd"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>SnapshotUpdate</b> (std::shared_ptr&lt; <a class="el" href="classiceberg_1_1TransactionContext.html">TransactionContext</a> &gt; ctx)</td></tr>
<tr class="separator:afa840d8e4fac4b35a0e5147ebe0a24bd inherit pro_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad839a5b6b8cd54ceb3d013ddadae9fc5 inherit pro_methods_classiceberg_1_1SnapshotUpdate" id="r_ad839a5b6b8cd54ceb3d013ddadae9fc5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceiceberg.html#a9d5594e371beb516b0120e07e69d3af6">Result</a>&lt; std::vector&lt; <a class="el" href="structiceberg_1_1ManifestFile.html">ManifestFile</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1SnapshotUpdate.html#ad839a5b6b8cd54ceb3d013ddadae9fc5">WriteDataManifests</a> (std::span&lt; const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1DataFile.html">DataFile</a> &gt; &gt; files, const std::shared_ptr&lt; <a class="el" href="classiceberg_1_1PartitionSpec.html">PartitionSpec</a> &gt; &amp;spec, std::optional&lt; int64_t &gt; data_sequence_number=std::nullopt)</td></tr>
<tr class="memdesc:ad839a5b6b8cd54ceb3d013ddadae9fc5 inherit pro_methods_classiceberg_1_1SnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data manifests for the given data files. <br /></td></tr>
<tr class="separator:ad839a5b6b8cd54ceb3d013ddadae9fc5 inherit pro_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf6092cc542454c4137d9b73212a8373 inherit pro_methods_classiceberg_1_1SnapshotUpdate" id="r_aaf6092cc542454c4137d9b73212a8373"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="namespaceiceberg.html#a9d5594e371beb516b0120e07e69d3af6">Result</a>&lt; std::vector&lt; <a class="el" href="structiceberg_1_1ManifestFile.html">ManifestFile</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>WriteDeleteManifests</b> (std::span&lt; const <a class="el" href="structiceberg_1_1SnapshotUpdate_1_1ContentFileWithSequenceNumber.html">ContentFileWithSequenceNumber</a> &gt; files, const std::shared_ptr&lt; <a class="el" href="classiceberg_1_1PartitionSpec.html">PartitionSpec</a> &gt; &amp;spec)</td></tr>
<tr class="separator:aaf6092cc542454c4137d9b73212a8373 inherit pro_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1d1956ed16f817a44c0f3f081eb4c5c inherit pro_methods_classiceberg_1_1SnapshotUpdate" id="r_ac1d1956ed16f817a44c0f3f081eb4c5c"><td class="memItemLeft" align="right" valign="top">
const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>target_branch</b> () const</td></tr>
<tr class="separator:ac1d1956ed16f817a44c0f3f081eb4c5c inherit pro_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f15ea5399c070c05a401df3427cf4ba inherit pro_methods_classiceberg_1_1SnapshotUpdate" id="r_a0f15ea5399c070c05a401df3427cf4ba"><td class="memItemLeft" align="right" valign="top">
bool&#160;</td><td class="memItemRight" valign="bottom"><b>can_inherit_snapshot_id</b> () const</td></tr>
<tr class="separator:a0f15ea5399c070c05a401df3427cf4ba inherit pro_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32d03afeb074db14119b5e1f1efcf279 inherit pro_methods_classiceberg_1_1SnapshotUpdate" id="r_a32d03afeb074db14119b5e1f1efcf279"><td class="memItemLeft" align="right" valign="top">
const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>commit_uuid</b> () const</td></tr>
<tr class="separator:a32d03afeb074db14119b5e1f1efcf279 inherit pro_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89c7e7a09d3c094859f22b3e50a26ae6 inherit pro_methods_classiceberg_1_1SnapshotUpdate" id="r_a89c7e7a09d3c094859f22b3e50a26ae6"><td class="memItemLeft" align="right" valign="top">
int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>manifest_count</b> () const</td></tr>
<tr class="separator:a89c7e7a09d3c094859f22b3e50a26ae6 inherit pro_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d049f4c752864f55d75ece4b6119a48 inherit pro_methods_classiceberg_1_1SnapshotUpdate" id="r_a7d049f4c752864f55d75ece4b6119a48"><td class="memItemLeft" align="right" valign="top">
int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>attempt</b> () const</td></tr>
<tr class="separator:a7d049f4c752864f55d75ece4b6119a48 inherit pro_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe2bd4f83fb5d90e70bfff6d1f28a40b inherit pro_methods_classiceberg_1_1SnapshotUpdate" id="r_abe2bd4f83fb5d90e70bfff6d1f28a40b"><td class="memItemLeft" align="right" valign="top">
int64_t&#160;</td><td class="memItemRight" valign="bottom"><b>target_manifest_size_bytes</b> () const</td></tr>
<tr class="separator:abe2bd4f83fb5d90e70bfff6d1f28a40b inherit pro_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb89f2ceb3a0fb2abfba3faa6a32e5ac inherit pro_methods_classiceberg_1_1SnapshotUpdate" id="r_aeb89f2ceb3a0fb2abfba3faa6a32e5ac"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1SnapshotUpdate.html#aeb89f2ceb3a0fb2abfba3faa6a32e5ac">CleanupAfterCommit</a> () const</td></tr>
<tr class="memdesc:aeb89f2ceb3a0fb2abfba3faa6a32e5ac inherit pro_methods_classiceberg_1_1SnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if cleanup should happen after commit. <br /></td></tr>
<tr class="separator:aeb89f2ceb3a0fb2abfba3faa6a32e5ac inherit pro_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae99085da77d04a9314e8c4773cfb731 inherit pro_methods_classiceberg_1_1SnapshotUpdate" id="r_aae99085da77d04a9314e8c4773cfb731"><td class="memItemLeft" align="right" valign="top">
int64_t&#160;</td><td class="memItemRight" valign="bottom"><b>SnapshotId</b> ()</td></tr>
<tr class="memdesc:aae99085da77d04a9314e8c4773cfb731 inherit pro_methods_classiceberg_1_1SnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get or generate the snapshot ID for the new snapshot. <br /></td></tr>
<tr class="separator:aae99085da77d04a9314e8c4773cfb731 inherit pro_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9fc2b6a382fb3c9c9f8e30056d1f7de inherit pro_methods_classiceberg_1_1SnapshotUpdate" id="r_af9fc2b6a382fb3c9c9f8e30056d1f7de"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1SnapshotUpdate.html#af9fc2b6a382fb3c9c9f8e30056d1f7de">DeleteFile</a> (const std::string &amp;path)</td></tr>
<tr class="memdesc:af9fc2b6a382fb3c9c9f8e30056d1f7de inherit pro_methods_classiceberg_1_1SnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a file at the given path. <br /></td></tr>
<tr class="separator:af9fc2b6a382fb3c9c9f8e30056d1f7de inherit pro_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af474cf9191b5a05ea99ed8d9c01bbda0 inherit pro_methods_classiceberg_1_1SnapshotUpdate" id="r_af474cf9191b5a05ea99ed8d9c01bbda0"><td class="memItemLeft" align="right" valign="top">
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ManifestPath</b> ()</td></tr>
<tr class="separator:af474cf9191b5a05ea99ed8d9c01bbda0 inherit pro_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0478c16b077f60262329f50bb606746e inherit pro_methods_classiceberg_1_1SnapshotUpdate" id="r_a0478c16b077f60262329f50bb606746e"><td class="memItemLeft" align="right" valign="top">
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ManifestListPath</b> ()</td></tr>
<tr class="separator:a0478c16b077f60262329f50bb606746e inherit pro_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89096f41f8602f1d05f6bddc06c9d8e6 inherit pro_methods_classiceberg_1_1SnapshotUpdate" id="r_a89096f41f8602f1d05f6bddc06c9d8e6"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classiceberg_1_1SnapshotSummaryBuilder.html">SnapshotSummaryBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>summary_builder</b> ()</td></tr>
<tr class="separator:a89096f41f8602f1d05f6bddc06c9d8e6 inherit pro_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2881fd613e348e49fe00b07713b701f inherit pro_methods_classiceberg_1_1SnapshotUpdate" id="r_aa2881fd613e348e49fe00b07713b701f"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classiceberg_1_1SnapshotSummaryBuilder.html">SnapshotSummaryBuilder</a>&#160;</td><td class="memItemRight" valign="bottom"><b>BuildManifestCountSummary</b> (std::span&lt; const <a class="el" href="structiceberg_1_1ManifestFile.html">ManifestFile</a> &gt; manifests, int32_t replaced_manifests_count)</td></tr>
<tr class="separator:aa2881fd613e348e49fe00b07713b701f inherit pro_methods_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classiceberg_1_1PendingUpdate"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classiceberg_1_1PendingUpdate')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classiceberg_1_1PendingUpdate.html">iceberg::PendingUpdate</a></td></tr>
<tr class="memitem:a1bc9b1eb7bfa1c832c65331b2e6bba6f inherit pro_methods_classiceberg_1_1PendingUpdate" id="r_a1bc9b1eb7bfa1c832c65331b2e6bba6f"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>PendingUpdate</b> (std::shared_ptr&lt; <a class="el" href="classiceberg_1_1TransactionContext.html">TransactionContext</a> &gt; ctx)</td></tr>
<tr class="separator:a1bc9b1eb7bfa1c832c65331b2e6bba6f inherit pro_methods_classiceberg_1_1PendingUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93721051561748b1a29e75b7d4cbbd86 inherit pro_methods_classiceberg_1_1PendingUpdate" id="r_a93721051561748b1a29e75b7d4cbbd86"><td class="memItemLeft" align="right" valign="top">
const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>base</b> () const</td></tr>
<tr class="separator:a93721051561748b1a29e75b7d4cbbd86 inherit pro_methods_classiceberg_1_1PendingUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classiceberg_1_1PendingUpdate"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classiceberg_1_1PendingUpdate')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classiceberg_1_1PendingUpdate.html">iceberg::PendingUpdate</a></td></tr>
<tr class="memitem:a5bac3f32c6a0790ba222399fed5c1944 inherit pub_types_classiceberg_1_1PendingUpdate" id="r_a5bac3f32c6a0790ba222399fed5c1944"><td class="memItemLeft" align="right" valign="top"><a id="a5bac3f32c6a0790ba222399fed5c1944" name="a5bac3f32c6a0790ba222399fed5c1944"></a>enum class &#160;</td><td class="memItemRight" valign="bottom"><b>Kind</b> : uint8_t { <br />
&#160;&#160;<b>kExpireSnapshots</b>
, <b>kSetSnapshot</b>
, <b>kUpdateLocation</b>
, <b>kUpdatePartitionSpec</b>
, <br />
&#160;&#160;<b>kUpdatePartitionStatistics</b>
, <b>kUpdateProperties</b>
, <b>kUpdateSchema</b>
, <b>kUpdateSnapshot</b>
, <br />
&#160;&#160;<b>kUpdateSnapshotReference</b>
, <b>kUpdateSortOrder</b>
, <b>kUpdateStatistics</b>
<br />
}</td></tr>
<tr class="separator:a5bac3f32c6a0790ba222399fed5c1944 inherit pub_types_classiceberg_1_1PendingUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_classiceberg_1_1MergingSnapshotUpdate')"><img src="closed.png" alt="-"/>&#160;Static Protected Member Functions inherited from <a class="el" href="classiceberg_1_1MergingSnapshotUpdate.html">iceberg::MergingSnapshotUpdate</a></td></tr>
<tr class="memitem:a15f9e90ad117972d4f35fb09972cd3f4 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_a15f9e90ad117972d4f35fb09972cd3f4"><td class="memItemLeft" align="right" valign="top">
static Status&#160;</td><td class="memItemRight" valign="bottom"><b>ValidateAddedDataFiles</b> (const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &amp;metadata, std::optional&lt; int64_t &gt; starting_snapshot_id, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Expression.html">Expression</a> &gt; filter, const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1Snapshot.html">Snapshot</a> &gt; &amp;parent, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> &gt; io, bool case_sensitive=true)</td></tr>
<tr class="memdesc:a15f9e90ad117972d4f35fb09972cd3f4 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if any snapshot after starting_snapshot_id, or from the beginning if unset, added a data file matching the given filter expression. <br /></td></tr>
<tr class="separator:a15f9e90ad117972d4f35fb09972cd3f4 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa14653a29436f5d6bfae2939523512d6 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_aa14653a29436f5d6bfae2939523512d6"><td class="memItemLeft" align="right" valign="top">
static Status&#160;</td><td class="memItemRight" valign="bottom"><b>ValidateAddedDataFiles</b> (const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &amp;metadata, std::optional&lt; int64_t &gt; starting_snapshot_id, const <a class="el" href="classiceberg_1_1PartitionSet.html">PartitionSet</a> &amp;partition_set, const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1Snapshot.html">Snapshot</a> &gt; &amp;parent, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> &gt; io)</td></tr>
<tr class="memdesc:aa14653a29436f5d6bfae2939523512d6 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if any snapshot after starting_snapshot_id, or from the beginning if unset, added a data file in any partition of the given partition set. <br /></td></tr>
<tr class="separator:aa14653a29436f5d6bfae2939523512d6 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68a726abb45099834d119ac9c3097676 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_a68a726abb45099834d119ac9c3097676"><td class="memItemLeft" align="right" valign="top">
static Status&#160;</td><td class="memItemRight" valign="bottom"><b>ValidateDataFilesExist</b> (const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &amp;metadata, std::optional&lt; int64_t &gt; starting_snapshot_id, const std::unordered_set&lt; std::string &gt; &amp;file_paths, bool skip_deletes, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Expression.html">Expression</a> &gt; filter, const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1Snapshot.html">Snapshot</a> &gt; &amp;parent, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> &gt; io, bool case_sensitive=true)</td></tr>
<tr class="memdesc:a68a726abb45099834d119ac9c3097676 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if any snapshot after starting_snapshot_id, or from the beginning if unset, removed a file whose path is in file_paths (and skip_deletes is false). <br /></td></tr>
<tr class="separator:a68a726abb45099834d119ac9c3097676 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7439da6e58b4ee17f51c34260c38d75 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_ae7439da6e58b4ee17f51c34260c38d75"><td class="memItemLeft" align="right" valign="top">static Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1MergingSnapshotUpdate.html#ae7439da6e58b4ee17f51c34260c38d75">ValidateNoNewDeletesForDataFiles</a> (const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &amp;metadata, std::optional&lt; int64_t &gt; starting_snapshot_id, const <a class="el" href="classiceberg_1_1DataFileSet.html">DataFileSet</a> &amp;replaced_files, const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1Snapshot.html">Snapshot</a> &gt; &amp;parent, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> &gt; io, bool ignore_equality_deletes=false)</td></tr>
<tr class="memdesc:ae7439da6e58b4ee17f51c34260c38d75 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if any snapshot after starting_snapshot_id, or from the beginning if unset, added a delete file that covers a file in replaced_files. <br /></td></tr>
<tr class="separator:ae7439da6e58b4ee17f51c34260c38d75 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7be18bce4880653b3277fa48fd5801c9 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_a7be18bce4880653b3277fa48fd5801c9"><td class="memItemLeft" align="right" valign="top">
static Status&#160;</td><td class="memItemRight" valign="bottom"><b>ValidateNoNewDeletesForDataFiles</b> (const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &amp;metadata, std::optional&lt; int64_t &gt; starting_snapshot_id, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Expression.html">Expression</a> &gt; data_filter, const <a class="el" href="classiceberg_1_1DataFileSet.html">DataFileSet</a> &amp;replaced_files, const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1Snapshot.html">Snapshot</a> &gt; &amp;parent, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> &gt; io, bool case_sensitive=true)</td></tr>
<tr class="memdesc:a7be18bce4880653b3277fa48fd5801c9 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if any snapshot after starting_snapshot_id, or from the beginning if unset, added a delete file matching the data filter that covers a file in replaced_files. <br /></td></tr>
<tr class="separator:a7be18bce4880653b3277fa48fd5801c9 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48cd497619774328d2cd27fda892c097 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_a48cd497619774328d2cd27fda892c097"><td class="memItemLeft" align="right" valign="top">
static Status&#160;</td><td class="memItemRight" valign="bottom"><b>ValidateNoNewDeleteFiles</b> (const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &amp;metadata, std::optional&lt; int64_t &gt; starting_snapshot_id, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Expression.html">Expression</a> &gt; data_filter, const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1Snapshot.html">Snapshot</a> &gt; &amp;parent, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> &gt; io, bool case_sensitive=true)</td></tr>
<tr class="memdesc:a48cd497619774328d2cd27fda892c097 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if any snapshot after starting_snapshot_id, or from the beginning if unset, added a delete file matching the given row filter. <br /></td></tr>
<tr class="separator:a48cd497619774328d2cd27fda892c097 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c3244f5f56beeca957e32a71b060eef inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_a7c3244f5f56beeca957e32a71b060eef"><td class="memItemLeft" align="right" valign="top">
static Status&#160;</td><td class="memItemRight" valign="bottom"><b>ValidateNoNewDeleteFiles</b> (const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &amp;metadata, std::optional&lt; int64_t &gt; starting_snapshot_id, const <a class="el" href="classiceberg_1_1PartitionSet.html">PartitionSet</a> &amp;partition_set, const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1Snapshot.html">Snapshot</a> &gt; &amp;parent, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> &gt; io)</td></tr>
<tr class="memdesc:a7c3244f5f56beeca957e32a71b060eef inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if any snapshot after starting_snapshot_id, or from the beginning if unset, added a delete file matching any partition in the given partition set. <br /></td></tr>
<tr class="separator:a7c3244f5f56beeca957e32a71b060eef inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ca7d5687a18d5c380bf65e9adb5ec8a inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_a2ca7d5687a18d5c380bf65e9adb5ec8a"><td class="memItemLeft" align="right" valign="top">
static Status&#160;</td><td class="memItemRight" valign="bottom"><b>ValidateDeletedDataFiles</b> (const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &amp;metadata, std::optional&lt; int64_t &gt; starting_snapshot_id, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Expression.html">Expression</a> &gt; data_filter, const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1Snapshot.html">Snapshot</a> &gt; &amp;parent, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> &gt; io, bool case_sensitive=true)</td></tr>
<tr class="memdesc:a2ca7d5687a18d5c380bf65e9adb5ec8a inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if any snapshot after starting_snapshot_id, or from the beginning if unset, deleted a data file matching the given row filter. <br /></td></tr>
<tr class="separator:a2ca7d5687a18d5c380bf65e9adb5ec8a inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29b560a06884e0cf353a8219160f8a4a inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_a29b560a06884e0cf353a8219160f8a4a"><td class="memItemLeft" align="right" valign="top">
static Status&#160;</td><td class="memItemRight" valign="bottom"><b>ValidateDeletedDataFiles</b> (const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &amp;metadata, std::optional&lt; int64_t &gt; starting_snapshot_id, const <a class="el" href="classiceberg_1_1PartitionSet.html">PartitionSet</a> &amp;partition_set, const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1Snapshot.html">Snapshot</a> &gt; &amp;parent, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> &gt; io)</td></tr>
<tr class="memdesc:a29b560a06884e0cf353a8219160f8a4a inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if any snapshot after starting_snapshot_id, or from the beginning if unset, deleted a data file in any partition of the given partition set. <br /></td></tr>
<tr class="separator:a29b560a06884e0cf353a8219160f8a4a inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6104d186f95c6e1142207436c8f80d6 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_af6104d186f95c6e1142207436c8f80d6"><td class="memItemLeft" align="right" valign="top">
static <a class="el" href="namespaceiceberg.html#a9d5594e371beb516b0120e07e69d3af6">Result</a>&lt; std::unique_ptr&lt; <a class="el" href="classiceberg_1_1DeleteFileIndex.html">DeleteFileIndex</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>AddedDeleteFiles</b> (const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &amp;metadata, std::optional&lt; int64_t &gt; starting_snapshot_id, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Expression.html">Expression</a> &gt; data_filter, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1PartitionSet.html">PartitionSet</a> &gt; partition_set, const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1Snapshot.html">Snapshot</a> &gt; &amp;parent, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> &gt; io, bool case_sensitive=true)</td></tr>
<tr class="memdesc:af6104d186f95c6e1142207436c8f80d6 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Build a <a class="el" href="classiceberg_1_1DeleteFileIndex.html" title="An index of delete files by sequence number.">DeleteFileIndex</a> of delete files added since starting_snapshot_id. <br /></td></tr>
<tr class="separator:af6104d186f95c6e1142207436c8f80d6 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8f92a9a51dc4872bb55897b0ecfee67 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate" id="r_ac8f92a9a51dc4872bb55897b0ecfee67"><td class="memItemLeft" align="right" valign="top">
static Status&#160;</td><td class="memItemRight" valign="bottom"><b>ValidateAddedDVs</b> (const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &amp;metadata, std::optional&lt; int64_t &gt; starting_snapshot_id, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Expression.html">Expression</a> &gt; conflict_filter, const std::unordered_set&lt; std::string &gt; &amp;referenced_data_files, const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1Snapshot.html">Snapshot</a> &gt; &amp;parent, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> &gt; io, bool case_sensitive=true)</td></tr>
<tr class="memdesc:ac8f92a9a51dc4872bb55897b0ecfee67 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if any snapshot after starting_snapshot_id, or from the beginning if unset, added a deletion vector that conflicts with DVs being written. <br /></td></tr>
<tr class="separator:ac8f92a9a51dc4872bb55897b0ecfee67 inherit pro_static_methods_classiceberg_1_1MergingSnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classiceberg_1_1SnapshotUpdate"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classiceberg_1_1SnapshotUpdate')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classiceberg_1_1SnapshotUpdate.html">iceberg::SnapshotUpdate</a></td></tr>
<tr class="memitem:a169ac960678daaef3ef8cc793f47d1a3 inherit pro_attribs_classiceberg_1_1SnapshotUpdate" id="r_a169ac960678daaef3ef8cc793f47d1a3"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classiceberg_1_1SnapshotSummaryBuilder.html">SnapshotSummaryBuilder</a>&#160;</td><td class="memItemRight" valign="bottom"><b>summary_</b></td></tr>
<tr class="separator:a169ac960678daaef3ef8cc793f47d1a3 inherit pro_attribs_classiceberg_1_1SnapshotUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classiceberg_1_1PendingUpdate"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classiceberg_1_1PendingUpdate')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classiceberg_1_1PendingUpdate.html">iceberg::PendingUpdate</a></td></tr>
<tr class="memitem:a48306a581b00f16c85af172a41b7dcee inherit pro_attribs_classiceberg_1_1PendingUpdate" id="r_a48306a581b00f16c85af172a41b7dcee"><td class="memItemLeft" align="right" valign="top">
std::shared_ptr&lt; <a class="el" href="classiceberg_1_1TransactionContext.html">TransactionContext</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ctx_</b></td></tr>
<tr class="separator:a48306a581b00f16c85af172a41b7dcee inherit pro_attribs_classiceberg_1_1PendingUpdate"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classiceberg_1_1ErrorCollector"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classiceberg_1_1ErrorCollector')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classiceberg_1_1ErrorCollector.html">iceberg::ErrorCollector</a></td></tr>
<tr class="memitem:a354d1e7287bb45926a4b563f80d0c623 inherit pro_attribs_classiceberg_1_1ErrorCollector" id="r_a354d1e7287bb45926a4b563f80d0c623"><td class="memItemLeft" align="right" valign="top">
std::vector&lt; <a class="el" href="structiceberg_1_1Error.html">Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>errors_</b></td></tr>
<tr class="separator:a354d1e7287bb45926a4b563f80d0c623 inherit pro_attribs_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>API for encoding row-level changes to a table. </p>
<p>This API accumulates data and delete file changes, produces a new <a class="el" href="structiceberg_1_1Snapshot.html" title="A snapshot of the data in a table at a point in time.">Snapshot</a> of the table, and commits that snapshot as the current.</p>
<p>When committing, these changes are applied to the latest table snapshot. Commit conflicts are resolved by applying the changes to the new latest snapshot and reattempting the commit. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="aedde88e3b9012b3149f1ac9ae3cc0732" name="aedde88e3b9012b3149f1ac9ae3cc0732"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aedde88e3b9012b3149f1ac9ae3cc0732">&#9670;&#160;</a></span>AddDeletes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp; iceberg::RowDelta::AddDeletes </td>
<td>(</td>
<td class="paramtype">const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1DataFile.html">DataFile</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>deletes</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a DeleteFile to the table. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">deletes</td><td>A delete file of rows to delete. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This <a class="el" href="classiceberg_1_1RowDelta.html" title="API for encoding row-level changes to a table.">RowDelta</a> for method chaining. </dd></dl>
</div>
</div>
<a id="a44edfcb53ee995c8a291f96e9876e07b" name="a44edfcb53ee995c8a291f96e9876e07b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44edfcb53ee995c8a291f96e9876e07b">&#9670;&#160;</a></span>AddRows()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp; iceberg::RowDelta::AddRows </td>
<td>(</td>
<td class="paramtype">const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1DataFile.html">DataFile</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>inserts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a <a class="el" href="structiceberg_1_1DataFile.html" title="DataFile carries data file path, partition tuple, metrics, ...">DataFile</a> to the table. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">inserts</td><td>A data file of rows to insert. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This <a class="el" href="classiceberg_1_1RowDelta.html" title="API for encoding row-level changes to a table.">RowDelta</a> for method chaining. </dd></dl>
</div>
</div>
<a id="abfff87e4df4033f3f995fe7a9efc8c1c" name="abfff87e4df4033f3f995fe7a9efc8c1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abfff87e4df4033f3f995fe7a9efc8c1c">&#9670;&#160;</a></span>CaseSensitive()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp; iceberg::RowDelta::CaseSensitive </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>case_sensitive</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable or disable case-sensitive expression binding for validations. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">case_sensitive</td><td>Whether expression binding should be case sensitive. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This <a class="el" href="classiceberg_1_1RowDelta.html" title="API for encoding row-level changes to a table.">RowDelta</a> for method chaining. </dd></dl>
</div>
</div>
<a id="ab8c598a5024ffca8fdb5d25584d7f63e" name="ab8c598a5024ffca8fdb5d25584d7f63e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab8c598a5024ffca8fdb5d25584d7f63e">&#9670;&#160;</a></span>ConflictDetectionFilter()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp; iceberg::RowDelta::ConflictDetectionFilter </td>
<td>(</td>
<td class="paramtype">std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Expression.html">Expression</a> &gt;&#160;</td>
<td class="paramname"><em>filter</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set a conflict detection filter used to validate concurrently added data and delete files. </p>
<p>If not called, a true literal is used as the conflict detection filter.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">filter</td><td>An expression on rows in the table. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This <a class="el" href="classiceberg_1_1RowDelta.html" title="API for encoding row-level changes to a table.">RowDelta</a> for method chaining. </dd></dl>
</div>
</div>
<a id="a8b275ad459dc7973b71277fc0a32d5d8" name="a8b275ad459dc7973b71277fc0a32d5d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b275ad459dc7973b71277fc0a32d5d8">&#9670;&#160;</a></span>operation()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string iceberg::RowDelta::operation </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>A string that describes the action that produced the new snapshot. </p>
<dl class="section return"><dt>Returns</dt><dd>A string operation name </dd></dl>
<p>Implements <a class="el" href="classiceberg_1_1SnapshotUpdate.html#a7e5cb52a426032eebf3b602b5674c5e0">iceberg::SnapshotUpdate</a>.</p>
</div>
</div>
<a id="aa81bf077a7699ba8fe9abdd1c17f6d4b" name="aa81bf077a7699ba8fe9abdd1c17f6d4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa81bf077a7699ba8fe9abdd1c17f6d4b">&#9670;&#160;</a></span>RemoveDeletes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp; iceberg::RowDelta::RemoveDeletes </td>
<td>(</td>
<td class="paramtype">const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1DataFile.html">DataFile</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>deletes</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove a rewritten DeleteFile from the table. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">deletes</td><td>A delete file that can be removed from the table. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This <a class="el" href="classiceberg_1_1RowDelta.html" title="API for encoding row-level changes to a table.">RowDelta</a> for method chaining. </dd></dl>
</div>
</div>
<a id="a18af54eb9f01d5f450781867684522d7" name="a18af54eb9f01d5f450781867684522d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18af54eb9f01d5f450781867684522d7">&#9670;&#160;</a></span>RemoveRows()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp; iceberg::RowDelta::RemoveRows </td>
<td>(</td>
<td class="paramtype">const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1DataFile.html">DataFile</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>file</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove a <a class="el" href="structiceberg_1_1DataFile.html" title="DataFile carries data file path, partition tuple, metrics, ...">DataFile</a> from the table. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file</td><td>A data file. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This <a class="el" href="classiceberg_1_1RowDelta.html" title="API for encoding row-level changes to a table.">RowDelta</a> for method chaining. </dd></dl>
</div>
</div>
<a id="aa1ea76dd8e7c417de2d42f9c5878f005" name="aa1ea76dd8e7c417de2d42f9c5878f005"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1ea76dd8e7c417de2d42f9c5878f005">&#9670;&#160;</a></span>Validate()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Status iceberg::RowDelta::Validate </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &amp;&#160;</td>
<td class="paramname"><em>current_metadata</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::shared_ptr&lt; <a class="el" href="structiceberg_1_1Snapshot.html">Snapshot</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>snapshot</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Validate the current metadata. </p>
<p>Child operations can override this to add custom validation.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">current_metadata</td><td>Current table metadata to validate </td></tr>
<tr><td class="paramname">snapshot</td><td>Ending snapshot on the lineage which is being validated </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classiceberg_1_1SnapshotUpdate.html#aa2d22d7708df6b17bfa53e40abb32f86">iceberg::SnapshotUpdate</a>.</p>
</div>
</div>
<a id="a2402bbc42b5435f6ba8d78de01fcccde" name="a2402bbc42b5435f6ba8d78de01fcccde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2402bbc42b5435f6ba8d78de01fcccde">&#9670;&#160;</a></span>ValidateDataFilesExist()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp; iceberg::RowDelta::ValidateDataFilesExist </td>
<td>(</td>
<td class="paramtype">std::span&lt; const std::string &gt;&#160;</td>
<td class="paramname"><em>referenced_files</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add data file paths that must not be removed by conflicting commits. </p>
<p>If any path has been removed by a conflicting commit in the table since the snapshot passed to <a class="el" href="classiceberg_1_1RowDelta.html#a04d7160053beec055b5bc3d302776c72" title="Set the snapshot ID used in any reads for this operation.">ValidateFromSnapshot()</a>, the operation fails.</p>
<p>By default, this validation checks only rewrite and overwrite commits. To apply validation to delete commits, call <a class="el" href="classiceberg_1_1RowDelta.html#a46a073db0c99e0c46413d7b89b3fa89f" title="Enable validation that referenced data files were not deleted.">ValidateDeletedFiles()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">referenced_files</td><td>File paths that are referenced by a position delete file. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This <a class="el" href="classiceberg_1_1RowDelta.html" title="API for encoding row-level changes to a table.">RowDelta</a> for method chaining. </dd></dl>
</div>
</div>
<a id="a46a073db0c99e0c46413d7b89b3fa89f" name="a46a073db0c99e0c46413d7b89b3fa89f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46a073db0c99e0c46413d7b89b3fa89f">&#9670;&#160;</a></span>ValidateDeletedFiles()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp; iceberg::RowDelta::ValidateDeletedFiles </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable validation that referenced data files were not deleted. </p>
<p>If a data file has a row deleted using a position delete file, rewriting or overwriting the data file concurrently would un-delete the row. Deleting the data file is normally allowed, but a delete may be part of a transaction that reads and re-appends a row. This method is used to validate deletes for the transaction case.</p>
<dl class="section return"><dt>Returns</dt><dd>This <a class="el" href="classiceberg_1_1RowDelta.html" title="API for encoding row-level changes to a table.">RowDelta</a> for method chaining. </dd></dl>
</div>
</div>
<a id="a04d7160053beec055b5bc3d302776c72" name="a04d7160053beec055b5bc3d302776c72"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04d7160053beec055b5bc3d302776c72">&#9670;&#160;</a></span>ValidateFromSnapshot()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp; iceberg::RowDelta::ValidateFromSnapshot </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>snapshot_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the snapshot ID used in any reads for this operation. </p>
<p>Validations check changes after this snapshot ID. If the from snapshot is not set, all ancestor snapshots through the table's initial snapshot are validated.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">snapshot_id</td><td>A snapshot ID. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This <a class="el" href="classiceberg_1_1RowDelta.html" title="API for encoding row-level changes to a table.">RowDelta</a> for method chaining. </dd></dl>
</div>
</div>
<a id="a4a08c45826210e4879921cac3bebf182" name="a4a08c45826210e4879921cac3bebf182"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a08c45826210e4879921cac3bebf182">&#9670;&#160;</a></span>ValidateNoConflictingDataFiles()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp; iceberg::RowDelta::ValidateNoConflictingDataFiles </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable validation that concurrent data files do not conflict. </p>
<p>This method should be called when the table is queried to determine which files to delete or append. If a concurrent operation commits a new file after the data was read and that file might contain rows matching the conflict detection filter, this operation detects that during retries and fails.</p>
<p>Calling this method is required to maintain serializable isolation for update/delete operations. Otherwise, the isolation level is snapshot isolation.</p>
<p>Validation uses the filter passed to <a class="el" href="classiceberg_1_1RowDelta.html#ab8c598a5024ffca8fdb5d25584d7f63e" title="Set a conflict detection filter used to validate concurrently added data and delete files.">ConflictDetectionFilter()</a> and applies to operations after the snapshot passed to <a class="el" href="classiceberg_1_1RowDelta.html#a04d7160053beec055b5bc3d302776c72" title="Set the snapshot ID used in any reads for this operation.">ValidateFromSnapshot()</a>.</p>
<dl class="section return"><dt>Returns</dt><dd>This <a class="el" href="classiceberg_1_1RowDelta.html" title="API for encoding row-level changes to a table.">RowDelta</a> for method chaining. </dd></dl>
</div>
</div>
<a id="a1ae2d777d05d4194e59ddaa95925dd5f" name="a1ae2d777d05d4194e59ddaa95925dd5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ae2d777d05d4194e59ddaa95925dd5f">&#9670;&#160;</a></span>ValidateNoConflictingDeleteFiles()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1RowDelta.html">RowDelta</a> &amp; iceberg::RowDelta::ValidateNoConflictingDeleteFiles </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable validation that concurrent delete files do not conflict. </p>
<p>This method must be called when the table is queried to produce a row delta for UPDATE and MERGE operations independently of the isolation level. Calling this method is not required for DELETE operations because it is OK to delete a record that is also deleted concurrently.</p>
<p>Validation uses the filter passed to <a class="el" href="classiceberg_1_1RowDelta.html#ab8c598a5024ffca8fdb5d25584d7f63e" title="Set a conflict detection filter used to validate concurrently added data and delete files.">ConflictDetectionFilter()</a> and applies to operations after the snapshot passed to <a class="el" href="classiceberg_1_1RowDelta.html#a04d7160053beec055b5bc3d302776c72" title="Set the snapshot ID used in any reads for this operation.">ValidateFromSnapshot()</a>.</p>
<dl class="section return"><dt>Returns</dt><dd>This <a class="el" href="classiceberg_1_1RowDelta.html" title="API for encoding row-level changes to a table.">RowDelta</a> for method chaining. </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>iceberg/update/<a class="el" href="row__delta_8h_source.html">row_delta.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>