blob: c7d6976a877f4f000c9b8a7eb81f43769ea86ef5 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>BaseMetastoreTableOperations</title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="BaseMetastoreTableOperations";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":6,"i17":10,"i18":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../org/apache/iceberg/BaseMetastoreCatalog.BaseMetastoreCatalogTableBuilder.html" title="class in org.apache.iceberg"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.CommitStatus.html" title="enum in org.apache.iceberg"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/iceberg/BaseMetastoreTableOperations.html" target="_top">Frames</a></li>
<li><a href="BaseMetastoreTableOperations.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.iceberg</div>
<h2 title="Class BaseMetastoreTableOperations" class="title">Class BaseMetastoreTableOperations</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.iceberg.BaseMetastoreTableOperations</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../org/apache/iceberg/hive/HiveTableOperations.html" title="class in org.apache.iceberg.hive">HiveTableOperations</a>, <a href="../../../org/apache/iceberg/nessie/NessieTableOperations.html" title="class in org.apache.iceberg.nessie">NessieTableOperations</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">BaseMetastoreTableOperations</span>
extends java.lang.Object
implements <a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.CommitStatus.html" title="enum in org.apache.iceberg">BaseMetastoreTableOperations.CommitStatus</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#ICEBERG_TABLE_TYPE_VALUE">ICEBERG_TABLE_TYPE_VALUE</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#METADATA_LOCATION_PROP">METADATA_LOCATION_PROP</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#PREVIOUS_METADATA_LOCATION_PROP">PREVIOUS_METADATA_LOCATION_PROP</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#TABLE_TYPE_PROP">TABLE_TYPE_PROP</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#BaseMetastoreTableOperations--">BaseMetastoreTableOperations</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.CommitStatus.html" title="enum in org.apache.iceberg">BaseMetastoreTableOperations.CommitStatus</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#checkCommitStatus-java.lang.String-org.apache.iceberg.TableMetadata-">checkCommitStatus</a></span>(java.lang.String&nbsp;newMetadataLocation,
<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;config)</code>
<div class="block">Attempt to load the table and see if any current or past metadata location matches the one we were attempting
to set.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#commit-org.apache.iceberg.TableMetadata-org.apache.iceberg.TableMetadata-">commit</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;metadata)</code>
<div class="block">Replace the base table metadata with a new version.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#current--">current</a></span>()</code>
<div class="block">Return the currently loaded table metadata, without checking for updates.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#currentMetadataLocation--">currentMetadataLocation</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#currentVersion--">currentVersion</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#disableRefresh--">disableRefresh</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#doCommit-org.apache.iceberg.TableMetadata-org.apache.iceberg.TableMetadata-">doCommit</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;metadata)</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#doRefresh--">doRefresh</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/io/LocationProvider.html" title="interface in org.apache.iceberg.io">LocationProvider</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#locationProvider--">locationProvider</a></span>()</code>
<div class="block">Returns a <a href="../../../org/apache/iceberg/io/LocationProvider.html" title="interface in org.apache.iceberg.io"><code>LocationProvider</code></a> that supplies locations for new new data files.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#metadataFileLocation-java.lang.String-">metadataFileLocation</a></span>(java.lang.String&nbsp;filename)</code>
<div class="block">Given the name of a metadata file, obtain the full path of that file using an appropriate base
location of the implementation's choosing.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#refresh--">refresh</a></span>()</code>
<div class="block">Return the current table metadata after checking for updates.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#refreshFromMetadataLocation-java.lang.String-">refreshFromMetadataLocation</a></span>(java.lang.String&nbsp;newLocation)</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#refreshFromMetadataLocation-java.lang.String-int-">refreshFromMetadataLocation</a></span>(java.lang.String&nbsp;newLocation,
int&nbsp;numRetries)</code>&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#refreshFromMetadataLocation-java.lang.String-java.util.function.Predicate-int-">refreshFromMetadataLocation</a></span>(java.lang.String&nbsp;newLocation,
java.util.function.Predicate&lt;java.lang.Exception&gt;&nbsp;shouldRetry,
int&nbsp;numRetries)</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#refreshFromMetadataLocation-java.lang.String-java.util.function.Predicate-int-java.util.function.Function-">refreshFromMetadataLocation</a></span>(java.lang.String&nbsp;newLocation,
java.util.function.Predicate&lt;java.lang.Exception&gt;&nbsp;shouldRetry,
int&nbsp;numRetries,
java.util.function.Function&lt;java.lang.String,<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&gt;&nbsp;metadataLoader)</code>&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#requestRefresh--">requestRefresh</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>protected abstract java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#tableName--">tableName</a></span>()</code>
<div class="block">The full name of the table used for logging purposes only.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#temp-org.apache.iceberg.TableMetadata-">temp</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;uncommittedMetadata)</code>
<div class="block">Return a temporary <a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg"><code>TableOperations</code></a> instance that uses configuration from uncommitted metadata.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.html#writeNewMetadata-org.apache.iceberg.TableMetadata-int-">writeNewMetadata</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;metadata,
int&nbsp;newVersion)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.TableOperations">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></h3>
<code><a href="../../../org/apache/iceberg/TableOperations.html#encryption--">encryption</a>, <a href="../../../org/apache/iceberg/TableOperations.html#io--">io</a>, <a href="../../../org/apache/iceberg/TableOperations.html#newSnapshotId--">newSnapshotId</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="TABLE_TYPE_PROP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TABLE_TYPE_PROP</h4>
<pre>public static final&nbsp;java.lang.String TABLE_TYPE_PROP</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#org.apache.iceberg.BaseMetastoreTableOperations.TABLE_TYPE_PROP">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ICEBERG_TABLE_TYPE_VALUE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ICEBERG_TABLE_TYPE_VALUE</h4>
<pre>public static final&nbsp;java.lang.String ICEBERG_TABLE_TYPE_VALUE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#org.apache.iceberg.BaseMetastoreTableOperations.ICEBERG_TABLE_TYPE_VALUE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="METADATA_LOCATION_PROP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>METADATA_LOCATION_PROP</h4>
<pre>public static final&nbsp;java.lang.String METADATA_LOCATION_PROP</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#org.apache.iceberg.BaseMetastoreTableOperations.METADATA_LOCATION_PROP">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="PREVIOUS_METADATA_LOCATION_PROP">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PREVIOUS_METADATA_LOCATION_PROP</h4>
<pre>public static final&nbsp;java.lang.String PREVIOUS_METADATA_LOCATION_PROP</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#org.apache.iceberg.BaseMetastoreTableOperations.PREVIOUS_METADATA_LOCATION_PROP">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="BaseMetastoreTableOperations--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>BaseMetastoreTableOperations</h4>
<pre>protected&nbsp;BaseMetastoreTableOperations()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="tableName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tableName</h4>
<pre>protected abstract&nbsp;java.lang.String&nbsp;tableName()</pre>
<div class="block">The full name of the table used for logging purposes only. For example for HiveTableOperations it is
catalogName + "." + database + "." + table.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The full name</dd>
</dl>
</li>
</ul>
<a name="current--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>current</h4>
<pre>public&nbsp;<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;current()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/TableOperations.html#current--">TableOperations</a></code></span></div>
<div class="block">Return the currently loaded table metadata, without checking for updates.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../org/apache/iceberg/TableOperations.html#current--">current</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>table metadata</dd>
</dl>
</li>
</ul>
<a name="currentMetadataLocation--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>currentMetadataLocation</h4>
<pre>public&nbsp;java.lang.String&nbsp;currentMetadataLocation()</pre>
</li>
</ul>
<a name="currentVersion--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>currentVersion</h4>
<pre>public&nbsp;int&nbsp;currentVersion()</pre>
</li>
</ul>
<a name="refresh--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>refresh</h4>
<pre>public&nbsp;<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;refresh()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/TableOperations.html#refresh--">TableOperations</a></code></span></div>
<div class="block">Return the current table metadata after checking for updates.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../org/apache/iceberg/TableOperations.html#refresh--">refresh</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>table metadata</dd>
</dl>
</li>
</ul>
<a name="doRefresh--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doRefresh</h4>
<pre>protected&nbsp;void&nbsp;doRefresh()</pre>
</li>
</ul>
<a name="commit-org.apache.iceberg.TableMetadata-org.apache.iceberg.TableMetadata-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>commit</h4>
<pre>public&nbsp;void&nbsp;commit(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;metadata)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/TableOperations.html#commit-org.apache.iceberg.TableMetadata-org.apache.iceberg.TableMetadata-">TableOperations</a></code></span></div>
<div class="block">Replace the base table metadata with a new version.
<p>
This method should implement and document atomicity guarantees.
<p>
Implementations must check that the base metadata is current to avoid overwriting updates.
Once the atomic commit operation succeeds, implementations must not perform any operations that
may fail because failure in this method cannot be distinguished from commit failure.
<p>
Implementations must throw a <a href="../../../org/apache/iceberg/exceptions/CommitStateUnknownException.html" title="class in org.apache.iceberg.exceptions"><code>CommitStateUnknownException</code></a>
in cases where it cannot be determined if the commit succeeded or failed.
For example if a network partition causes the confirmation of the commit to be lost,
the implementation should throw a CommitStateUnknownException. This is important because downstream users of
this API need to know whether they can clean up the commit or not, if the state is unknown then it is not safe
to remove any files. All other exceptions will be treated as if the commit has failed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../org/apache/iceberg/TableOperations.html#commit-org.apache.iceberg.TableMetadata-org.apache.iceberg.TableMetadata-">commit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - table metadata on which changes were based</dd>
<dd><code>metadata</code> - new table metadata with updates</dd>
</dl>
</li>
</ul>
<a name="doCommit-org.apache.iceberg.TableMetadata-org.apache.iceberg.TableMetadata-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doCommit</h4>
<pre>protected&nbsp;void&nbsp;doCommit(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;metadata)</pre>
</li>
</ul>
<a name="requestRefresh--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requestRefresh</h4>
<pre>protected&nbsp;void&nbsp;requestRefresh()</pre>
</li>
</ul>
<a name="disableRefresh--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>disableRefresh</h4>
<pre>protected&nbsp;void&nbsp;disableRefresh()</pre>
</li>
</ul>
<a name="writeNewMetadata-org.apache.iceberg.TableMetadata-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeNewMetadata</h4>
<pre>protected&nbsp;java.lang.String&nbsp;writeNewMetadata(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;metadata,
int&nbsp;newVersion)</pre>
</li>
</ul>
<a name="refreshFromMetadataLocation-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>refreshFromMetadataLocation</h4>
<pre>protected&nbsp;void&nbsp;refreshFromMetadataLocation(java.lang.String&nbsp;newLocation)</pre>
</li>
</ul>
<a name="refreshFromMetadataLocation-java.lang.String-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>refreshFromMetadataLocation</h4>
<pre>protected&nbsp;void&nbsp;refreshFromMetadataLocation(java.lang.String&nbsp;newLocation,
int&nbsp;numRetries)</pre>
</li>
</ul>
<a name="refreshFromMetadataLocation-java.lang.String-java.util.function.Predicate-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>refreshFromMetadataLocation</h4>
<pre>protected&nbsp;void&nbsp;refreshFromMetadataLocation(java.lang.String&nbsp;newLocation,
java.util.function.Predicate&lt;java.lang.Exception&gt;&nbsp;shouldRetry,
int&nbsp;numRetries)</pre>
</li>
</ul>
<a name="refreshFromMetadataLocation-java.lang.String-java.util.function.Predicate-int-java.util.function.Function-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>refreshFromMetadataLocation</h4>
<pre>protected&nbsp;void&nbsp;refreshFromMetadataLocation(java.lang.String&nbsp;newLocation,
java.util.function.Predicate&lt;java.lang.Exception&gt;&nbsp;shouldRetry,
int&nbsp;numRetries,
java.util.function.Function&lt;java.lang.String,<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&gt;&nbsp;metadataLoader)</pre>
</li>
</ul>
<a name="metadataFileLocation-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>metadataFileLocation</h4>
<pre>public&nbsp;java.lang.String&nbsp;metadataFileLocation(java.lang.String&nbsp;filename)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/TableOperations.html#metadataFileLocation-java.lang.String-">TableOperations</a></code></span></div>
<div class="block">Given the name of a metadata file, obtain the full path of that file using an appropriate base
location of the implementation's choosing.
<p>
The file may not exist yet, in which case the path should be returned as if it were to be created
by e.g. <a href="../../../org/apache/iceberg/io/FileIO.html#newOutputFile-java.lang.String-"><code>FileIO.newOutputFile(String)</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../org/apache/iceberg/TableOperations.html#metadataFileLocation-java.lang.String-">metadataFileLocation</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></code></dd>
</dl>
</li>
</ul>
<a name="locationProvider--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>locationProvider</h4>
<pre>public&nbsp;<a href="../../../org/apache/iceberg/io/LocationProvider.html" title="interface in org.apache.iceberg.io">LocationProvider</a>&nbsp;locationProvider()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/TableOperations.html#locationProvider--">TableOperations</a></code></span></div>
<div class="block">Returns a <a href="../../../org/apache/iceberg/io/LocationProvider.html" title="interface in org.apache.iceberg.io"><code>LocationProvider</code></a> that supplies locations for new new data files.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../org/apache/iceberg/TableOperations.html#locationProvider--">locationProvider</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a location provider configured for the current table state</dd>
</dl>
</li>
</ul>
<a name="temp-org.apache.iceberg.TableMetadata-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>temp</h4>
<pre>public&nbsp;<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;temp(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;uncommittedMetadata)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/TableOperations.html#temp-org.apache.iceberg.TableMetadata-">TableOperations</a></code></span></div>
<div class="block">Return a temporary <a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg"><code>TableOperations</code></a> instance that uses configuration from uncommitted metadata.
<p>
This is called by transactions when uncommitted table metadata should be used; for example, to create a metadata
file location based on metadata in the transaction that has not been committed.
<p>
Transactions will not call <a href="../../../org/apache/iceberg/TableOperations.html#refresh--"><code>TableOperations.refresh()</code></a> or <a href="../../../org/apache/iceberg/TableOperations.html#commit-org.apache.iceberg.TableMetadata-org.apache.iceberg.TableMetadata-"><code>TableOperations.commit(TableMetadata, TableMetadata)</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../org/apache/iceberg/TableOperations.html#temp-org.apache.iceberg.TableMetadata-">temp</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>uncommittedMetadata</code> - uncommitted table metadata</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a temporary table operations that behaves like the uncommitted metadata is current</dd>
</dl>
</li>
</ul>
<a name="checkCommitStatus-java.lang.String-org.apache.iceberg.TableMetadata-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>checkCommitStatus</h4>
<pre>protected&nbsp;<a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.CommitStatus.html" title="enum in org.apache.iceberg">BaseMetastoreTableOperations.CommitStatus</a>&nbsp;checkCommitStatus(java.lang.String&nbsp;newMetadataLocation,
<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;config)</pre>
<div class="block">Attempt to load the table and see if any current or past metadata location matches the one we were attempting
to set. This is used as a last resort when we are dealing with exceptions that may indicate the commit has
failed but are not proof that this is the case. Past locations must also be searched on the chance that a second
committer was able to successfully commit on top of our commit.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>newMetadataLocation</code> - the path of the new commit file</dd>
<dd><code>config</code> - metadata to use for configuration</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Commit Status of Success, Failure or Unknown</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../org/apache/iceberg/BaseMetastoreCatalog.BaseMetastoreCatalogTableBuilder.html" title="class in org.apache.iceberg"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.CommitStatus.html" title="enum in org.apache.iceberg"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/iceberg/BaseMetastoreTableOperations.html" target="_top">Frames</a></li>
<li><a href="BaseMetastoreTableOperations.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>