blob: 21bf69372893b9a9aef778ef5a8af98139cf6188 [file] [log] [blame]
<!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::Transaction 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"><b>iceberg</b></li><li class="navelem"><a class="el" href="classiceberg_1_1Transaction.html">Transaction</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classiceberg_1_1Transaction-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">iceberg::Transaction Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>A transaction for performing multiple updates to a table.
<a href="classiceberg_1_1Transaction.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="transaction_8h_source.html">transaction.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for iceberg::Transaction:</div>
<div class="dyncontent">
<div class="center">
<img src="classiceberg_1_1Transaction.png" alt=""/>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ae94a39227d6c4a78d4e37b4532dd0f4f" id="r_ae94a39227d6c4a78d4e37b4532dd0f4f"><td class="memItemLeft" align="right" valign="top"><a id="ae94a39227d6c4a78d4e37b4532dd0f4f" name="ae94a39227d6c4a78d4e37b4532dd0f4f"></a>enum class &#160;</td><td class="memItemRight" valign="bottom"><b>Kind</b> : uint8_t { <b>kCreate</b>
, <b>kUpdate</b>
}</td></tr>
<tr class="separator:ae94a39227d6c4a78d4e37b4532dd0f4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:a7564979fbb0ecbaaf7d4795e10479b30" id="r_a7564979fbb0ecbaaf7d4795e10479b30"><td class="memItemLeft" align="right" valign="top"><a id="a7564979fbb0ecbaaf7d4795e10479b30" name="a7564979fbb0ecbaaf7d4795e10479b30"></a>
const std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Table.html">Table</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>table</b> () const</td></tr>
<tr class="memdesc:a7564979fbb0ecbaaf7d4795e10479b30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the <a class="el" href="classiceberg_1_1Table.html" title="Represents an Iceberg table.">Table</a> that this transaction will update. <br /></td></tr>
<tr class="separator:a7564979fbb0ecbaaf7d4795e10479b30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02f087a02ee87cade90d360f1c2acf88" id="r_a02f087a02ee87cade90d360f1c2acf88"><td class="memItemLeft" align="right" valign="top"><a id="a02f087a02ee87cade90d360f1c2acf88" name="a02f087a02ee87cade90d360f1c2acf88"></a>
const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>base</b> () const</td></tr>
<tr class="memdesc:a02f087a02ee87cade90d360f1c2acf88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the base metadata without any changes. <br /></td></tr>
<tr class="separator:a02f087a02ee87cade90d360f1c2acf88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b4d3f539895d4446c830f473e2d91ab" id="r_a4b4d3f539895d4446c830f473e2d91ab"><td class="memItemLeft" align="right" valign="top"><a id="a4b4d3f539895d4446c830f473e2d91ab" name="a4b4d3f539895d4446c830f473e2d91ab"></a>
const <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>current</b> () const</td></tr>
<tr class="memdesc:a4b4d3f539895d4446c830f473e2d91ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current metadata with staged changes applied. <br /></td></tr>
<tr class="separator:a4b4d3f539895d4446c830f473e2d91ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ac70a8aafc809c6fd4ac222ad552214" id="r_a8ac70a8aafc809c6fd4ac222ad552214"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1Transaction.html#a8ac70a8aafc809c6fd4ac222ad552214">MetadataFileLocation</a> (std::string_view filename) const</td></tr>
<tr class="memdesc:a8ac70a8aafc809c6fd4ac222ad552214"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the location of the metadata file with the given filename. <br /></td></tr>
<tr class="separator:a8ac70a8aafc809c6fd4ac222ad552214"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ca9c53f2f44580f3dd5398dd9c8e1a5" id="r_a9ca9c53f2f44580f3dd5398dd9c8e1a5"><td class="memItemLeft" align="right" valign="top">Result&lt; std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Table.html">Table</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1Transaction.html#a9ca9c53f2f44580f3dd5398dd9c8e1a5">Commit</a> ()</td></tr>
<tr class="memdesc:a9ca9c53f2f44580f3dd5398dd9c8e1a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply the pending changes from all actions and commit. <br /></td></tr>
<tr class="separator:a9ca9c53f2f44580f3dd5398dd9c8e1a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0a381cce739dbffa448bda11be9d472" id="r_aa0a381cce739dbffa448bda11be9d472"><td class="memItemLeft" align="right" valign="top"><a id="aa0a381cce739dbffa448bda11be9d472" name="aa0a381cce739dbffa448bda11be9d472"></a>
Result&lt; std::shared_ptr&lt; <a class="el" href="classiceberg_1_1UpdatePartitionSpec.html">UpdatePartitionSpec</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>NewUpdatePartitionSpec</b> ()</td></tr>
<tr class="memdesc:aa0a381cce739dbffa448bda11be9d472"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="classiceberg_1_1UpdatePartitionSpec.html" title="API for partition spec evolution.">UpdatePartitionSpec</a> to update the partition spec of this table and commit the changes. <br /></td></tr>
<tr class="separator:aa0a381cce739dbffa448bda11be9d472"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0a7901ee21eeb2556d7b8e97cc7e279" id="r_ad0a7901ee21eeb2556d7b8e97cc7e279"><td class="memItemLeft" align="right" valign="top"><a id="ad0a7901ee21eeb2556d7b8e97cc7e279" name="ad0a7901ee21eeb2556d7b8e97cc7e279"></a>
Result&lt; std::shared_ptr&lt; <a class="el" href="classiceberg_1_1UpdateProperties.html">UpdateProperties</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>NewUpdateProperties</b> ()</td></tr>
<tr class="memdesc:ad0a7901ee21eeb2556d7b8e97cc7e279"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="classiceberg_1_1UpdateProperties.html" title="Updates table properties.">UpdateProperties</a> to update table properties and commit the changes. <br /></td></tr>
<tr class="separator:ad0a7901ee21eeb2556d7b8e97cc7e279"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a241229c97cec17d89ca6334a33c026d8" id="r_a241229c97cec17d89ca6334a33c026d8"><td class="memItemLeft" align="right" valign="top"><a id="a241229c97cec17d89ca6334a33c026d8" name="a241229c97cec17d89ca6334a33c026d8"></a>
Result&lt; std::shared_ptr&lt; <a class="el" href="classiceberg_1_1UpdateSortOrder.html">UpdateSortOrder</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>NewUpdateSortOrder</b> ()</td></tr>
<tr class="memdesc:a241229c97cec17d89ca6334a33c026d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="classiceberg_1_1UpdateSortOrder.html" title="Updating table sort order with a newly created order.">UpdateSortOrder</a> to update the table sort order and commit the changes. <br /></td></tr>
<tr class="separator:a241229c97cec17d89ca6334a33c026d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad5fd7485f0e11f1047adc7416e9da4a" id="r_aad5fd7485f0e11f1047adc7416e9da4a"><td class="memItemLeft" align="right" valign="top"><a id="aad5fd7485f0e11f1047adc7416e9da4a" name="aad5fd7485f0e11f1047adc7416e9da4a"></a>
Result&lt; std::shared_ptr&lt; <a class="el" href="classiceberg_1_1UpdateSchema.html">UpdateSchema</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>NewUpdateSchema</b> ()</td></tr>
<tr class="memdesc:aad5fd7485f0e11f1047adc7416e9da4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="classiceberg_1_1UpdateSchema.html" title="API for schema evolution.">UpdateSchema</a> to alter the columns of this table and commit the changes. <br /></td></tr>
<tr class="separator:aad5fd7485f0e11f1047adc7416e9da4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8509403309950e992125d77ba714f92c" id="r_a8509403309950e992125d77ba714f92c"><td class="memItemLeft" align="right" valign="top"><a id="a8509403309950e992125d77ba714f92c" name="a8509403309950e992125d77ba714f92c"></a>
Result&lt; std::shared_ptr&lt; <a class="el" href="classiceberg_1_1ExpireSnapshots.html">ExpireSnapshots</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>NewExpireSnapshots</b> ()</td></tr>
<tr class="memdesc:a8509403309950e992125d77ba714f92c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="classiceberg_1_1ExpireSnapshots.html" title="API for removing old snapshots from a table.">ExpireSnapshots</a> to remove expired snapshots and commit the changes. <br /></td></tr>
<tr class="separator:a8509403309950e992125d77ba714f92c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3bf8231c40b912ac2337cfda69bc567" id="r_aa3bf8231c40b912ac2337cfda69bc567"><td class="memItemLeft" align="right" valign="top"><a id="aa3bf8231c40b912ac2337cfda69bc567" name="aa3bf8231c40b912ac2337cfda69bc567"></a>
Result&lt; std::shared_ptr&lt; <a class="el" href="classiceberg_1_1UpdateStatistics.html">UpdateStatistics</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>NewUpdateStatistics</b> ()</td></tr>
<tr class="memdesc:aa3bf8231c40b912ac2337cfda69bc567"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="classiceberg_1_1UpdateStatistics.html" title="Updates table statistics.">UpdateStatistics</a> to update table statistics and commit the changes. <br /></td></tr>
<tr class="separator:aa3bf8231c40b912ac2337cfda69bc567"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69bfd3e2afeb35bc3f60e4545bc01d87" id="r_a69bfd3e2afeb35bc3f60e4545bc01d87"><td class="memItemLeft" align="right" valign="top"><a id="a69bfd3e2afeb35bc3f60e4545bc01d87" name="a69bfd3e2afeb35bc3f60e4545bc01d87"></a>
Result&lt; std::shared_ptr&lt; <a class="el" href="classiceberg_1_1UpdatePartitionStatistics.html">UpdatePartitionStatistics</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>NewUpdatePartitionStatistics</b> ()</td></tr>
<tr class="memdesc:a69bfd3e2afeb35bc3f60e4545bc01d87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="classiceberg_1_1UpdatePartitionStatistics.html" title="Updates table partition statistics.">UpdatePartitionStatistics</a> to update partition statistics and commit the changes. <br /></td></tr>
<tr class="separator:a69bfd3e2afeb35bc3f60e4545bc01d87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ce15c77e26f8672f4bfe080ec04fec3" id="r_a7ce15c77e26f8672f4bfe080ec04fec3"><td class="memItemLeft" align="right" valign="top"><a id="a7ce15c77e26f8672f4bfe080ec04fec3" name="a7ce15c77e26f8672f4bfe080ec04fec3"></a>
Result&lt; std::shared_ptr&lt; <a class="el" href="classiceberg_1_1UpdateLocation.html">UpdateLocation</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>NewUpdateLocation</b> ()</td></tr>
<tr class="memdesc:a7ce15c77e26f8672f4bfe080ec04fec3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="classiceberg_1_1UpdateLocation.html" title="Updating table location with a new base location.">UpdateLocation</a> to update the table location and commit the changes. <br /></td></tr>
<tr class="separator:a7ce15c77e26f8672f4bfe080ec04fec3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75b55e9339360f09a7d6fa65e6cda236" id="r_a75b55e9339360f09a7d6fa65e6cda236"><td class="memItemLeft" align="right" valign="top"><a id="a75b55e9339360f09a7d6fa65e6cda236" name="a75b55e9339360f09a7d6fa65e6cda236"></a>
Result&lt; std::shared_ptr&lt; <a class="el" href="classiceberg_1_1FastAppend.html">FastAppend</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>NewFastAppend</b> ()</td></tr>
<tr class="memdesc:a75b55e9339360f09a7d6fa65e6cda236"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="classiceberg_1_1FastAppend.html" title="Appending new files in a table.">FastAppend</a> to append data files and commit the changes. <br /></td></tr>
<tr class="separator:a75b55e9339360f09a7d6fa65e6cda236"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a826952b68eea36e8ad8395f127c3c34b" id="r_a826952b68eea36e8ad8395f127c3c34b"><td class="memItemLeft" align="right" valign="top"><a id="a826952b68eea36e8ad8395f127c3c34b" name="a826952b68eea36e8ad8395f127c3c34b"></a>
Result&lt; std::shared_ptr&lt; <a class="el" href="classiceberg_1_1SnapshotManager.html">SnapshotManager</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>NewSnapshotManager</b> ()</td></tr>
<tr class="memdesc:a826952b68eea36e8ad8395f127c3c34b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="classiceberg_1_1SnapshotManager.html" title="API for managing snapshots.">SnapshotManager</a> to manage snapshots. <br /></td></tr>
<tr class="separator:a826952b68eea36e8ad8395f127c3c34b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76bc02e8cb9e5b08ab41b8463d744a45" id="r_a76bc02e8cb9e5b08ab41b8463d744a45"><td class="memItemLeft" align="right" valign="top"><a id="a76bc02e8cb9e5b08ab41b8463d744a45" name="a76bc02e8cb9e5b08ab41b8463d744a45"></a>
Result&lt; std::shared_ptr&lt; <a class="el" href="classiceberg_1_1SetSnapshot.html">SetSnapshot</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>NewSetSnapshot</b> ()</td></tr>
<tr class="memdesc:a76bc02e8cb9e5b08ab41b8463d744a45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="classiceberg_1_1SetSnapshot.html" title="Sets the current snapshot directly or by rolling back.">SetSnapshot</a> to set the current snapshot or rollback to a previous snapshot and commit the changes. <br /></td></tr>
<tr class="separator:a76bc02e8cb9e5b08ab41b8463d744a45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02ec5bcd815d52692022ad0ee0f92fd3" id="r_a02ec5bcd815d52692022ad0ee0f92fd3"><td class="memItemLeft" align="right" valign="top"><a id="a02ec5bcd815d52692022ad0ee0f92fd3" name="a02ec5bcd815d52692022ad0ee0f92fd3"></a>
Result&lt; std::shared_ptr&lt; <a class="el" href="classiceberg_1_1UpdateSnapshotReference.html">UpdateSnapshotReference</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>NewUpdateSnapshotReference</b> ()</td></tr>
<tr class="memdesc:a02ec5bcd815d52692022ad0ee0f92fd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="classiceberg_1_1UpdateSnapshotReference.html" title="Updates snapshot references.">UpdateSnapshotReference</a> to update snapshot references (branches and tags) and commit the changes. <br /></td></tr>
<tr class="separator:a02ec5bcd815d52692022ad0ee0f92fd3"><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:ac96b3a8ca14a495c8dc949f766ffdfa5" id="r_ac96b3a8ca14a495c8dc949f766ffdfa5"><td class="memItemLeft" align="right" valign="top"><a id="ac96b3a8ca14a495c8dc949f766ffdfa5" name="ac96b3a8ca14a495c8dc949f766ffdfa5"></a>
static Result&lt; std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Transaction.html">Transaction</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Make</b> (std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Table.html">Table</a> &gt; <a class="el" href="classiceberg_1_1Transaction.html#a7564979fbb0ecbaaf7d4795e10479b30">table</a>, Kind kind, bool auto_commit)</td></tr>
<tr class="memdesc:ac96b3a8ca14a495c8dc949f766ffdfa5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new transaction. <br /></td></tr>
<tr class="separator:ac96b3a8ca14a495c8dc949f766ffdfa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="friends" name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:aec44c4d31066f74a4092dadf8d61923f" id="r_aec44c4d31066f74a4092dadf8d61923f"><td class="memItemLeft" align="right" valign="top"><a id="aec44c4d31066f74a4092dadf8d61923f" name="aec44c4d31066f74a4092dadf8d61923f"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>PendingUpdate</b></td></tr>
<tr class="separator:aec44c4d31066f74a4092dadf8d61923f"><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>A transaction for performing multiple updates to a table. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a9ca9c53f2f44580f3dd5398dd9c8e1a5" name="a9ca9c53f2f44580f3dd5398dd9c8e1a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ca9c53f2f44580f3dd5398dd9c8e1a5">&#9670;&#160;</a></span>Commit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Result&lt; std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Table.html">Table</a> &gt; &gt; iceberg::Transaction::Commit </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Apply the pending changes from all actions and commit. </p>
<dl class="section return"><dt>Returns</dt><dd>Updated table if the transaction was committed successfully, or an error:<ul>
<li>ValidationFailed: if any update cannot be applied to the current table metadata.</li>
<li>CommitFailed: if the updates cannot be committed due to conflicts. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="a8ac70a8aafc809c6fd4ac222ad552214" name="a8ac70a8aafc809c6fd4ac222ad552214"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ac70a8aafc809c6fd4ac222ad552214">&#9670;&#160;</a></span>MetadataFileLocation()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string iceberg::Transaction::MetadataFileLocation </td>
<td>(</td>
<td class="paramtype">std::string_view&#160;</td>
<td class="paramname"><em>filename</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the location of the metadata file with the given filename. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">filename</td><td>the name of the metadata file </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the location of the metadata file </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>iceberg/<a class="el" href="transaction_8h_source.html">transaction.h</a></li>
<li>iceberg/<b>transaction.cc</b></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>