blob: c96583a6f8e2210ce700aeafcbe2c280f12ebbd3 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>SchemaPlus (Apache Calcite API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.calcite.schema, interface: SchemaPlus">
<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.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<div class="about-language"><b>Apache Calcite</b></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">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#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li><a href="#nested-class-summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.schema</a></div>
<h1 title="Interface SchemaPlus" class="title">Interface SchemaPlus</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Superinterfaces:</dt>
<dd><code><a href="Schema.html" title="interface in org.apache.calcite.schema">Schema</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">SchemaPlus</span><span class="extends-implements">
extends <a href="Schema.html" title="interface in org.apache.calcite.schema">Schema</a></span></div>
<div class="block">Extension to the <a href="Schema.html" title="interface in org.apache.calcite.schema"><code>Schema</code></a> interface.
<p>Given a user-defined schema that implements the <a href="Schema.html" title="interface in org.apache.calcite.schema"><code>Schema</code></a> interface,
Calcite creates a wrapper that implements the <code>SchemaPlus</code> interface.
This provides extra functionality, such as access to tables that have been
added explicitly.
<p>A user-defined schema does not need to implement this interface, but by
the time a schema is passed to a method in a user-defined schema or
user-defined table, it will have been wrapped in this interface.
<p>SchemaPlus is intended to be used by users but not instantiated by them.
Users should only use the SchemaPlus they are given by the system.
The purpose of SchemaPlus is to expose to user code, in a read only manner,
some of the extra information about schemas that Calcite builds up when a
schema is registered. It appears in several SPI calls as context; for example
<a href="SchemaFactory.html#create(org.apache.calcite.schema.SchemaPlus,java.lang.String,java.util.Map)"><code>SchemaFactory.create(SchemaPlus, String, java.util.Map)</code></a> contains a
parent schema that might be a wrapped instance of a user-defined
<a href="Schema.html" title="interface in org.apache.calcite.schema"><code>Schema</code></a>, or indeed might not.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h2 id="nested-classes-inherited-from-class-org.apache.calcite.schema.Schema">Nested classes/interfaces inherited from interface&nbsp;org.apache.calcite.schema.<a href="Schema.html" title="interface in org.apache.calcite.schema">Schema</a></h2>
<code><a href="Schema.TableType.html" title="enum in org.apache.calcite.schema">Schema.TableType</a></code></div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#add(java.lang.String,org.apache.calcite.materialize.Lattice)" class="member-name-link">add</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<a href="../materialize/Lattice.html" title="class in org.apache.calcite.materialize">Lattice</a>&nbsp;lattice)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Adds a lattice to this schema.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#add(java.lang.String,org.apache.calcite.rel.type.RelProtoDataType)" class="member-name-link">add</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<a href="../rel/type/RelProtoDataType.html" title="interface in org.apache.calcite.rel.type">RelProtoDataType</a>&nbsp;type)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Adds a type to this schema.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#add(java.lang.String,org.apache.calcite.schema.Function)" class="member-name-link">add</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<a href="Function.html" title="interface in org.apache.calcite.schema">Function</a>&nbsp;function)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Adds a function to this schema.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="SchemaPlus.html" title="interface in org.apache.calcite.schema">SchemaPlus</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#add(java.lang.String,org.apache.calcite.schema.Schema)" class="member-name-link">add</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<a href="Schema.html" title="interface in org.apache.calcite.schema">Schema</a>&nbsp;schema)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Adds a schema as a sub-schema of this schema, and returns the wrapped
object.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#add(java.lang.String,org.apache.calcite.schema.Table)" class="member-name-link">add</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<a href="Table.html" title="interface in org.apache.calcite.schema">Table</a>&nbsp;table)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Adds a table to this schema.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getName()" class="member-name-link">getName</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the name of this schema.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>@Nullable <a href="SchemaPlus.html" title="interface in org.apache.calcite.schema">SchemaPlus</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getParentSchema()" class="member-name-link">getParentSchema</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the parent schema, or null if this schema has no parent.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>@Nullable <a href="SchemaPlus.html" title="interface in org.apache.calcite.schema">SchemaPlus</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getSubSchema(java.lang.String)" class="member-name-link">getSubSchema</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns a sub-schema with a given name, or null.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isCacheEnabled()" class="member-name-link">isCacheEnabled</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isMutable()" class="member-name-link">isMutable</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns whether the user is allowed to create new tables, functions
and sub-schemas in this schema, in addition to those returned automatically
by methods such as <a href="Schema.html#getTable(java.lang.String)"><code>Schema.getTable(String)</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#removeTable(java.lang.String)" class="member-name-link">removeTable</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Removes a table from this schema, used e.g.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#setCacheEnabled(boolean)" class="member-name-link">setCacheEnabled</a><wbr>(boolean&nbsp;cache)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#setPath(com.google.common.collect.ImmutableList)" class="member-name-link">setPath</a><wbr>(com.google.common.collect.ImmutableList&lt;com.google.common.collect.ImmutableList&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&gt;&nbsp;path)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>&lt;T&gt;&nbsp;@Nullable T</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#unwrap(java.lang.Class)" class="member-name-link">unwrap</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;T&gt;&nbsp;clazz)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns an underlying object.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.calcite.schema.Schema">Methods inherited from interface&nbsp;org.apache.calcite.schema.<a href="Schema.html" title="interface in org.apache.calcite.schema">Schema</a></h3>
<code><a href="Schema.html#getExpression(org.apache.calcite.schema.SchemaPlus,java.lang.String)">getExpression</a>, <a href="Schema.html#getFunctionNames()">getFunctionNames</a>, <a href="Schema.html#getFunctions(java.lang.String)">getFunctions</a>, <a href="Schema.html#getSubSchemaNames()">getSubSchemaNames</a>, <a href="Schema.html#getTable(java.lang.String)">getTable</a>, <a href="Schema.html#getTableNames()">getTableNames</a>, <a href="Schema.html#getType(java.lang.String)">getType</a>, <a href="Schema.html#getTypeNames()">getTypeNames</a>, <a href="Schema.html#snapshot(org.apache.calcite.schema.SchemaVersion)">snapshot</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getParentSchema()">
<h3>getParentSchema</h3>
<div class="member-signature"><span class="return-type">@Nullable <a href="SchemaPlus.html" title="interface in org.apache.calcite.schema">SchemaPlus</a></span>&nbsp;<span class="element-name">getParentSchema</span>()</div>
<div class="block">Returns the parent schema, or null if this schema has no parent.</div>
</section>
</li>
<li>
<section class="detail" id="getName()">
<h3>getName</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getName</span>()</div>
<div class="block">Returns the name of this schema.
<p>The name must not be null, and must be unique within its parent.
The root schema is typically named "".</div>
</section>
</li>
<li>
<section class="detail" id="getSubSchema(java.lang.String)">
<h3>getSubSchema</h3>
<div class="member-signature"><span class="return-type">@Nullable <a href="SchemaPlus.html" title="interface in org.apache.calcite.schema">SchemaPlus</a></span>&nbsp;<span class="element-name">getSubSchema</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="Schema.html#getSubSchema(java.lang.String)">Schema</a></code></span></div>
<div class="block">Returns a sub-schema with a given name, or null.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="Schema.html#getSubSchema(java.lang.String)">getSubSchema</a></code>&nbsp;in interface&nbsp;<code><a href="Schema.html" title="interface in org.apache.calcite.schema">Schema</a></code></dd>
<dt>Parameters:</dt>
<dd><code>name</code> - Sub-schema name</dd>
<dt>Returns:</dt>
<dd>Sub-schema with a given name, or null</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="add(java.lang.String,org.apache.calcite.schema.Schema)">
<h3>add</h3>
<div class="member-signature"><span class="return-type"><a href="SchemaPlus.html" title="interface in org.apache.calcite.schema">SchemaPlus</a></span>&nbsp;<span class="element-name">add</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<a href="Schema.html" title="interface in org.apache.calcite.schema">Schema</a>&nbsp;schema)</span></div>
<div class="block">Adds a schema as a sub-schema of this schema, and returns the wrapped
object.</div>
</section>
</li>
<li>
<section class="detail" id="add(java.lang.String,org.apache.calcite.schema.Table)">
<h3>add</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">add</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<a href="Table.html" title="interface in org.apache.calcite.schema">Table</a>&nbsp;table)</span></div>
<div class="block">Adds a table to this schema.</div>
</section>
</li>
<li>
<section class="detail" id="removeTable(java.lang.String)">
<h3>removeTable</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">removeTable</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<div class="block">Removes a table from this schema, used e.g. to clean-up temporary tables.</div>
</section>
</li>
<li>
<section class="detail" id="add(java.lang.String,org.apache.calcite.schema.Function)">
<h3>add</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">add</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<a href="Function.html" title="interface in org.apache.calcite.schema">Function</a>&nbsp;function)</span></div>
<div class="block">Adds a function to this schema.</div>
</section>
</li>
<li>
<section class="detail" id="add(java.lang.String,org.apache.calcite.rel.type.RelProtoDataType)">
<h3>add</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">add</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">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">Adds a type to this schema.</div>
</section>
</li>
<li>
<section class="detail" id="add(java.lang.String,org.apache.calcite.materialize.Lattice)">
<h3>add</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">add</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<a href="../materialize/Lattice.html" title="class in org.apache.calcite.materialize">Lattice</a>&nbsp;lattice)</span></div>
<div class="block">Adds a lattice to this schema.</div>
</section>
</li>
<li>
<section class="detail" id="isMutable()">
<h3>isMutable</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isMutable</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="Schema.html#isMutable()">Schema</a></code></span></div>
<div class="block">Returns whether the user is allowed to create new tables, functions
and sub-schemas in this schema, in addition to those returned automatically
by methods such as <a href="Schema.html#getTable(java.lang.String)"><code>Schema.getTable(String)</code></a>.
<p>Even if this method returns true, the maps are not modified. Calcite
stores the defined objects in a wrapper object.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="Schema.html#isMutable()">isMutable</a></code>&nbsp;in interface&nbsp;<code><a href="Schema.html" title="interface in org.apache.calcite.schema">Schema</a></code></dd>
<dt>Returns:</dt>
<dd>Whether the user is allowed to create new tables, functions
and sub-schemas in this schema</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="unwrap(java.lang.Class)">
<h3>unwrap</h3>
<div class="member-signature"><span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type">@Nullable T</span>&nbsp;<span class="element-name">unwrap</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;T&gt;&nbsp;clazz)</span></div>
<div class="block">Returns an underlying object.</div>
</section>
</li>
<li>
<section class="detail" id="setPath(com.google.common.collect.ImmutableList)">
<h3>setPath</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">setPath</span><wbr><span class="parameters">(com.google.common.collect.ImmutableList&lt;com.google.common.collect.ImmutableList&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&gt;&nbsp;path)</span></div>
</section>
</li>
<li>
<section class="detail" id="setCacheEnabled(boolean)">
<h3>setCacheEnabled</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">setCacheEnabled</span><wbr><span class="parameters">(boolean&nbsp;cache)</span></div>
</section>
</li>
<li>
<section class="detail" id="isCacheEnabled()">
<h3>isCacheEnabled</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isCacheEnabled</span>()</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &copy; 2012-2023 Apache Software Foundation. All Rights Reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>