blob: 8c78a3acadcebca6740ae3b3c9a0284543eb2768 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>CalciteSchema (Apache Calcite calcite API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.calcite.jdbc, class: CalciteSchema">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":10,"i1":6,"i2":10,"i3":10,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":9,"i11":9,"i12":9,"i13":9,"i14":10,"i15":41,"i16":41,"i17":9,"i18":10,"i19":10,"i20":6,"i21":6,"i22":6,"i23":6,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":6,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":6,"i46":6,"i47":10,"i48":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= 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 class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<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>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.jdbc</a></div>
<h1 title="Class CalciteSchema" class="title">Class CalciteSchema</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a>
<div class="inheritance">org.apache.calcite.jdbc.CalciteSchema</div>
</div>
<section class="description">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="CalciteRootSchema.html" title="class in org.apache.calcite.jdbc">CalciteRootSchema</a></code></dd>
</dl>
<hr>
<pre>public abstract class <span class="typeNameLabel">CalciteSchema</span>
extends <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></pre>
<div class="block">Schema.
<p>Wrapper around user-defined schema used internally.</p></div>
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li class="blockList">
<section class="nestedClassSummary"><a id="nested.class.summary">
<!-- -->
</a>
<h2>Nested Class Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="CalciteSchema.Entry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.Entry</a></span></code></th>
<td class="colLast">
<div class="block">Entry in a schema, such as a table or sub-schema.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="CalciteSchema.FunctionEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.FunctionEntry</a></span></code></th>
<td class="colLast">
<div class="block">Membership of a function in a schema.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="CalciteSchema.FunctionEntryImpl.html" title="class in org.apache.calcite.jdbc">CalciteSchema.FunctionEntryImpl</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="CalciteSchema.FunctionEntry.html" title="class in org.apache.calcite.jdbc"><code>CalciteSchema.FunctionEntry</code></a>
where all properties are held in fields.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="CalciteSchema.LatticeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.LatticeEntry</a></span></code></th>
<td class="colLast">
<div class="block">Membership of a lattice in a schema.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="CalciteSchema.LatticeEntryImpl.html" title="class in org.apache.calcite.jdbc">CalciteSchema.LatticeEntryImpl</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="CalciteSchema.LatticeEntry.html" title="class in org.apache.calcite.jdbc"><code>CalciteSchema.LatticeEntry</code></a>
where all properties are held in fields.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a></span></code></th>
<td class="colLast">
<div class="block">Membership of a table in a schema.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="CalciteSchema.TableEntryImpl.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntryImpl</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc"><code>CalciteSchema.TableEntry</code></a>
where all properties are held in fields.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="CalciteSchema.TypeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TypeEntry</a></span></code></th>
<td class="colLast">
<div class="block">Membership of a type in a schema.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="CalciteSchema.TypeEntryImpl.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TypeEntryImpl</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="CalciteSchema.TypeEntry.html" title="class in org.apache.calcite.jdbc"><code>CalciteSchema.TypeEntry</code></a>
where all properties are held in fields.</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- =========== FIELD SUMMARY =========== -->
<li class="blockList">
<section class="fieldSummary"><a id="field.summary">
<!-- -->
</a>
<h2>Field Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../util/NameMultimap.html" title="class in org.apache.calcite.util">NameMultimap</a>&lt;<a href="CalciteSchema.FunctionEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.FunctionEntry</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#functionMap">functionMap</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../util/NameSet.html" title="class in org.apache.calcite.util">NameSet</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#functionNames">functionNames</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../util/NameMap.html" title="class in org.apache.calcite.util">NameMap</a>&lt;<a href="CalciteSchema.LatticeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.LatticeEntry</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#latticeMap">latticeMap</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#name">name</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../util/NameMap.html" title="class in org.apache.calcite.util">NameMap</a>&lt;<a href="CalciteSchema.FunctionEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.FunctionEntry</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nullaryFunctionMap">nullaryFunctionMap</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../schema/Schema.html" title="interface in org.apache.calcite.schema">Schema</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#schema">schema</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../util/NameMap.html" title="class in org.apache.calcite.util">NameMap</a>&lt;<a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#subSchemaMap">subSchemaMap</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../util/NameMap.html" title="class in org.apache.calcite.util">NameMap</a>&lt;<a href="CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#tableMap">tableMap</a></span></code></th>
<td class="colLast">
<div class="block">Tables explicitly defined in this schema.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../util/NameMap.html" title="class in org.apache.calcite.util">NameMap</a>&lt;<a href="CalciteSchema.TypeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TypeEntry</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#typeMap">typeMap</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!-- -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colSecond" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.calcite.jdbc.CalciteSchema,org.apache.calcite.schema.Schema,java.lang.String,org.apache.calcite.util.NameMap,org.apache.calcite.util.NameMap,org.apache.calcite.util.NameMap,org.apache.calcite.util.NameMap,org.apache.calcite.util.NameMultimap,org.apache.calcite.util.NameSet,org.apache.calcite.util.NameMap,java.util.List)">CalciteSchema</a></span>&#8203;(@Nullable <a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&nbsp;parent,
<a href="../schema/Schema.html" title="interface in org.apache.calcite.schema">Schema</a>&nbsp;schema,
<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
@Nullable <a href="../util/NameMap.html" title="class in org.apache.calcite.util">NameMap</a>&lt;<a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&gt;&nbsp;subSchemaMap,
@Nullable <a href="../util/NameMap.html" title="class in org.apache.calcite.util">NameMap</a>&lt;<a href="CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a>&gt;&nbsp;tableMap,
@Nullable <a href="../util/NameMap.html" title="class in org.apache.calcite.util">NameMap</a>&lt;<a href="CalciteSchema.LatticeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.LatticeEntry</a>&gt;&nbsp;latticeMap,
@Nullable <a href="../util/NameMap.html" title="class in org.apache.calcite.util">NameMap</a>&lt;<a href="CalciteSchema.TypeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TypeEntry</a>&gt;&nbsp;typeMap,
@Nullable <a href="../util/NameMultimap.html" title="class in org.apache.calcite.util">NameMultimap</a>&lt;<a href="CalciteSchema.FunctionEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.FunctionEntry</a>&gt;&nbsp;functionMap,
@Nullable <a href="../util/NameSet.html" title="class in org.apache.calcite.util">NameSet</a>&nbsp;functionNames,
@Nullable <a href="../util/NameMap.html" title="class in org.apache.calcite.util">NameMap</a>&lt;<a href="CalciteSchema.FunctionEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.FunctionEntry</a>&gt;&nbsp;nullaryFunctionMap,
@Nullable <a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;? extends <a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&gt;&nbsp;path)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t1" class="tableTab" onclick="show(1);">Static Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t3" class="tableTab" onclick="show(4);">Abstract Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t6" class="tableTab" onclick="show(32);">Deprecated Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<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>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code><a href="CalciteSchema.TypeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TypeEntry</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#add(java.lang.String,org.apache.calcite.rel.type.RelProtoDataType)">add</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="../rel/type/RelProtoDataType.html" title="interface in org.apache.calcite.rel.type">RelProtoDataType</a>&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Defines a type within this schema.</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>abstract <a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#add(java.lang.String,org.apache.calcite.schema.Schema)">add</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="../schema/Schema.html" title="interface in org.apache.calcite.schema">Schema</a>&nbsp;schema)</code></th>
<td class="colLast">
<div class="block">Adds a child schema of this schema.</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#add(java.lang.String,org.apache.calcite.schema.Table)">add</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;tableName,
<a href="../schema/Table.html" title="interface in org.apache.calcite.schema">Table</a>&nbsp;table)</code></th>
<td class="colLast">
<div class="block">Defines a table within this schema.</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code><a href="CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#add(java.lang.String,org.apache.calcite.schema.Table,com.google.common.collect.ImmutableList)">add</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;tableName,
<a href="../schema/Table.html" title="interface in org.apache.calcite.schema">Table</a>&nbsp;table,
com.google.common.collect.ImmutableList&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;sqls)</code></th>
<td class="colLast">
<div class="block">Defines a table within this schema.</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>protected abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addImplicitFuncNamesToBuilder(com.google.common.collect.ImmutableSortedSet.Builder)">addImplicitFuncNamesToBuilder</a></span>&#8203;(com.google.common.collect.ImmutableSortedSet.Builder&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;builder)</code></th>
<td class="colLast">
<div class="block">Adds implicit function names to a builder.</div>
</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>protected abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addImplicitFunctionsToBuilder(com.google.common.collect.ImmutableList.Builder,java.lang.String,boolean)">addImplicitFunctionsToBuilder</a></span>&#8203;(com.google.common.collect.ImmutableList.Builder&lt;<a href="../schema/Function.html" title="interface in org.apache.calcite.schema">Function</a>&gt;&nbsp;builder,
<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
boolean&nbsp;caseSensitive)</code></th>
<td class="colLast">
<div class="block">Adds implicit functions to a builder.</div>
</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>protected abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addImplicitSubSchemaToBuilder(com.google.common.collect.ImmutableSortedMap.Builder)">addImplicitSubSchemaToBuilder</a></span>&#8203;(com.google.common.collect.ImmutableSortedMap.Builder&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&gt;&nbsp;builder)</code></th>
<td class="colLast">
<div class="block">Adds implicit sub-schemas to a builder.</div>
</td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>protected abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addImplicitTablesBasedOnNullaryFunctionsToBuilder(com.google.common.collect.ImmutableSortedMap.Builder)">addImplicitTablesBasedOnNullaryFunctionsToBuilder</a></span>&#8203;(com.google.common.collect.ImmutableSortedMap.Builder&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="../schema/Table.html" title="interface in org.apache.calcite.schema">Table</a>&gt;&nbsp;builder)</code></th>
<td class="colLast">
<div class="block">Adds implicit table functions to a builder.</div>
</td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>protected abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addImplicitTableToBuilder(com.google.common.collect.ImmutableSortedSet.Builder)">addImplicitTableToBuilder</a></span>&#8203;(com.google.common.collect.ImmutableSortedSet.Builder&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;builder)</code></th>
<td class="colLast">
<div class="block">Adds implicit tables to a builder.</div>
</td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>protected abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addImplicitTypeNamesToBuilder(com.google.common.collect.ImmutableSortedSet.Builder)">addImplicitTypeNamesToBuilder</a></span>&#8203;(com.google.common.collect.ImmutableSortedSet.Builder&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;builder)</code></th>
<td class="colLast">
<div class="block">Adds implicit type names to a builder.</div>
</td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>static <a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createRootSchema(boolean)">createRootSchema</a></span>&#8203;(boolean&nbsp;addMetadataSchema)</code></th>
<td class="colLast">
<div class="block">Creates a root schema.</div>
</td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code>static <a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createRootSchema(boolean,boolean)">createRootSchema</a></span>&#8203;(boolean&nbsp;addMetadataSchema,
boolean&nbsp;cache)</code></th>
<td class="colLast">
<div class="block">Creates a root schema.</div>
</td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code>static <a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createRootSchema(boolean,boolean,java.lang.String)">createRootSchema</a></span>&#8203;(boolean&nbsp;addMetadataSchema,
boolean&nbsp;cache,
<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Creates a root schema.</div>
</td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code>static <a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createRootSchema(boolean,boolean,java.lang.String,org.apache.calcite.schema.Schema)">createRootSchema</a></span>&#8203;(boolean&nbsp;addMetadataSchema,
boolean&nbsp;cache,
<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="../schema/Schema.html" title="interface in org.apache.calcite.schema">Schema</a>&nbsp;schema)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i14">
<td class="colFirst"><code><a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createSnapshot(org.apache.calcite.schema.SchemaVersion)">createSnapshot</a></span>&#8203;(<a href="../schema/SchemaVersion.html" title="interface in org.apache.calcite.schema">SchemaVersion</a>&nbsp;version)</code></th>
<td class="colLast">
<div class="block">Creates a snapshot of this CalciteSchema as of the specified time.</div>
</td>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><code>protected static &lt;V&gt;&nbsp;<a href="https://docs.oracle.com/javase/9/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util" class="externalLink">NavigableMap</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#find(java.util.NavigableMap,java.lang.String)">find</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util" class="externalLink">NavigableMap</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;V&gt;&nbsp;map,
<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;s)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">use NameMap</div>
</div>
</td>
</tr>
<tr class="altColor" id="i16">
<td class="colFirst"><code>protected static <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Iterable</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#find(java.util.NavigableSet,java.lang.String)">find</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util" class="externalLink">NavigableSet</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;set,
<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">use NameSet</div>
</div>
</td>
</tr>
<tr class="rowColor" id="i17">
<td class="colFirst"><code>static <a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#from(org.apache.calcite.schema.SchemaPlus)">from</a></span>&#8203;(<a href="../schema/SchemaPlus.html" title="interface in org.apache.calcite.schema">SchemaPlus</a>&nbsp;plus)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i18">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util" class="externalLink">NavigableSet</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFunctionNames()">getFunctionNames</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the list of function names in this schema, both implicit and
explicit, never null.</div>
</td>
</tr>
<tr class="rowColor" id="i19">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="../schema/Function.html" title="interface in org.apache.calcite.schema">Function</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFunctions(java.lang.String,boolean)">getFunctions</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
boolean&nbsp;caseSensitive)</code></th>
<td class="colLast">
<div class="block">Returns a collection of all functions, explicit and implicit, with a given
name.</div>
</td>
</tr>
<tr class="altColor" id="i20">
<td class="colFirst"><code>protected abstract @Nullable <a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getImplicitSubSchema(java.lang.String,boolean)">getImplicitSubSchema</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;schemaName,
boolean&nbsp;caseSensitive)</code></th>
<td class="colLast">
<div class="block">Returns a sub-schema with a given name that is defined implicitly
(that is, by the underlying <a href="../schema/Schema.html" title="interface in org.apache.calcite.schema"><code>Schema</code></a> object, not explicitly
by a call to <a href="#add(java.lang.String,org.apache.calcite.schema.Schema)"><code>add(String, Schema)</code></a>), or null.</div>
</td>
</tr>
<tr class="rowColor" id="i21">
<td class="colFirst"><code>protected abstract @Nullable <a href="CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getImplicitTable(java.lang.String,boolean)">getImplicitTable</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;tableName,
boolean&nbsp;caseSensitive)</code></th>
<td class="colLast">
<div class="block">Returns a table with a given name that is defined implicitly
(that is, by the underlying <a href="../schema/Schema.html" title="interface in org.apache.calcite.schema"><code>Schema</code></a> object, not explicitly
by a call to <a href="#add(java.lang.String,org.apache.calcite.schema.Table)"><code>add(String, Table)</code></a>), or null.</div>
</td>
</tr>
<tr class="altColor" id="i22">
<td class="colFirst"><code>protected abstract @Nullable <a href="CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getImplicitTableBasedOnNullaryFunction(java.lang.String,boolean)">getImplicitTableBasedOnNullaryFunction</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;tableName,
boolean&nbsp;caseSensitive)</code></th>
<td class="colLast">
<div class="block">Returns table function with a given name and zero arguments that is
defined implicitly (that is, by the underlying <a href="../schema/Schema.html" title="interface in org.apache.calcite.schema"><code>Schema</code></a> object,
not explicitly by a call to <code>add(String, Function)</code>), or null.</div>
</td>
</tr>
<tr class="rowColor" id="i23">
<td class="colFirst"><code>protected abstract @Nullable <a href="CalciteSchema.TypeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TypeEntry</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getImplicitType(java.lang.String,boolean)">getImplicitType</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
boolean&nbsp;caseSensitive)</code></th>
<td class="colLast">
<div class="block">Returns a type with a given name that is defined implicitly
(that is, by the underlying <a href="../schema/Schema.html" title="interface in org.apache.calcite.schema"><code>Schema</code></a> object, not explicitly
by a call to <a href="#add(java.lang.String,org.apache.calcite.rel.type.RelProtoDataType)"><code>add(String, RelProtoDataType)</code></a>), or null.</div>
</td>
</tr>
<tr class="altColor" id="i24">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util" class="externalLink">NavigableMap</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="CalciteSchema.LatticeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.LatticeEntry</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLatticeMap()">getLatticeMap</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a collection of lattices.</div>
</td>
</tr>
<tr class="rowColor" id="i25">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getName()">getName</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i26">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;? extends <a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPath()">getPath</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the default path resolving functions from this schema.</div>
</td>
</tr>
<tr class="rowColor" id="i27">
<td class="colFirst"><code>@Nullable <a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSubSchema(java.lang.String,boolean)">getSubSchema</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;schemaName,
boolean&nbsp;caseSensitive)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i28">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util" class="externalLink">NavigableMap</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSubSchemaMap()">getSubSchemaMap</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a collection of sub-schemas, both explicit (defined using
<a href="#add(java.lang.String,org.apache.calcite.schema.Schema)"><code>add(String, org.apache.calcite.schema.Schema)</code></a>) and implicit
(defined using <a href="../schema/Schema.html#getSubSchemaNames()"><code>Schema.getSubSchemaNames()</code></a>
and <a href="../schema/Schema.html#getSubSchema(java.lang.String)"><code>Schema.getSubSchema(String)</code></a>).</div>
</td>
</tr>
<tr class="rowColor" id="i29">
<td class="colFirst"><code>@Nullable <a href="CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTable(java.lang.String,boolean)">getTable</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;tableName,
boolean&nbsp;caseSensitive)</code></th>
<td class="colLast">
<div class="block">Returns a table with the given name.</div>
</td>
</tr>
<tr class="altColor" id="i30">
<td class="colFirst"><code>@Nullable <a href="CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTableBasedOnNullaryFunction(java.lang.String,boolean)">getTableBasedOnNullaryFunction</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;tableName,
boolean&nbsp;caseSensitive)</code></th>
<td class="colLast">
<div class="block">Returns a tables derived from explicit and implicit functions
that take zero parameters.</div>
</td>
</tr>
<tr class="rowColor" id="i31">
<td class="colFirst"><code>@Nullable <a href="CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTableBySql(java.lang.String)">getTableBySql</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql)</code></th>
<td class="colLast">
<div class="block">Returns a table that materializes the given SQL statement.</div>
</td>
</tr>
<tr class="altColor" id="i32">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util" class="externalLink">NavigableSet</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTableNames()">getTableNames</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the set of all table names.</div>
</td>
</tr>
<tr class="rowColor" id="i33">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util" class="externalLink">NavigableMap</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="../schema/Table.html" title="interface in org.apache.calcite.schema">Table</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTablesBasedOnNullaryFunctions()">getTablesBasedOnNullaryFunctions</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns tables derived from explicit and implicit functions
that take zero parameters.</div>
</td>
</tr>
<tr class="altColor" id="i34">
<td class="colFirst"><code>@Nullable <a href="CalciteSchema.TypeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TypeEntry</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getType(java.lang.String,boolean)">getType</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
boolean&nbsp;caseSensitive)</code></th>
<td class="colLast">
<div class="block">Returns a type, explicit and implicit, with a given
name.</div>
</td>
</tr>
<tr class="rowColor" id="i35">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util" class="externalLink">NavigableSet</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTypeNames()">getTypeNames</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the set of all types names.</div>
</td>
</tr>
<tr class="altColor" id="i36">
<td class="colFirst"><code>protected abstract boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCacheEnabled()">isCacheEnabled</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i37">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isRoot()">isRoot</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns whether this is a root schema.</div>
</td>
</tr>
<tr class="altColor" id="i38">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#path(java.lang.String)">path</a></span>&#8203;(@Nullable <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Returns the path of an object in this schema.</div>
</td>
</tr>
<tr class="rowColor" id="i39">
<td class="colFirst"><code><a href="../schema/SchemaPlus.html" title="interface in org.apache.calcite.schema">SchemaPlus</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#plus()">plus</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i40">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeFunction(java.lang.String)">removeFunction</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i41">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeSubSchema(java.lang.String)">removeSubSchema</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i42">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeTable(java.lang.String)">removeTable</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i43">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeType(java.lang.String)">removeType</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i44">
<td class="colFirst"><code><a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#root()">root</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i45">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCache(boolean)">setCache</a></span>&#8203;(boolean&nbsp;cache)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i46">
<td class="colFirst"><code>protected abstract <a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#snapshot(org.apache.calcite.jdbc.CalciteSchema,org.apache.calcite.schema.SchemaVersion)">snapshot</a></span>&#8203;(@Nullable <a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&nbsp;parent,
<a href="../schema/SchemaVersion.html" title="interface in org.apache.calcite.schema">SchemaVersion</a>&nbsp;version)</code></th>
<td class="colLast">
<div class="block">Returns a snapshot representation of this CalciteSchema.</div>
</td>
</tr>
<tr class="rowColor" id="i47">
<td class="colFirst"><code>protected <a href="CalciteSchema.TableEntryImpl.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntryImpl</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#tableEntry(java.lang.String,org.apache.calcite.schema.Table)">tableEntry</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="../schema/Table.html" title="interface in org.apache.calcite.schema">Table</a>&nbsp;table)</code></th>
<td class="colLast">
<div class="block">Creates a TableEntryImpl with no SQLs.</div>
</td>
</tr>
<tr class="altColor" id="i48">
<td class="colFirst"><code>protected <a href="CalciteSchema.TypeEntryImpl.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TypeEntryImpl</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#typeEntry(java.lang.String,org.apache.calcite.rel.type.RelProtoDataType)">typeEntry</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="../rel/type/RelProtoDataType.html" title="interface in org.apache.calcite.rel.type">RelProtoDataType</a>&nbsp;relProtoDataType)</code></th>
<td class="colLast">
<div class="block">Creates a TableEntryImpl with no SQLs.</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<li class="blockList">
<section class="fieldDetails"><a id="field.detail">
<!-- -->
</a>
<h2>Field Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="schema">schema</a></h3>
<div class="memberSignature"><span class="modifiers">public final</span>&nbsp;<span class="returnType"><a href="../schema/Schema.html" title="interface in org.apache.calcite.schema">Schema</a></span>&nbsp;<span class="memberName">schema</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="name">name</a></h3>
<div class="memberSignature"><span class="modifiers">public final</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></span>&nbsp;<span class="memberName">name</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="tableMap">tableMap</a></h3>
<div class="memberSignature"><span class="modifiers">protected final</span>&nbsp;<span class="returnType"><a href="../util/NameMap.html" title="class in org.apache.calcite.util">NameMap</a>&lt;<a href="CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a>&gt;</span>&nbsp;<span class="memberName">tableMap</span></div>
<div class="block">Tables explicitly defined in this schema. Does not include tables in
<a href="#schema"><code>schema</code></a>.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="functionMap">functionMap</a></h3>
<div class="memberSignature"><span class="modifiers">protected final</span>&nbsp;<span class="returnType"><a href="../util/NameMultimap.html" title="class in org.apache.calcite.util">NameMultimap</a>&lt;<a href="CalciteSchema.FunctionEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.FunctionEntry</a>&gt;</span>&nbsp;<span class="memberName">functionMap</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="typeMap">typeMap</a></h3>
<div class="memberSignature"><span class="modifiers">protected final</span>&nbsp;<span class="returnType"><a href="../util/NameMap.html" title="class in org.apache.calcite.util">NameMap</a>&lt;<a href="CalciteSchema.TypeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TypeEntry</a>&gt;</span>&nbsp;<span class="memberName">typeMap</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="latticeMap">latticeMap</a></h3>
<div class="memberSignature"><span class="modifiers">protected final</span>&nbsp;<span class="returnType"><a href="../util/NameMap.html" title="class in org.apache.calcite.util">NameMap</a>&lt;<a href="CalciteSchema.LatticeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.LatticeEntry</a>&gt;</span>&nbsp;<span class="memberName">latticeMap</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="functionNames">functionNames</a></h3>
<div class="memberSignature"><span class="modifiers">protected final</span>&nbsp;<span class="returnType"><a href="../util/NameSet.html" title="class in org.apache.calcite.util">NameSet</a></span>&nbsp;<span class="memberName">functionNames</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="nullaryFunctionMap">nullaryFunctionMap</a></h3>
<div class="memberSignature"><span class="modifiers">protected final</span>&nbsp;<span class="returnType"><a href="../util/NameMap.html" title="class in org.apache.calcite.util">NameMap</a>&lt;<a href="CalciteSchema.FunctionEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.FunctionEntry</a>&gt;</span>&nbsp;<span class="memberName">nullaryFunctionMap</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="subSchemaMap">subSchemaMap</a></h3>
<div class="memberSignature"><span class="modifiers">protected final</span>&nbsp;<span class="returnType"><a href="../util/NameMap.html" title="class in org.apache.calcite.util">NameMap</a>&lt;<a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&gt;</span>&nbsp;<span class="memberName">subSchemaMap</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!-- -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(org.apache.calcite.jdbc.CalciteSchema,org.apache.calcite.schema.Schema,java.lang.String,org.apache.calcite.util.NameMap,org.apache.calcite.util.NameMap,org.apache.calcite.util.NameMap,org.apache.calcite.util.NameMap,org.apache.calcite.util.NameMultimap,org.apache.calcite.util.NameSet,org.apache.calcite.util.NameMap,java.util.List)">CalciteSchema</a></h3>
<div class="memberSignature"><span class="modifiers">protected</span>&nbsp;<span class="memberName">CalciteSchema</span>&#8203;(<span class="arguments">@Nullable <a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&nbsp;parent,
<a href="../schema/Schema.html" title="interface in org.apache.calcite.schema">Schema</a>&nbsp;schema,
<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
@Nullable <a href="../util/NameMap.html" title="class in org.apache.calcite.util">NameMap</a>&lt;<a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&gt;&nbsp;subSchemaMap,
@Nullable <a href="../util/NameMap.html" title="class in org.apache.calcite.util">NameMap</a>&lt;<a href="CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a>&gt;&nbsp;tableMap,
@Nullable <a href="../util/NameMap.html" title="class in org.apache.calcite.util">NameMap</a>&lt;<a href="CalciteSchema.LatticeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.LatticeEntry</a>&gt;&nbsp;latticeMap,
@Nullable <a href="../util/NameMap.html" title="class in org.apache.calcite.util">NameMap</a>&lt;<a href="CalciteSchema.TypeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TypeEntry</a>&gt;&nbsp;typeMap,
@Nullable <a href="../util/NameMultimap.html" title="class in org.apache.calcite.util">NameMultimap</a>&lt;<a href="CalciteSchema.FunctionEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.FunctionEntry</a>&gt;&nbsp;functionMap,
@Nullable <a href="../util/NameSet.html" title="class in org.apache.calcite.util">NameSet</a>&nbsp;functionNames,
@Nullable <a href="../util/NameMap.html" title="class in org.apache.calcite.util">NameMap</a>&lt;<a href="CalciteSchema.FunctionEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.FunctionEntry</a>&gt;&nbsp;nullaryFunctionMap,
@Nullable <a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;? extends <a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&gt;&nbsp;path)</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="getImplicitSubSchema(java.lang.String,boolean)">getImplicitSubSchema</a></h3>
<div class="memberSignature"><span class="modifiers">protected abstract</span>&nbsp;<span class="returnType">@Nullable <a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></span>&nbsp;<span class="memberName">getImplicitSubSchema</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;schemaName,
boolean&nbsp;caseSensitive)</span></div>
<div class="block">Returns a sub-schema with a given name that is defined implicitly
(that is, by the underlying <a href="../schema/Schema.html" title="interface in org.apache.calcite.schema"><code>Schema</code></a> object, not explicitly
by a call to <a href="#add(java.lang.String,org.apache.calcite.schema.Schema)"><code>add(String, Schema)</code></a>), or null.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getImplicitTable(java.lang.String,boolean)">getImplicitTable</a></h3>
<div class="memberSignature"><span class="modifiers">protected abstract</span>&nbsp;<span class="returnType">@Nullable <a href="CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a></span>&nbsp;<span class="memberName">getImplicitTable</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;tableName,
boolean&nbsp;caseSensitive)</span></div>
<div class="block">Returns a table with a given name that is defined implicitly
(that is, by the underlying <a href="../schema/Schema.html" title="interface in org.apache.calcite.schema"><code>Schema</code></a> object, not explicitly
by a call to <a href="#add(java.lang.String,org.apache.calcite.schema.Table)"><code>add(String, Table)</code></a>), or null.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getImplicitType(java.lang.String,boolean)">getImplicitType</a></h3>
<div class="memberSignature"><span class="modifiers">protected abstract</span>&nbsp;<span class="returnType">@Nullable <a href="CalciteSchema.TypeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TypeEntry</a></span>&nbsp;<span class="memberName">getImplicitType</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
boolean&nbsp;caseSensitive)</span></div>
<div class="block">Returns a type with a given name that is defined implicitly
(that is, by the underlying <a href="../schema/Schema.html" title="interface in org.apache.calcite.schema"><code>Schema</code></a> object, not explicitly
by a call to <a href="#add(java.lang.String,org.apache.calcite.rel.type.RelProtoDataType)"><code>add(String, RelProtoDataType)</code></a>), or null.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getImplicitTableBasedOnNullaryFunction(java.lang.String,boolean)">getImplicitTableBasedOnNullaryFunction</a></h3>
<div class="memberSignature"><span class="modifiers">protected abstract</span>&nbsp;<span class="returnType">@Nullable <a href="CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a></span>&nbsp;<span class="memberName">getImplicitTableBasedOnNullaryFunction</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;tableName,
boolean&nbsp;caseSensitive)</span></div>
<div class="block">Returns table function with a given name and zero arguments that is
defined implicitly (that is, by the underlying <a href="../schema/Schema.html" title="interface in org.apache.calcite.schema"><code>Schema</code></a> object,
not explicitly by a call to <code>add(String, Function)</code>), or null.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="addImplicitSubSchemaToBuilder(com.google.common.collect.ImmutableSortedMap.Builder)">addImplicitSubSchemaToBuilder</a></h3>
<div class="memberSignature"><span class="modifiers">protected abstract</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">addImplicitSubSchemaToBuilder</span>&#8203;(<span class="arguments">com.google.common.collect.ImmutableSortedMap.Builder&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&gt;&nbsp;builder)</span></div>
<div class="block">Adds implicit sub-schemas to a builder.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="addImplicitTableToBuilder(com.google.common.collect.ImmutableSortedSet.Builder)">addImplicitTableToBuilder</a></h3>
<div class="memberSignature"><span class="modifiers">protected abstract</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">addImplicitTableToBuilder</span>&#8203;(<span class="arguments">com.google.common.collect.ImmutableSortedSet.Builder&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;builder)</span></div>
<div class="block">Adds implicit tables to a builder.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="addImplicitFunctionsToBuilder(com.google.common.collect.ImmutableList.Builder,java.lang.String,boolean)">addImplicitFunctionsToBuilder</a></h3>
<div class="memberSignature"><span class="modifiers">protected abstract</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">addImplicitFunctionsToBuilder</span>&#8203;(<span class="arguments">com.google.common.collect.ImmutableList.Builder&lt;<a href="../schema/Function.html" title="interface in org.apache.calcite.schema">Function</a>&gt;&nbsp;builder,
<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
boolean&nbsp;caseSensitive)</span></div>
<div class="block">Adds implicit functions to a builder.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="addImplicitFuncNamesToBuilder(com.google.common.collect.ImmutableSortedSet.Builder)">addImplicitFuncNamesToBuilder</a></h3>
<div class="memberSignature"><span class="modifiers">protected abstract</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">addImplicitFuncNamesToBuilder</span>&#8203;(<span class="arguments">com.google.common.collect.ImmutableSortedSet.Builder&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;builder)</span></div>
<div class="block">Adds implicit function names to a builder.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="addImplicitTypeNamesToBuilder(com.google.common.collect.ImmutableSortedSet.Builder)">addImplicitTypeNamesToBuilder</a></h3>
<div class="memberSignature"><span class="modifiers">protected abstract</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">addImplicitTypeNamesToBuilder</span>&#8203;(<span class="arguments">com.google.common.collect.ImmutableSortedSet.Builder&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;builder)</span></div>
<div class="block">Adds implicit type names to a builder.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="addImplicitTablesBasedOnNullaryFunctionsToBuilder(com.google.common.collect.ImmutableSortedMap.Builder)">addImplicitTablesBasedOnNullaryFunctionsToBuilder</a></h3>
<div class="memberSignature"><span class="modifiers">protected abstract</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">addImplicitTablesBasedOnNullaryFunctionsToBuilder</span>&#8203;(<span class="arguments">com.google.common.collect.ImmutableSortedMap.Builder&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="../schema/Table.html" title="interface in org.apache.calcite.schema">Table</a>&gt;&nbsp;builder)</span></div>
<div class="block">Adds implicit table functions to a builder.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="snapshot(org.apache.calcite.jdbc.CalciteSchema,org.apache.calcite.schema.SchemaVersion)">snapshot</a></h3>
<div class="memberSignature"><span class="modifiers">protected abstract</span>&nbsp;<span class="returnType"><a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></span>&nbsp;<span class="memberName">snapshot</span>&#8203;(<span class="arguments">@Nullable <a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&nbsp;parent,
<a href="../schema/SchemaVersion.html" title="interface in org.apache.calcite.schema">SchemaVersion</a>&nbsp;version)</span></div>
<div class="block">Returns a snapshot representation of this CalciteSchema.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="isCacheEnabled()">isCacheEnabled</a></h3>
<div class="memberSignature"><span class="modifiers">protected abstract</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">isCacheEnabled</span>()</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setCache(boolean)">setCache</a></h3>
<div class="memberSignature"><span class="modifiers">public abstract</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setCache</span>&#8203;(<span class="arguments">boolean&nbsp;cache)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="tableEntry(java.lang.String,org.apache.calcite.schema.Table)">tableEntry</a></h3>
<div class="memberSignature"><span class="modifiers">protected</span>&nbsp;<span class="returnType"><a href="CalciteSchema.TableEntryImpl.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntryImpl</a></span>&nbsp;<span class="memberName">tableEntry</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="../schema/Table.html" title="interface in org.apache.calcite.schema">Table</a>&nbsp;table)</span></div>
<div class="block">Creates a TableEntryImpl with no SQLs.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="typeEntry(java.lang.String,org.apache.calcite.rel.type.RelProtoDataType)">typeEntry</a></h3>
<div class="memberSignature"><span class="modifiers">protected</span>&nbsp;<span class="returnType"><a href="CalciteSchema.TypeEntryImpl.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TypeEntryImpl</a></span>&nbsp;<span class="memberName">typeEntry</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="../rel/type/RelProtoDataType.html" title="interface in org.apache.calcite.rel.type">RelProtoDataType</a>&nbsp;relProtoDataType)</span></div>
<div class="block">Creates a TableEntryImpl with no SQLs.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="add(java.lang.String,org.apache.calcite.schema.Table)">add</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a></span>&nbsp;<span class="memberName">add</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;tableName,
<a href="../schema/Table.html" title="interface in org.apache.calcite.schema">Table</a>&nbsp;table)</span></div>
<div class="block">Defines a table within this schema.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="add(java.lang.String,org.apache.calcite.schema.Table,com.google.common.collect.ImmutableList)">add</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a></span>&nbsp;<span class="memberName">add</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;tableName,
<a href="../schema/Table.html" title="interface in org.apache.calcite.schema">Table</a>&nbsp;table,
com.google.common.collect.ImmutableList&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;sqls)</span></div>
<div class="block">Defines a table within this schema.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="add(java.lang.String,org.apache.calcite.rel.type.RelProtoDataType)">add</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="CalciteSchema.TypeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TypeEntry</a></span>&nbsp;<span class="memberName">add</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="../rel/type/RelProtoDataType.html" title="interface in org.apache.calcite.rel.type">RelProtoDataType</a>&nbsp;type)</span></div>
<div class="block">Defines a type within this schema.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="root()">root</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></span>&nbsp;<span class="memberName">root</span>()</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="isRoot()">isRoot</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">isRoot</span>()</div>
<div class="block">Returns whether this is a root schema.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="path(java.lang.String)">path</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</span>&nbsp;<span class="memberName">path</span>&#8203;(<span class="arguments">@Nullable <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</span></div>
<div class="block">Returns the path of an object in this schema.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getSubSchema(java.lang.String,boolean)">getSubSchema</a></h3>
<div class="memberSignature"><span class="modifiers">public final</span>&nbsp;<span class="returnType">@Nullable <a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></span>&nbsp;<span class="memberName">getSubSchema</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;schemaName,
boolean&nbsp;caseSensitive)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="add(java.lang.String,org.apache.calcite.schema.Schema)">add</a></h3>
<div class="memberSignature"><span class="modifiers">public abstract</span>&nbsp;<span class="returnType"><a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></span>&nbsp;<span class="memberName">add</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="../schema/Schema.html" title="interface in org.apache.calcite.schema">Schema</a>&nbsp;schema)</span></div>
<div class="block">Adds a child schema of this schema.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getTableBySql(java.lang.String)">getTableBySql</a></h3>
<div class="memberSignature"><span class="modifiers">public final</span>&nbsp;<span class="returnType">@Nullable <a href="CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a></span>&nbsp;<span class="memberName">getTableBySql</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql)</span></div>
<div class="block">Returns a table that materializes the given SQL statement.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getTable(java.lang.String,boolean)">getTable</a></h3>
<div class="memberSignature"><span class="modifiers">public final</span>&nbsp;<span class="returnType">@Nullable <a href="CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a></span>&nbsp;<span class="memberName">getTable</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;tableName,
boolean&nbsp;caseSensitive)</span></div>
<div class="block">Returns a table with the given name. Does not look for views.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getName()">getName</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></span>&nbsp;<span class="memberName">getName</span>()</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="plus()">plus</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../schema/SchemaPlus.html" title="interface in org.apache.calcite.schema">SchemaPlus</a></span>&nbsp;<span class="memberName">plus</span>()</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="from(org.apache.calcite.schema.SchemaPlus)">from</a></h3>
<div class="memberSignature"><span class="modifiers">public static</span>&nbsp;<span class="returnType"><a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></span>&nbsp;<span class="memberName">from</span>&#8203;(<span class="arguments"><a href="../schema/SchemaPlus.html" title="interface in org.apache.calcite.schema">SchemaPlus</a>&nbsp;plus)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getPath()">getPath</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;? extends <a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&gt;</span>&nbsp;<span class="memberName">getPath</span>()</div>
<div class="block">Returns the default path resolving functions from this schema.
<p>The path consists is a list of lists of strings.
Each list of strings represents the path of a schema from the root schema.
For example, [[], [foo], [foo, bar, baz]] represents three schemas: the
root schema "/" (level 0), "/foo" (level 1) and "/foo/bar/baz" (level 3).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Path of this schema; never null, may be empty</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getSubSchemaMap()">getSubSchemaMap</a></h3>
<div class="memberSignature"><span class="modifiers">public final</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util" class="externalLink">NavigableMap</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&gt;</span>&nbsp;<span class="memberName">getSubSchemaMap</span>()</div>
<div class="block">Returns a collection of sub-schemas, both explicit (defined using
<a href="#add(java.lang.String,org.apache.calcite.schema.Schema)"><code>add(String, org.apache.calcite.schema.Schema)</code></a>) and implicit
(defined using <a href="../schema/Schema.html#getSubSchemaNames()"><code>Schema.getSubSchemaNames()</code></a>
and <a href="../schema/Schema.html#getSubSchema(java.lang.String)"><code>Schema.getSubSchema(String)</code></a>).</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getLatticeMap()">getLatticeMap</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util" class="externalLink">NavigableMap</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="CalciteSchema.LatticeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.LatticeEntry</a>&gt;</span>&nbsp;<span class="memberName">getLatticeMap</span>()</div>
<div class="block">Returns a collection of lattices.
<p>All are explicit (defined using <code>add(String, Lattice)</code>).</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getTableNames()">getTableNames</a></h3>
<div class="memberSignature"><span class="modifiers">public final</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util" class="externalLink">NavigableSet</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</span>&nbsp;<span class="memberName">getTableNames</span>()</div>
<div class="block">Returns the set of all table names. Includes implicit and explicit tables
and functions with zero parameters.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getTypeNames()">getTypeNames</a></h3>
<div class="memberSignature"><span class="modifiers">public final</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util" class="externalLink">NavigableSet</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</span>&nbsp;<span class="memberName">getTypeNames</span>()</div>
<div class="block">Returns the set of all types names.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getType(java.lang.String,boolean)">getType</a></h3>
<div class="memberSignature"><span class="modifiers">public final</span>&nbsp;<span class="returnType">@Nullable <a href="CalciteSchema.TypeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TypeEntry</a></span>&nbsp;<span class="memberName">getType</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
boolean&nbsp;caseSensitive)</span></div>
<div class="block">Returns a type, explicit and implicit, with a given
name. Never null.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getFunctions(java.lang.String,boolean)">getFunctions</a></h3>
<div class="memberSignature"><span class="modifiers">public final</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="../schema/Function.html" title="interface in org.apache.calcite.schema">Function</a>&gt;</span>&nbsp;<span class="memberName">getFunctions</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
boolean&nbsp;caseSensitive)</span></div>
<div class="block">Returns a collection of all functions, explicit and implicit, with a given
name. Never null.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getFunctionNames()">getFunctionNames</a></h3>
<div class="memberSignature"><span class="modifiers">public final</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util" class="externalLink">NavigableSet</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</span>&nbsp;<span class="memberName">getFunctionNames</span>()</div>
<div class="block">Returns the list of function names in this schema, both implicit and
explicit, never null.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getTablesBasedOnNullaryFunctions()">getTablesBasedOnNullaryFunctions</a></h3>
<div class="memberSignature"><span class="modifiers">public final</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util" class="externalLink">NavigableMap</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="../schema/Table.html" title="interface in org.apache.calcite.schema">Table</a>&gt;</span>&nbsp;<span class="memberName">getTablesBasedOnNullaryFunctions</span>()</div>
<div class="block">Returns tables derived from explicit and implicit functions
that take zero parameters.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getTableBasedOnNullaryFunction(java.lang.String,boolean)">getTableBasedOnNullaryFunction</a></h3>
<div class="memberSignature"><span class="modifiers">public final</span>&nbsp;<span class="returnType">@Nullable <a href="CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a></span>&nbsp;<span class="memberName">getTableBasedOnNullaryFunction</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;tableName,
boolean&nbsp;caseSensitive)</span></div>
<div class="block">Returns a tables derived from explicit and implicit functions
that take zero parameters.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="createSnapshot(org.apache.calcite.schema.SchemaVersion)">createSnapshot</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></span>&nbsp;<span class="memberName">createSnapshot</span>&#8203;(<span class="arguments"><a href="../schema/SchemaVersion.html" title="interface in org.apache.calcite.schema">SchemaVersion</a>&nbsp;version)</span></div>
<div class="block">Creates a snapshot of this CalciteSchema as of the specified time. All
explicit objects in this CalciteSchema will be copied into the snapshot
CalciteSchema, while the contents of the snapshot of the underlying schema
should not change as specified in <a href="../schema/Schema.html#snapshot(org.apache.calcite.schema.SchemaVersion)"><code>Schema.snapshot(SchemaVersion)</code></a>.
Snapshots of explicit sub schemas will be created and copied recursively.
<p>Currently, to accommodate the requirement of creating tables on the fly
for materializations, the snapshot will still use the same table map and
lattice map as in the original CalciteSchema instead of making copies.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>version</code> - The current schema version</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the schema snapshot.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="find(java.util.NavigableMap,java.lang.String)">find</a></h3>
<div class="memberSignature"><span class="annotations"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
</span><span class="modifiers">protected static</span>&nbsp;<span class="typeParameters">&lt;V&gt;</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util" class="externalLink">NavigableMap</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;V&gt;</span>&nbsp;<span class="memberName">find</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util" class="externalLink">NavigableMap</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;V&gt;&nbsp;map,
<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;s)</span></div>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">use NameMap</div>
</div>
<div class="block">Returns a subset of a map whose keys match the given string
case-insensitively.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="find(java.util.NavigableSet,java.lang.String)">find</a></h3>
<div class="memberSignature"><span class="annotations"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
</span><span class="modifiers">protected static</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Iterable</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</span>&nbsp;<span class="memberName">find</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util" class="externalLink">NavigableSet</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;set,
<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</span></div>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">use NameSet</div>
</div>
<div class="block">Returns a subset of a set whose values match the given string
case-insensitively.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="createRootSchema(boolean)">createRootSchema</a></h3>
<div class="memberSignature"><span class="modifiers">public static</span>&nbsp;<span class="returnType"><a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></span>&nbsp;<span class="memberName">createRootSchema</span>&#8203;(<span class="arguments">boolean&nbsp;addMetadataSchema)</span></div>
<div class="block">Creates a root schema.
<p>When <code>addMetadataSchema</code> argument is true adds a "metadata"
schema containing definitions of tables, columns etc. to root schema.
By default, creates a <code>CachingCalciteSchema</code>.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="createRootSchema(boolean,boolean)">createRootSchema</a></h3>
<div class="memberSignature"><span class="modifiers">public static</span>&nbsp;<span class="returnType"><a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></span>&nbsp;<span class="memberName">createRootSchema</span>&#8203;(<span class="arguments">boolean&nbsp;addMetadataSchema,
boolean&nbsp;cache)</span></div>
<div class="block">Creates a root schema.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>addMetadataSchema</code> - Whether to add a "metadata" schema containing
definitions of tables, columns etc.</dd>
<dd><code>cache</code> - If true create <code>CachingCalciteSchema</code>;
if false create <code>SimpleCalciteSchema</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="createRootSchema(boolean,boolean,java.lang.String)">createRootSchema</a></h3>
<div class="memberSignature"><span class="modifiers">public static</span>&nbsp;<span class="returnType"><a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></span>&nbsp;<span class="memberName">createRootSchema</span>&#8203;(<span class="arguments">boolean&nbsp;addMetadataSchema,
boolean&nbsp;cache,
<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</span></div>
<div class="block">Creates a root schema.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>addMetadataSchema</code> - Whether to add a "metadata" schema containing
definitions of tables, columns etc.</dd>
<dd><code>cache</code> - If true create <code>CachingCalciteSchema</code>;
if false create <code>SimpleCalciteSchema</code></dd>
<dd><code>name</code> - Schema name</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="createRootSchema(boolean,boolean,java.lang.String,org.apache.calcite.schema.Schema)">createRootSchema</a></h3>
<div class="memberSignature"><span class="modifiers">public static</span>&nbsp;<span class="returnType"><a href="CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></span>&nbsp;<span class="memberName">createRootSchema</span>&#8203;(<span class="arguments">boolean&nbsp;addMetadataSchema,
boolean&nbsp;cache,
<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="../schema/Schema.html" title="interface in org.apache.calcite.schema">Schema</a>&nbsp;schema)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="removeSubSchema(java.lang.String)">removeSubSchema</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">removeSubSchema</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="removeTable(java.lang.String)">removeTable</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">removeTable</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="removeFunction(java.lang.String)">removeFunction</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">removeFunction</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="removeType(java.lang.String)">removeType</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">removeType</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</span></div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<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 class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<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>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &copy; 2012-2021 Apache Software Foundation. All Rights Reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>