<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.12) on Mon Nov 08 18:33:49 PST 2021 -->
<title>CachingCatalog</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2021-11-08">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="CachingCatalog";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.iceberg</a></div>
<h2 title="Class CachingCatalog" class="title">Class CachingCatalog</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.iceberg.CachingCatalog</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">CachingCatalog</span>
extends java.lang.Object
implements <a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.iceberg.catalog.Catalog">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.iceberg.catalog.<a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></h3>
<code><a href="catalog/Catalog.TableBuilder.html" title="interface in org.apache.iceberg.catalog">Catalog.TableBuilder</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="catalog/Catalog.TableBuilder.html" title="interface in org.apache.iceberg.catalog">Catalog.TableBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema)">buildTable</a></span>&#8203;(<a href="catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;identifier,
          <a href="Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema)</code></th>
<td class="colLast">
<div class="block">Instantiate a builder to either create a table or start a create/replace transaction.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="Table.html" title="interface in org.apache.iceberg">Table</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.lang.String,java.util.Map)">createTable</a></span>&#8203;(<a href="catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;ident,
           <a href="Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema,
           <a href="PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec,
           java.lang.String&nbsp;location,
           java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;properties)</code></th>
<td class="colLast">
<div class="block">Create a table.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dropTable(org.apache.iceberg.catalog.TableIdentifier,boolean)">dropTable</a></span>&#8203;(<a href="catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;ident,
         boolean&nbsp;purge)</code></th>
<td class="colLast">
<div class="block">Drop a table; optionally delete data and metadata files.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#listTables(org.apache.iceberg.catalog.Namespace)">listTables</a></span>&#8203;(<a href="catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace)</code></th>
<td class="colLast">
<div class="block">Return all the identifiers under this namespace.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="Table.html" title="interface in org.apache.iceberg">Table</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#loadTable(org.apache.iceberg.catalog.TableIdentifier)">loadTable</a></span>&#8203;(<a href="catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;ident)</code></th>
<td class="colLast">
<div class="block">Load a table.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#name()">name</a></span>()</code></th>
<td class="colLast">
<div class="block">Return the name for this catalog.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="Transaction.html" title="interface in org.apache.iceberg">Transaction</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newCreateTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.lang.String,java.util.Map)">newCreateTableTransaction</a></span>&#8203;(<a href="catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;ident,
                         <a href="Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema,
                         <a href="PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec,
                         java.lang.String&nbsp;location,
                         java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;properties)</code></th>
<td class="colLast">
<div class="block">Start a transaction to create a table.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="Transaction.html" title="interface in org.apache.iceberg">Transaction</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newReplaceTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.lang.String,java.util.Map,boolean)">newReplaceTableTransaction</a></span>&#8203;(<a href="catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;ident,
                          <a href="Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema,
                          <a href="PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec,
                          java.lang.String&nbsp;location,
                          java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;properties,
                          boolean&nbsp;orCreate)</code></th>
<td class="colLast">
<div class="block">Start a transaction to replace a table.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#renameTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.catalog.TableIdentifier)">renameTable</a></span>&#8203;(<a href="catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;from,
           <a href="catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;to)</code></th>
<td class="colLast">
<div class="block">Rename a table.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static <a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#wrap(org.apache.iceberg.catalog.Catalog)">wrap</a></span>&#8203;(<a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a>&nbsp;catalog)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static <a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#wrap(org.apache.iceberg.catalog.Catalog,boolean)">wrap</a></span>&#8203;(<a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a>&nbsp;catalog,
    boolean&nbsp;caseSensitive)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.iceberg.catalog.Catalog">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.catalog.<a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></h3>
<code><a href="catalog/Catalog.html#createTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema)">createTable</a>, <a href="catalog/Catalog.html#createTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec)">createTable</a>, <a href="catalog/Catalog.html#createTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.util.Map)">createTable</a>, <a href="catalog/Catalog.html#dropTable(org.apache.iceberg.catalog.TableIdentifier)">dropTable</a>, <a href="catalog/Catalog.html#initialize(java.lang.String,java.util.Map)">initialize</a>, <a href="catalog/Catalog.html#newCreateTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema)">newCreateTableTransaction</a>, <a href="catalog/Catalog.html#newCreateTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec)">newCreateTableTransaction</a>, <a href="catalog/Catalog.html#newCreateTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.util.Map)">newCreateTableTransaction</a>, <a href="catalog/Catalog.html#newReplaceTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,boolean)">newReplaceTableTransaction</a>, <a href="catalog/Catalog.html#newReplaceTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,boolean)">newReplaceTableTransaction</a>, <a href="catalog/Catalog.html#newReplaceTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.util.Map,boolean)">newReplaceTableTransaction</a>, <a href="catalog/Catalog.html#tableExists(org.apache.iceberg.catalog.TableIdentifier)">tableExists</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="wrap(org.apache.iceberg.catalog.Catalog)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre class="methodSignature">public static&nbsp;<a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a>&nbsp;wrap&#8203;(<a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a>&nbsp;catalog)</pre>
</li>
</ul>
<a id="wrap(org.apache.iceberg.catalog.Catalog,boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre class="methodSignature">public static&nbsp;<a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a>&nbsp;wrap&#8203;(<a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a>&nbsp;catalog,
                           boolean&nbsp;caseSensitive)</pre>
</li>
</ul>
<a id="name()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>name</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;name()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="catalog/Catalog.html#name()">Catalog</a></code></span></div>
<div class="block">Return the name for this catalog.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="catalog/Catalog.html#name()">name</a></code>&nbsp;in interface&nbsp;<code><a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this catalog's name</dd>
</dl>
</li>
</ul>
<a id="listTables(org.apache.iceberg.catalog.Namespace)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listTables</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;<a href="catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&gt;&nbsp;listTables&#8203;(<a href="catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="catalog/Catalog.html#listTables(org.apache.iceberg.catalog.Namespace)">Catalog</a></code></span></div>
<div class="block">Return all the identifiers under this namespace.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="catalog/Catalog.html#listTables(org.apache.iceberg.catalog.Namespace)">listTables</a></code>&nbsp;in interface&nbsp;<code><a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>namespace</code> - a namespace</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a list of identifiers for tables</dd>
</dl>
</li>
</ul>
<a id="loadTable(org.apache.iceberg.catalog.TableIdentifier)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>loadTable</h4>
<pre class="methodSignature">public&nbsp;<a href="Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;loadTable&#8203;(<a href="catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;ident)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="catalog/Catalog.html#loadTable(org.apache.iceberg.catalog.TableIdentifier)">Catalog</a></code></span></div>
<div class="block">Load a table.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="catalog/Catalog.html#loadTable(org.apache.iceberg.catalog.TableIdentifier)">loadTable</a></code>&nbsp;in interface&nbsp;<code><a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ident</code> - a table identifier</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>instance of <a href="Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation referred by <code>tableIdentifier</code></dd>
</dl>
</li>
</ul>
<a id="createTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.lang.String,java.util.Map)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createTable</h4>
<pre class="methodSignature">public&nbsp;<a href="Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;createTable&#8203;(<a href="catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;ident,
                         <a href="Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema,
                         <a href="PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec,
                         java.lang.String&nbsp;location,
                         java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;properties)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="catalog/Catalog.html#createTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.lang.String,java.util.Map)">Catalog</a></code></span></div>
<div class="block">Create a table.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="catalog/Catalog.html#createTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.lang.String,java.util.Map)">createTable</a></code>&nbsp;in interface&nbsp;<code><a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ident</code> - a table identifier</dd>
<dd><code>schema</code> - a schema</dd>
<dd><code>spec</code> - a partition spec</dd>
<dd><code>location</code> - a location for the table; leave null if unspecified</dd>
<dd><code>properties</code> - a string map of table properties</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Table instance</dd>
</dl>
</li>
</ul>
<a id="newCreateTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.lang.String,java.util.Map)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newCreateTableTransaction</h4>
<pre class="methodSignature">public&nbsp;<a href="Transaction.html" title="interface in org.apache.iceberg">Transaction</a>&nbsp;newCreateTableTransaction&#8203;(<a href="catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;ident,
                                             <a href="Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema,
                                             <a href="PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec,
                                             java.lang.String&nbsp;location,
                                             java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;properties)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="catalog/Catalog.html#newCreateTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.lang.String,java.util.Map)">Catalog</a></code></span></div>
<div class="block">Start a transaction to create a table.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="catalog/Catalog.html#newCreateTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.lang.String,java.util.Map)">newCreateTableTransaction</a></code>&nbsp;in interface&nbsp;<code><a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ident</code> - a table identifier</dd>
<dd><code>schema</code> - a schema</dd>
<dd><code>spec</code> - a partition spec</dd>
<dd><code>location</code> - a location for the table; leave null if unspecified</dd>
<dd><code>properties</code> - a string map of table properties</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="Transaction.html" title="interface in org.apache.iceberg"><code>Transaction</code></a> to create the table</dd>
</dl>
</li>
</ul>
<a id="newReplaceTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.lang.String,java.util.Map,boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newReplaceTableTransaction</h4>
<pre class="methodSignature">public&nbsp;<a href="Transaction.html" title="interface in org.apache.iceberg">Transaction</a>&nbsp;newReplaceTableTransaction&#8203;(<a href="catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;ident,
                                              <a href="Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema,
                                              <a href="PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec,
                                              java.lang.String&nbsp;location,
                                              java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;properties,
                                              boolean&nbsp;orCreate)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="catalog/Catalog.html#newReplaceTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.lang.String,java.util.Map,boolean)">Catalog</a></code></span></div>
<div class="block">Start a transaction to replace a table.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="catalog/Catalog.html#newReplaceTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.lang.String,java.util.Map,boolean)">newReplaceTableTransaction</a></code>&nbsp;in interface&nbsp;<code><a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ident</code> - a table identifier</dd>
<dd><code>schema</code> - a schema</dd>
<dd><code>spec</code> - a partition spec</dd>
<dd><code>location</code> - a location for the table; leave null if unspecified</dd>
<dd><code>properties</code> - a string map of table properties</dd>
<dd><code>orCreate</code> - whether to create the table if not exists</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="Transaction.html" title="interface in org.apache.iceberg"><code>Transaction</code></a> to replace the table</dd>
</dl>
</li>
</ul>
<a id="dropTable(org.apache.iceberg.catalog.TableIdentifier,boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dropTable</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;dropTable&#8203;(<a href="catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;ident,
                         boolean&nbsp;purge)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="catalog/Catalog.html#dropTable(org.apache.iceberg.catalog.TableIdentifier,boolean)">Catalog</a></code></span></div>
<div class="block">Drop a table; optionally delete data and metadata files.
 <p>
 If purge is set to true the implementation should delete all data and metadata files.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="catalog/Catalog.html#dropTable(org.apache.iceberg.catalog.TableIdentifier,boolean)">dropTable</a></code>&nbsp;in interface&nbsp;<code><a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ident</code> - a table identifier</dd>
<dd><code>purge</code> - if true, delete all data and metadata files in the table</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the table was dropped, false if the table did not exist</dd>
</dl>
</li>
</ul>
<a id="renameTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.catalog.TableIdentifier)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>renameTable</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;renameTable&#8203;(<a href="catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;from,
                        <a href="catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;to)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="catalog/Catalog.html#renameTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.catalog.TableIdentifier)">Catalog</a></code></span></div>
<div class="block">Rename a table.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="catalog/Catalog.html#renameTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.catalog.TableIdentifier)">renameTable</a></code>&nbsp;in interface&nbsp;<code><a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>from</code> - identifier of the table to rename</dd>
<dd><code>to</code> - new table name</dd>
</dl>
</li>
</ul>
<a id="buildTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>buildTable</h4>
<pre class="methodSignature">public&nbsp;<a href="catalog/Catalog.TableBuilder.html" title="interface in org.apache.iceberg.catalog">Catalog.TableBuilder</a>&nbsp;buildTable&#8203;(<a href="catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;identifier,
                                       <a href="Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="catalog/Catalog.html#buildTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema)">Catalog</a></code></span></div>
<div class="block">Instantiate a builder to either create a table or start a create/replace transaction.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="catalog/Catalog.html#buildTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema)">buildTable</a></code>&nbsp;in interface&nbsp;<code><a href="catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>identifier</code> - a table identifier</dd>
<dd><code>schema</code> - a schema</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the builder to create a table or start a create/replace transaction</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>
