blob: 5f63b47499e7f8997243e3d2c923bbcb6cc107dd [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>CalciteCatalogReader (Apache Calcite API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="CalciteCatalogReader (Apache Calcite API)";
}
}
catch(err) {
}
//-->
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":9,"i13":9,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":9,"i20":10,"i21":9,"i22":10,"i23":9,"i24":9,"i25":10,"i26":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 = "../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/CalciteCatalogReader.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>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>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.prepare</a></div>
<h2 title="Class CalciteCatalogReader" class="title">Class CalciteCatalogReader</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.prepare.CalciteCatalogReader</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<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 java.lang.Object
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>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<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>
<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>private java.util.List&lt;java.util.List&lt;java.lang.String&gt;&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#schemaPaths">schemaPaths</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<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>
</table>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.apache.calcite.prepare.Prepare.CatalogReader">
<!-- -->
</a>
<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>
<code><a href="Prepare.CatalogReader.html#THREAD_LOCAL">THREAD_LOCAL</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colSecond" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<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,
java.util.List&lt;java.lang.String&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,
java.util.List&lt;java.util.List&lt;java.lang.String&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>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../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,
java.util.List&lt;java.lang.String&gt;&nbsp;columnNameList)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<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,
java.lang.String&nbsp;alias)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.util.List&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;(java.util.List&lt;java.lang.String&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 id="i3" class="rowColor">
<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 id="i4" class="altColor">
<td class="colFirst"><code>private java.util.Collection&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="#getFunctionsFrom(java.util.List)">getFunctionsFrom</a></span>&#8203;(java.util.List&lt;java.lang.String&gt;&nbsp;names)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<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 id="i6" class="altColor">
<td class="colFirst"><code>java.util.List&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 id="i7" class="rowColor">
<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 id="i8" class="altColor">
<td class="colFirst"><code>java.util.List&lt;java.util.List&lt;java.lang.String&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 id="i9" class="rowColor">
<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;(java.util.List&lt;java.lang.String&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 id="i10" class="altColor">
<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;(java.util.List&lt;java.lang.String&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 id="i11" class="rowColor">
<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 id="i12" class="altColor">
<td class="colFirst"><code>private static <a href="../sql/type/SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#infer(org.apache.calcite.schema.AggregateFunction)">infer</a></span>&#8203;(<a href="../schema/AggregateFunction.html" title="interface in org.apache.calcite.schema">AggregateFunction</a>&nbsp;function)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>private static <a href="../sql/type/SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#infer(org.apache.calcite.schema.ScalarFunction)">infer</a></span>&#8203;(<a href="../schema/ScalarFunction.html" title="interface in org.apache.calcite.schema">ScalarFunction</a>&nbsp;function)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<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 id="i15" class="rowColor">
<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,
java.util.List&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 id="i16" class="altColor">
<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;(java.lang.String&nbsp;string,
java.lang.String&nbsp;name)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>private <a href="../sql/validate/SqlMonikerImpl.html" title="class in org.apache.calcite.sql.validate">SqlMonikerImpl</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#moniker(org.apache.calcite.jdbc.CalciteSchema,java.lang.String,org.apache.calcite.sql.validate.SqlMonikerType)">moniker</a></span>&#8203;(<a href="../jdbc/CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&nbsp;schema,
java.lang.String&nbsp;name,
<a href="../sql/validate/SqlMonikerType.html" title="enum in org.apache.calcite.sql.validate">SqlMonikerType</a>&nbsp;type)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<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 id="i19" class="rowColor">
<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;(java.lang.String&nbsp;className)</code></th>
<td class="colLast">
<div class="block">Creates an operator table that contains functions in the given class.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<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 id="i21" class="rowColor">
<td class="colFirst"><code>private static <a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toOp(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.schema.Function)">toOp</a></span>&#8203;(<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../sql/SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;name,
<a href="../schema/Function.html" title="interface in org.apache.calcite.schema">Function</a>&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Converts a function to a <a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql"><code>SqlOperator</code></a>.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>private <a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toOp(org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.schema.Function)">toOp</a></span>&#8203;(<a href="../sql/SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;name,
<a href="../schema/Function.html" title="interface in org.apache.calcite.schema">Function</a>&nbsp;function)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>private static java.util.List&lt;<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toSql(org.apache.calcite.rel.type.RelDataTypeFactory,java.util.List)">toSql</a></span>&#8203;(<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a>&nbsp;typeFactory,
java.util.List&lt;<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;types)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>private static <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="#toSql(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType)">toSql</a></span>&#8203;(<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<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;(java.lang.Class&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 id="i26" class="altColor">
<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;(java.util.List&lt;java.lang.String&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>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="rootSchema">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rootSchema</h4>
<pre>protected final&nbsp;<a href="../jdbc/CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a> rootSchema</pre>
</li>
</ul>
<a id="typeFactory">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>typeFactory</h4>
<pre>protected final&nbsp;<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory</pre>
</li>
</ul>
<a id="schemaPaths">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>schemaPaths</h4>
<pre>private final&nbsp;java.util.List&lt;java.util.List&lt;java.lang.String&gt;&gt; schemaPaths</pre>
</li>
</ul>
<a id="nameMatcher">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nameMatcher</h4>
<pre>protected final&nbsp;<a href="../sql/validate/SqlNameMatcher.html" title="interface in org.apache.calcite.sql.validate">SqlNameMatcher</a> nameMatcher</pre>
</li>
</ul>
<a id="config">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>config</h4>
<pre>protected final&nbsp;<a href="../config/CalciteConnectionConfig.html" title="interface in org.apache.calcite.config">CalciteConnectionConfig</a> config</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor 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)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CalciteCatalogReader</h4>
<pre>public&nbsp;CalciteCatalogReader&#8203;(<a href="../jdbc/CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&nbsp;rootSchema,
java.util.List&lt;java.lang.String&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)</pre>
</li>
</ul>
<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)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CalciteCatalogReader</h4>
<pre>protected&nbsp;CalciteCatalogReader&#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,
java.util.List&lt;java.util.List&lt;java.lang.String&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)</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="withSchemaPath(java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withSchemaPath</h4>
<pre class="methodSignature">public&nbsp;<a href="CalciteCatalogReader.html" title="class in org.apache.calcite.prepare">CalciteCatalogReader</a>&nbsp;withSchemaPath&#8203;(java.util.List&lt;java.lang.String&gt;&nbsp;schemaPath)</pre>
<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>
</li>
</ul>
<a id="getTable(java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTable</h4>
<pre class="methodSignature">public&nbsp;<a href="Prepare.PreparingTable.html" title="interface in org.apache.calcite.prepare">Prepare.PreparingTable</a>&nbsp;getTable&#8203;(java.util.List&lt;java.lang.String&gt;&nbsp;names)</pre>
<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>
</li>
</ul>
<a id="getConfig()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConfig</h4>
<pre class="methodSignature">public&nbsp;<a href="../config/CalciteConnectionConfig.html" title="interface in org.apache.calcite.config">CalciteConnectionConfig</a>&nbsp;getConfig()</pre>
<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>
</li>
</ul>
<a id="getFunctionsFrom(java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFunctionsFrom</h4>
<pre class="methodSignature">private&nbsp;java.util.Collection&lt;<a href="../schema/Function.html" title="interface in org.apache.calcite.schema">Function</a>&gt;&nbsp;getFunctionsFrom&#8203;(java.util.List&lt;java.lang.String&gt;&nbsp;names)</pre>
</li>
</ul>
<a id="getNamedType(org.apache.calcite.sql.SqlIdentifier)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNamedType</h4>
<pre class="methodSignature">public&nbsp;<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;getNamedType&#8203;(<a href="../sql/SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;typeName)</pre>
<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>
</li>
</ul>
<a id="getAllSchemaObjectNames(java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllSchemaObjectNames</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;<a href="../sql/validate/SqlMoniker.html" title="interface in org.apache.calcite.sql.validate">SqlMoniker</a>&gt;&nbsp;getAllSchemaObjectNames&#8203;(java.util.List&lt;java.lang.String&gt;&nbsp;names)</pre>
<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>
</li>
</ul>
<a id="moniker(org.apache.calcite.jdbc.CalciteSchema,java.lang.String,org.apache.calcite.sql.validate.SqlMonikerType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>moniker</h4>
<pre class="methodSignature">private&nbsp;<a href="../sql/validate/SqlMonikerImpl.html" title="class in org.apache.calcite.sql.validate">SqlMonikerImpl</a>&nbsp;moniker&#8203;(<a href="../jdbc/CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&nbsp;schema,
java.lang.String&nbsp;name,
<a href="../sql/validate/SqlMonikerType.html" title="enum in org.apache.calcite.sql.validate">SqlMonikerType</a>&nbsp;type)</pre>
</li>
</ul>
<a id="getSchemaPaths()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSchemaPaths</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;java.util.List&lt;java.lang.String&gt;&gt;&nbsp;getSchemaPaths()</pre>
<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>
</li>
</ul>
<a id="getTableForMember(java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTableForMember</h4>
<pre class="methodSignature">public&nbsp;<a href="Prepare.PreparingTable.html" title="interface in org.apache.calcite.prepare">Prepare.PreparingTable</a>&nbsp;getTableForMember&#8203;(java.util.List&lt;java.lang.String&gt;&nbsp;names)</pre>
<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>
</li>
</ul>
<a id="field(org.apache.calcite.rel.type.RelDataType,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>field</h4>
<pre class="methodSignature">public&nbsp;<a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&nbsp;field&#8203;(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.lang.String&nbsp;alias)</pre>
<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>
</li>
</ul>
<a id="matches(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>matches</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;matches&#8203;(java.lang.String&nbsp;string,
java.lang.String&nbsp;name)</pre>
<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>
</li>
</ul>
<a id="createTypeFromProjection(org.apache.calcite.rel.type.RelDataType,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createTypeFromProjection</h4>
<pre class="methodSignature">public&nbsp;<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;createTypeFromProjection&#8203;(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type,
java.util.List&lt;java.lang.String&gt;&nbsp;columnNameList)</pre>
<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>
</li>
</ul>
<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)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lookupOperatorOverloads</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;lookupOperatorOverloads&#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,
java.util.List&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)</pre>
<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>
</li>
</ul>
<a id="operatorTable(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>operatorTable</h4>
<pre class="methodSignature">public static&nbsp;<a href="../sql/SqlOperatorTable.html" title="interface in org.apache.calcite.sql">SqlOperatorTable</a>&nbsp;operatorTable&#8203;(java.lang.String&nbsp;className)</pre>
<div class="block">Creates an operator table that contains functions in the given class.</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>
</li>
</ul>
<a id="toOp(org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.schema.Function)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toOp</h4>
<pre class="methodSignature">private&nbsp;<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&nbsp;toOp&#8203;(<a href="../sql/SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;name,
<a href="../schema/Function.html" title="interface in org.apache.calcite.schema">Function</a>&nbsp;function)</pre>
</li>
</ul>
<a id="toOp(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.schema.Function)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toOp</h4>
<pre class="methodSignature">private static&nbsp;<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&nbsp;toOp&#8203;(<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../sql/SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;name,
<a href="../schema/Function.html" title="interface in org.apache.calcite.schema">Function</a>&nbsp;function)</pre>
<div class="block">Converts a function to a <a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql"><code>SqlOperator</code></a>.
<p>The <code>typeFactory</code> argument is technical debt; see [CALCITE-2082]
Remove RelDataTypeFactory argument from SqlUserDefinedAggFunction
constructor.</div>
</li>
</ul>
<a id="infer(org.apache.calcite.schema.ScalarFunction)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>infer</h4>
<pre class="methodSignature">private static&nbsp;<a href="../sql/type/SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;infer&#8203;(<a href="../schema/ScalarFunction.html" title="interface in org.apache.calcite.schema">ScalarFunction</a>&nbsp;function)</pre>
</li>
</ul>
<a id="infer(org.apache.calcite.schema.AggregateFunction)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>infer</h4>
<pre class="methodSignature">private static&nbsp;<a href="../sql/type/SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;infer&#8203;(<a href="../schema/AggregateFunction.html" title="interface in org.apache.calcite.schema">AggregateFunction</a>&nbsp;function)</pre>
</li>
</ul>
<a id="toSql(org.apache.calcite.rel.type.RelDataTypeFactory,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toSql</h4>
<pre class="methodSignature">private static&nbsp;java.util.List&lt;<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;toSql&#8203;(<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a>&nbsp;typeFactory,
java.util.List&lt;<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;types)</pre>
</li>
</ul>
<a id="toSql(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toSql</h4>
<pre class="methodSignature">private static&nbsp;<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;toSql&#8203;(<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type)</pre>
</li>
</ul>
<a id="getOperatorList()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOperatorList</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&gt;&nbsp;getOperatorList()</pre>
<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>
</li>
</ul>
<a id="getRootSchema()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRootSchema</h4>
<pre class="methodSignature">public&nbsp;<a href="../jdbc/CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&nbsp;getRootSchema()</pre>
<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>
</li>
</ul>
<a id="getTypeFactory()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTypeFactory</h4>
<pre class="methodSignature">public&nbsp;<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a>&nbsp;getTypeFactory()</pre>
<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>
</li>
</ul>
<a id="registerRules(org.apache.calcite.plan.RelOptPlanner)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerRules</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;registerRules&#8203;(<a href="../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner)
throws java.lang.Exception</pre>
<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>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="isCaseSensitive()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCaseSensitive</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isCaseSensitive()</pre>
<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>
</li>
</ul>
<a id="nameMatcher()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nameMatcher</h4>
<pre class="methodSignature">public&nbsp;<a href="../sql/validate/SqlNameMatcher.html" title="interface in org.apache.calcite.sql.validate">SqlNameMatcher</a>&nbsp;nameMatcher()</pre>
<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>
</li>
</ul>
<a id="unwrap(java.lang.Class)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>unwrap</h4>
<pre class="methodSignature">public&nbsp;&lt;C&gt;&nbsp;C&nbsp;unwrap&#8203;(java.lang.Class&lt;C&gt;&nbsp;aClass)</pre>
<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>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/CalciteCatalogReader.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>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>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>