blob: cefba5ad92945b648291a4883413c0eb06ad6960 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>CalciteCatalogReader (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.prepare, class: CalciteCatalogReader">
<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":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":9,"i16":10,"i17":10,"i18":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
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>Nested&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.prepare</a></div>
<h1 title="Class CalciteCatalogReader" class="title">Class CalciteCatalogReader</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.prepare.CalciteCatalogReader</div>
</div>
<section class="description">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../plan/RelOptSchema.html" title="interface in org.apache.calcite.plan">RelOptSchema</a></code>, <code><a href="Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a></code>, <code><a href="../schema/Wrapper.html" title="interface in org.apache.calcite.schema">Wrapper</a></code>, <code><a href="../sql/SqlOperatorTable.html" title="interface in org.apache.calcite.sql">SqlOperatorTable</a></code>, <code><a href="../sql/validate/SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorCatalogReader</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">CalciteCatalogReader</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>
implements <a href="Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a></pre>
<div class="block">Implementation of <a href="Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare"><code>Prepare.CatalogReader</code></a>
and also <a href="../sql/SqlOperatorTable.html" title="interface in org.apache.calcite.sql"><code>SqlOperatorTable</code></a> based on tables and
functions defined schemas.</div>
</section>
<section class="summary">
<ul class="blockList">
<!-- =========== 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="../config/CalciteConnectionConfig.html" title="interface in org.apache.calcite.config">CalciteConnectionConfig</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#config">config</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../sql/validate/SqlNameMatcher.html" title="interface in org.apache.calcite.sql.validate">SqlNameMatcher</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nameMatcher">nameMatcher</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../jdbc/CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rootSchema">rootSchema</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#typeFactory">typeFactory</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<div class="inheritedList">
<h3>Fields inherited from interface&nbsp;org.apache.calcite.prepare.<a href="Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a></h3>
<a id="fields.inherited.from.class.org.apache.calcite.prepare.Prepare.CatalogReader">
<!-- -->
</a><code><a href="Prepare.CatalogReader.html#THREAD_LOCAL">THREAD_LOCAL</a></code></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>&nbsp;</code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.calcite.jdbc.CalciteSchema,java.util.List,org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.config.CalciteConnectionConfig)">CalciteCatalogReader</a></span>&#8203;(<a href="../jdbc/CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&nbsp;rootSchema,
<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;&nbsp;defaultSchema,
<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../config/CalciteConnectionConfig.html" title="interface in org.apache.calcite.config">CalciteConnectionConfig</a>&nbsp;config)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<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.sql.validate.SqlNameMatcher,java.util.List,org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.config.CalciteConnectionConfig)">CalciteCatalogReader</a></span>&#8203;(<a href="../jdbc/CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&nbsp;rootSchema,
<a href="../sql/validate/SqlNameMatcher.html" title="interface in org.apache.calcite.sql.validate">SqlNameMatcher</a>&nbsp;nameMatcher,
<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/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;schemaPaths,
<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../config/CalciteConnectionConfig.html" title="interface in org.apache.calcite.config">CalciteConnectionConfig</a>&nbsp;config)</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="t4" class="tableTab" onclick="show(8);">Concrete 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="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createTypeFromProjection(org.apache.calcite.rel.type.RelDataType,java.util.List)">createTypeFromProjection</a></span>&#8203;(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type,
<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;&nbsp;columnNameList)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#field(org.apache.calcite.rel.type.RelDataType,java.lang.String)">field</a></span>&#8203;(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
<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;alias)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i2">
<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="../sql/validate/SqlMoniker.html" title="interface in org.apache.calcite.sql.validate">SqlMoniker</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAllSchemaObjectNames(java.util.List)">getAllSchemaObjectNames</a></span>&#8203;(<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;&nbsp;names)</code></th>
<td class="colLast">
<div class="block">Given fully qualified schema name, returns schema object names as
specified.</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code><a href="../config/CalciteConnectionConfig.html" title="interface in org.apache.calcite.config">CalciteConnectionConfig</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getConfig()">getConfig</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns Config settings.</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code><a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getNamedType(org.apache.calcite.sql.SqlIdentifier)">getNamedType</a></span>&#8203;(<a href="../sql/SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;typeName)</code></th>
<td class="colLast">
<div class="block">Finds a user-defined type with the given name, possibly qualified.</div>
</td>
</tr>
<tr class="rowColor" id="i5">
<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="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOperatorList()">getOperatorList</a></span>()</code></th>
<td class="colLast">
<div class="block">Retrieves a list of all functions and operators in this table.</div>
</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code><a href="../jdbc/CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRootSchema()">getRootSchema</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the root namespace for name resolution.</div>
</td>
</tr>
<tr class="rowColor" id="i7">
<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/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="#getSchemaPaths()">getSchemaPaths</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the paths of all schemas to look in for tables.</div>
</td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code><a href="Prepare.PreparingTable.html" title="interface in org.apache.calcite.prepare">Prepare.PreparingTable</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTable(java.util.List)">getTable</a></span>&#8203;(<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;&nbsp;names)</code></th>
<td class="colLast">
<div class="block">Finds a table or schema with the given name, possibly qualified.</div>
</td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code><a href="Prepare.PreparingTable.html" title="interface in org.apache.calcite.prepare">Prepare.PreparingTable</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTableForMember(java.util.List)">getTableForMember</a></span>&#8203;(<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;&nbsp;names)</code></th>
<td class="colLast">
<div class="block">Retrieves a <a href="../plan/RelOptTable.html" title="interface in org.apache.calcite.plan"><code>RelOptTable</code></a> based upon a member access.</div>
</td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code><a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTypeFactory()">getTypeFactory</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the <a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type"><code>type factory</code></a> used to generate
types for this schema.</div>
</td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCaseSensitive()">isCaseSensitive</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#lookupOperatorOverloads(org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.SqlFunctionCategory,org.apache.calcite.sql.SqlSyntax,java.util.List,org.apache.calcite.sql.validate.SqlNameMatcher)">lookupOperatorOverloads</a></span>&#8203;(<a href="../sql/SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;opName,
<a href="../sql/SqlFunctionCategory.html" title="enum in org.apache.calcite.sql">SqlFunctionCategory</a>&nbsp;category,
<a href="../sql/SqlSyntax.html" title="enum in org.apache.calcite.sql">SqlSyntax</a>&nbsp;syntax,
<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="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&gt;&nbsp;operatorList,
<a href="../sql/validate/SqlNameMatcher.html" title="interface in org.apache.calcite.sql.validate">SqlNameMatcher</a>&nbsp;nameMatcher)</code></th>
<td class="colLast">
<div class="block">Retrieves a list of operators with a given name and syntax.</div>
</td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#matches(java.lang.String,java.lang.String)">matches</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;string,
<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="i14">
<td class="colFirst"><code><a href="../sql/validate/SqlNameMatcher.html" title="interface in org.apache.calcite.sql.validate">SqlNameMatcher</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nameMatcher()">nameMatcher</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an implementation of
<a href="../sql/validate/SqlNameMatcher.html" title="interface in org.apache.calcite.sql.validate"><code>SqlNameMatcher</code></a>
that matches the case-sensitivity policy.</div>
</td>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><code>static <a href="../sql/SqlOperatorTable.html" title="interface in org.apache.calcite.sql">SqlOperatorTable</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#operatorTable(java.lang.String...)">operatorTable</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;classNames)</code></th>
<td class="colLast">
<div class="block">Creates an operator table that contains functions in the given class
or classes.</div>
</td>
</tr>
<tr class="altColor" id="i16">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#registerRules(org.apache.calcite.plan.RelOptPlanner)">registerRules</a></span>&#8203;(<a href="../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner)</code></th>
<td class="colLast">
<div class="block">Registers all of the rules supported by this schema.</div>
</td>
</tr>
<tr class="rowColor" id="i17">
<td class="colFirst"><code>&lt;C&gt;&nbsp;C</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unwrap(java.lang.Class)">unwrap</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;C&gt;&nbsp;aClass)</code></th>
<td class="colLast">
<div class="block">Finds an instance of an interface implemented by this object,
or returns null if this object does not support that interface.</div>
</td>
</tr>
<tr class="altColor" id="i18">
<td class="colFirst"><code><a href="CalciteCatalogReader.html" title="class in org.apache.calcite.prepare">CalciteCatalogReader</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withSchemaPath(java.util.List)">withSchemaPath</a></span>&#8203;(<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;&nbsp;schemaPath)</code></th>
<td class="colLast">
<div class="block">Returns a catalog reader the same as this one but with a possibly
different schema path.</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="rootSchema">rootSchema</a></h3>
<div class="memberSignature"><span class="modifiers">protected final</span>&nbsp;<span class="returnType"><a href="../jdbc/CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></span>&nbsp;<span class="memberName">rootSchema</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="typeFactory">typeFactory</a></h3>
<div class="memberSignature"><span class="modifiers">protected final</span>&nbsp;<span class="returnType"><a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a></span>&nbsp;<span class="memberName">typeFactory</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="nameMatcher">nameMatcher</a></h3>
<div class="memberSignature"><span class="modifiers">protected final</span>&nbsp;<span class="returnType"><a href="../sql/validate/SqlNameMatcher.html" title="interface in org.apache.calcite.sql.validate">SqlNameMatcher</a></span>&nbsp;<span class="memberName">nameMatcher</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="config">config</a></h3>
<div class="memberSignature"><span class="modifiers">protected final</span>&nbsp;<span class="returnType"><a href="../config/CalciteConnectionConfig.html" title="interface in org.apache.calcite.config">CalciteConnectionConfig</a></span>&nbsp;<span class="memberName">config</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,java.util.List,org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.config.CalciteConnectionConfig)">CalciteCatalogReader</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">CalciteCatalogReader</span>&#8203;(<span class="arguments"><a href="../jdbc/CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&nbsp;rootSchema,
<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;&nbsp;defaultSchema,
<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../config/CalciteConnectionConfig.html" title="interface in org.apache.calcite.config">CalciteConnectionConfig</a>&nbsp;config)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(org.apache.calcite.jdbc.CalciteSchema,org.apache.calcite.sql.validate.SqlNameMatcher,java.util.List,org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.config.CalciteConnectionConfig)">CalciteCatalogReader</a></h3>
<div class="memberSignature"><span class="modifiers">protected</span>&nbsp;<span class="memberName">CalciteCatalogReader</span>&#8203;(<span class="arguments"><a href="../jdbc/CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&nbsp;rootSchema,
<a href="../sql/validate/SqlNameMatcher.html" title="interface in org.apache.calcite.sql.validate">SqlNameMatcher</a>&nbsp;nameMatcher,
<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/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;schemaPaths,
<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../config/CalciteConnectionConfig.html" title="interface in org.apache.calcite.config">CalciteConnectionConfig</a>&nbsp;config)</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="withSchemaPath(java.util.List)">withSchemaPath</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="CalciteCatalogReader.html" title="class in org.apache.calcite.prepare">CalciteCatalogReader</a></span>&nbsp;<span class="memberName">withSchemaPath</span>&#8203;(<span class="arguments"><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;&nbsp;schemaPath)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="Prepare.CatalogReader.html#withSchemaPath(java.util.List)">Prepare.CatalogReader</a></code></span></div>
<div class="block">Returns a catalog reader the same as this one but with a possibly
different schema path.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Prepare.CatalogReader.html#withSchemaPath(java.util.List)">withSchemaPath</a></code>&nbsp;in interface&nbsp;<code><a href="Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a></code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getTable(java.util.List)">getTable</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="Prepare.PreparingTable.html" title="interface in org.apache.calcite.prepare">Prepare.PreparingTable</a></span>&nbsp;<span class="memberName">getTable</span>&#8203;(<span class="arguments"><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;&nbsp;names)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../sql/validate/SqlValidatorCatalogReader.html#getTable(java.util.List)">SqlValidatorCatalogReader</a></code></span></div>
<div class="block">Finds a table or schema with the given name, possibly qualified.
<p>Uses the case-sensitivity policy of the catalog reader.
<p>If not found, returns null. If you want a more descriptive error
message or to override the case-sensitivity of the match, use
<a href="../sql/validate/SqlValidatorScope.html#resolveTable(java.util.List,org.apache.calcite.sql.validate.SqlNameMatcher,org.apache.calcite.sql.validate.SqlValidatorScope.Path,org.apache.calcite.sql.validate.SqlValidatorScope.Resolved)"><code>SqlValidatorScope.resolveTable(java.util.List&lt;java.lang.String&gt;, org.apache.calcite.sql.validate.SqlNameMatcher, org.apache.calcite.sql.validate.SqlValidatorScope.Path, org.apache.calcite.sql.validate.SqlValidatorScope.Resolved)</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Prepare.CatalogReader.html#getTable(java.util.List)">getTable</a></code>&nbsp;in interface&nbsp;<code><a href="Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../sql/validate/SqlValidatorCatalogReader.html#getTable(java.util.List)">getTable</a></code>&nbsp;in interface&nbsp;<code><a href="../sql/validate/SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorCatalogReader</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>names</code> - Name of table, may be qualified or fully-qualified</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Table with the given name, or null</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getConfig()">getConfig</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../config/CalciteConnectionConfig.html" title="interface in org.apache.calcite.config">CalciteConnectionConfig</a></span>&nbsp;<span class="memberName">getConfig</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../sql/validate/SqlValidatorCatalogReader.html#getConfig()">SqlValidatorCatalogReader</a></code></span></div>
<div class="block">Returns Config settings.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../sql/validate/SqlValidatorCatalogReader.html#getConfig()">getConfig</a></code>&nbsp;in interface&nbsp;<code><a href="../sql/validate/SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorCatalogReader</a></code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getNamedType(org.apache.calcite.sql.SqlIdentifier)">getNamedType</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span>&nbsp;<span class="memberName">getNamedType</span>&#8203;(<span class="arguments"><a href="../sql/SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;typeName)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../sql/validate/SqlValidatorCatalogReader.html#getNamedType(org.apache.calcite.sql.SqlIdentifier)">SqlValidatorCatalogReader</a></code></span></div>
<div class="block">Finds a user-defined type with the given name, possibly qualified.
<p>NOTE jvs 12-Feb-2005: the reason this method is defined here instead
of on RelDataTypeFactory is that it has to take into account
context-dependent information such as SQL schema path, whereas a type
factory is context-independent.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../sql/validate/SqlValidatorCatalogReader.html#getNamedType(org.apache.calcite.sql.SqlIdentifier)">getNamedType</a></code>&nbsp;in interface&nbsp;<code><a href="../sql/validate/SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorCatalogReader</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>typeName</code> - Name of type</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>named type, or null if not found</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getAllSchemaObjectNames(java.util.List)">getAllSchemaObjectNames</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="../sql/validate/SqlMoniker.html" title="interface in org.apache.calcite.sql.validate">SqlMoniker</a>&gt;</span>&nbsp;<span class="memberName">getAllSchemaObjectNames</span>&#8203;(<span class="arguments"><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;&nbsp;names)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../sql/validate/SqlValidatorCatalogReader.html#getAllSchemaObjectNames(java.util.List)">SqlValidatorCatalogReader</a></code></span></div>
<div class="block">Given fully qualified schema name, returns schema object names as
specified. They can be schema, table, function, view.
When names array is empty, the contents of root schema should be returned.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../sql/validate/SqlValidatorCatalogReader.html#getAllSchemaObjectNames(java.util.List)">getAllSchemaObjectNames</a></code>&nbsp;in interface&nbsp;<code><a href="../sql/validate/SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorCatalogReader</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>names</code> - the array contains fully qualified schema name or empty
list for root schema</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of all object (schema, table, function,
view) names under the above criteria</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getSchemaPaths()">getSchemaPaths</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/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">getSchemaPaths</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../sql/validate/SqlValidatorCatalogReader.html#getSchemaPaths()">SqlValidatorCatalogReader</a></code></span></div>
<div class="block">Returns the paths of all schemas to look in for tables.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../sql/validate/SqlValidatorCatalogReader.html#getSchemaPaths()">getSchemaPaths</a></code>&nbsp;in interface&nbsp;<code><a href="../sql/validate/SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorCatalogReader</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>paths of current schema and root schema</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getTableForMember(java.util.List)">getTableForMember</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="Prepare.PreparingTable.html" title="interface in org.apache.calcite.prepare">Prepare.PreparingTable</a></span>&nbsp;<span class="memberName">getTableForMember</span>&#8203;(<span class="arguments"><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;&nbsp;names)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../plan/RelOptSchema.html#getTableForMember(java.util.List)">RelOptSchema</a></code></span></div>
<div class="block">Retrieves a <a href="../plan/RelOptTable.html" title="interface in org.apache.calcite.plan"><code>RelOptTable</code></a> based upon a member access.
<p>For example, the Saffron expression <code>salesSchema.emps</code>
would be resolved using a call to <code>salesSchema.getTableForMember(new
String[]{"emps" })</code>.</p>
<p>Note that name.length is only greater than 1 for queries originating
from JDBC.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Prepare.CatalogReader.html#getTableForMember(java.util.List)">getTableForMember</a></code>&nbsp;in interface&nbsp;<code><a href="Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../plan/RelOptSchema.html#getTableForMember(java.util.List)">getTableForMember</a></code>&nbsp;in interface&nbsp;<code><a href="../plan/RelOptSchema.html" title="interface in org.apache.calcite.plan">RelOptSchema</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>names</code> - Qualified name</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="field(org.apache.calcite.rel.type.RelDataType,java.lang.String)">field</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a></span>&nbsp;<span class="memberName">field</span>&#8203;(<span class="arguments"><a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
<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;alias)</span></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../sql/validate/SqlValidatorCatalogReader.html#field(org.apache.calcite.rel.type.RelDataType,java.lang.String)">field</a></code>&nbsp;in interface&nbsp;<code><a href="../sql/validate/SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorCatalogReader</a></code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="matches(java.lang.String,java.lang.String)">matches</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">matches</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;string,
<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>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../sql/validate/SqlValidatorCatalogReader.html#matches(java.lang.String,java.lang.String)">matches</a></code>&nbsp;in interface&nbsp;<code><a href="../sql/validate/SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorCatalogReader</a></code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="createTypeFromProjection(org.apache.calcite.rel.type.RelDataType,java.util.List)">createTypeFromProjection</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span>&nbsp;<span class="memberName">createTypeFromProjection</span>&#8203;(<span class="arguments"><a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type,
<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;&nbsp;columnNameList)</span></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../sql/validate/SqlValidatorCatalogReader.html#createTypeFromProjection(org.apache.calcite.rel.type.RelDataType,java.util.List)">createTypeFromProjection</a></code>&nbsp;in interface&nbsp;<code><a href="../sql/validate/SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorCatalogReader</a></code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="lookupOperatorOverloads(org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.SqlFunctionCategory,org.apache.calcite.sql.SqlSyntax,java.util.List,org.apache.calcite.sql.validate.SqlNameMatcher)">lookupOperatorOverloads</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">lookupOperatorOverloads</span>&#8203;(<span class="arguments"><a href="../sql/SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;opName,
<a href="../sql/SqlFunctionCategory.html" title="enum in org.apache.calcite.sql">SqlFunctionCategory</a>&nbsp;category,
<a href="../sql/SqlSyntax.html" title="enum in org.apache.calcite.sql">SqlSyntax</a>&nbsp;syntax,
<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="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&gt;&nbsp;operatorList,
<a href="../sql/validate/SqlNameMatcher.html" title="interface in org.apache.calcite.sql.validate">SqlNameMatcher</a>&nbsp;nameMatcher)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../sql/SqlOperatorTable.html#lookupOperatorOverloads(org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.SqlFunctionCategory,org.apache.calcite.sql.SqlSyntax,java.util.List,org.apache.calcite.sql.validate.SqlNameMatcher)">SqlOperatorTable</a></code></span></div>
<div class="block">Retrieves a list of operators with a given name and syntax. For example,
by passing SqlSyntax.Function, the returned list is narrowed to only
matching SqlFunction objects.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../sql/SqlOperatorTable.html#lookupOperatorOverloads(org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.SqlFunctionCategory,org.apache.calcite.sql.SqlSyntax,java.util.List,org.apache.calcite.sql.validate.SqlNameMatcher)">lookupOperatorOverloads</a></code>&nbsp;in interface&nbsp;<code><a href="../sql/SqlOperatorTable.html" title="interface in org.apache.calcite.sql">SqlOperatorTable</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>opName</code> - name of operator</dd>
<dd><code>category</code> - function category to look up, or null for any matching
operator</dd>
<dd><code>syntax</code> - syntax type of operator</dd>
<dd><code>operatorList</code> - mutable list to which to append matches</dd>
<dd><code>nameMatcher</code> - Name matcher</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="operatorTable(java.lang.String...)">operatorTable</a></h3>
<div class="memberSignature"><span class="modifiers">public static</span>&nbsp;<span class="returnType"><a href="../sql/SqlOperatorTable.html" title="interface in org.apache.calcite.sql">SqlOperatorTable</a></span>&nbsp;<span class="memberName">operatorTable</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;classNames)</span></div>
<div class="block">Creates an operator table that contains functions in the given class
or classes.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../model/ModelHandler.html#addFunctions(org.apache.calcite.schema.SchemaPlus,java.lang.String,java.util.List,java.lang.String,java.lang.String,boolean)"><code>ModelHandler.addFunctions(org.apache.calcite.schema.SchemaPlus, java.lang.String, java.util.List&lt;java.lang.String&gt;, java.lang.String, java.lang.String, boolean)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getOperatorList()">getOperatorList</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="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&gt;</span>&nbsp;<span class="memberName">getOperatorList</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../sql/SqlOperatorTable.html#getOperatorList()">SqlOperatorTable</a></code></span></div>
<div class="block">Retrieves a list of all functions and operators in this table. Used for
automated testing.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../sql/SqlOperatorTable.html#getOperatorList()">getOperatorList</a></code>&nbsp;in interface&nbsp;<code><a href="../sql/SqlOperatorTable.html" title="interface in org.apache.calcite.sql">SqlOperatorTable</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>list of SqlOperator objects</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getRootSchema()">getRootSchema</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../jdbc/CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a></span>&nbsp;<span class="memberName">getRootSchema</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../sql/validate/SqlValidatorCatalogReader.html#getRootSchema()">SqlValidatorCatalogReader</a></code></span></div>
<div class="block">Returns the root namespace for name resolution.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../sql/validate/SqlValidatorCatalogReader.html#getRootSchema()">getRootSchema</a></code>&nbsp;in interface&nbsp;<code><a href="../sql/validate/SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorCatalogReader</a></code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getTypeFactory()">getTypeFactory</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a></span>&nbsp;<span class="memberName">getTypeFactory</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../plan/RelOptSchema.html#getTypeFactory()">RelOptSchema</a></code></span></div>
<div class="block">Returns the <a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type"><code>type factory</code></a> used to generate
types for this schema.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../plan/RelOptSchema.html#getTypeFactory()">getTypeFactory</a></code>&nbsp;in interface&nbsp;<code><a href="../plan/RelOptSchema.html" title="interface in org.apache.calcite.plan">RelOptSchema</a></code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="registerRules(org.apache.calcite.plan.RelOptPlanner)">registerRules</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">registerRules</span>&#8203;(<span class="arguments"><a href="../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../plan/RelOptSchema.html#registerRules(org.apache.calcite.plan.RelOptPlanner)">RelOptSchema</a></code></span></div>
<div class="block">Registers all of the rules supported by this schema. Only called by
<a href="../plan/RelOptPlanner.html#registerSchema(org.apache.calcite.plan.RelOptSchema)"><code>RelOptPlanner.registerSchema(org.apache.calcite.plan.RelOptSchema)</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../plan/RelOptSchema.html#registerRules(org.apache.calcite.plan.RelOptPlanner)">registerRules</a></code>&nbsp;in interface&nbsp;<code><a href="../plan/RelOptSchema.html" title="interface in org.apache.calcite.plan">RelOptSchema</a></code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="isCaseSensitive()">isCaseSensitive</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">isCaseSensitive</span>()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../sql/validate/SqlValidatorCatalogReader.html#isCaseSensitive()">isCaseSensitive</a></code>&nbsp;in interface&nbsp;<code><a href="../sql/validate/SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorCatalogReader</a></code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="nameMatcher()">nameMatcher</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../sql/validate/SqlNameMatcher.html" title="interface in org.apache.calcite.sql.validate">SqlNameMatcher</a></span>&nbsp;<span class="memberName">nameMatcher</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../sql/validate/SqlValidatorCatalogReader.html#nameMatcher()">SqlValidatorCatalogReader</a></code></span></div>
<div class="block">Returns an implementation of
<a href="../sql/validate/SqlNameMatcher.html" title="interface in org.apache.calcite.sql.validate"><code>SqlNameMatcher</code></a>
that matches the case-sensitivity policy.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../sql/validate/SqlValidatorCatalogReader.html#nameMatcher()">nameMatcher</a></code>&nbsp;in interface&nbsp;<code><a href="../sql/validate/SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorCatalogReader</a></code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="unwrap(java.lang.Class)">unwrap</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;C&gt;</span>&nbsp;<span class="returnType">C</span>&nbsp;<span class="memberName">unwrap</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;C&gt;&nbsp;aClass)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../schema/Wrapper.html#unwrap(java.lang.Class)">Wrapper</a></code></span></div>
<div class="block">Finds an instance of an interface implemented by this object,
or returns null if this object does not support that interface.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../schema/Wrapper.html#unwrap(java.lang.Class)">unwrap</a></code>&nbsp;in interface&nbsp;<code><a href="../schema/Wrapper.html" title="interface in org.apache.calcite.schema">Wrapper</a></code></dd>
</dl>
</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>Nested&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-2020 Apache Software Foundation. All Rights Reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>