<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>SqlValidator (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="SqlValidator (Apache Calcite API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":38,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":6,"i43":6,"i44":6,"i45":6,"i46":6,"i47":6,"i48":6,"i49":38,"i50":6,"i51":6,"i52":6,"i53":6,"i54":6,"i55":6,"i56":6,"i57":6,"i58":6,"i59":6,"i60":6,"i61":6,"i62":6,"i63":6,"i64":6,"i65":6,"i66":6,"i67":6,"i68":6,"i69":6,"i70":6,"i71":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],32:["t6","Deprecated 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/SqlValidator.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>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.sql.validate</a></div>
<h2 title="Interface SqlValidator" class="title">Interface SqlValidator</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><code><a href="SqlValidatorWithHints.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorWithHints</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../../prepare/CalciteSqlValidator.html" title="class in org.apache.calcite.prepare">CalciteSqlValidator</a></code>, <code><a href="../../jdbc/ContextSqlValidator.html" title="class in org.apache.calcite.jdbc">ContextSqlValidator</a></code>, <code><a href="../advise/SqlAdvisorValidator.html" title="class in org.apache.calcite.sql.advise">SqlAdvisorValidator</a></code>, <code><a href="SqlValidatorImpl.html" title="class in org.apache.calcite.sql.validate">SqlValidatorImpl</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">SqlValidator</span></pre>
<div class="block">Validates the parse tree of a SQL statement, and provides semantic
 information about the parse tree.

 <p>To create an instance of the default validator implementation, call
 <a href="SqlValidatorUtil.html#newValidator(org.apache.calcite.sql.SqlOperatorTable,org.apache.calcite.sql.validate.SqlValidatorCatalogReader,org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.sql.validate.SqlConformance)"><code>SqlValidatorUtil.newValidator(org.apache.calcite.sql.SqlOperatorTable, org.apache.calcite.sql.validate.SqlValidatorCatalogReader, org.apache.calcite.rel.type.RelDataTypeFactory, org.apache.calcite.sql.validate.SqlConformance)</code></a>.

 <h2>Visitor pattern</h2>

 <p>The validator interface is an instance of the
 <a href="../../util/Glossary.html#VISITOR_PATTERN"><code>visitor pattern</code></a>.
 Implementations
 of the <a href="../SqlNode.html#validate(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope)"><code>SqlNode.validate(org.apache.calcite.sql.validate.SqlValidator, org.apache.calcite.sql.validate.SqlValidatorScope)</code></a> method call the <code>validateXxx</code>
 method appropriate to the kind of node:
 <ul>
 <li><a href="../SqlLiteral.html#validate(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope)"><code>SqlLiteral.validate(SqlValidator, SqlValidatorScope)</code></a>
     calls
     <a href="#validateLiteral(org.apache.calcite.sql.SqlLiteral)"><code>validateLiteral(org.apache.calcite.sql.SqlLiteral)</code></a>;
 <li><a href="../SqlCall.html#validate(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope)"><code>SqlCall.validate(SqlValidator, SqlValidatorScope)</code></a>
     calls
     <a href="#validateCall(org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.validate.SqlValidatorScope)"><code>validateCall(SqlCall, SqlValidatorScope)</code></a>;
 <li>and so forth.</ul>

 <p>The <a href="../SqlNode.html#validateExpr(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope)"><code>SqlNode.validateExpr(SqlValidator, SqlValidatorScope)</code></a> method
 is as <a href="../SqlNode.html#validate(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope)"><code>SqlNode.validate(SqlValidator, SqlValidatorScope)</code></a> but is called
 when the node is known to be a scalar expression.

 <h2>Scopes and namespaces</h2>

 <p>In order to resolve names to objects, the validator builds a map of the
 structure of the query. This map consists of two types of objects. A
 <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate"><code>SqlValidatorScope</code></a> describes the tables and columns accessible at a
 particular point in the query; and a <a href="SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate"><code>SqlValidatorNamespace</code></a> is a
 description of a data source used in a query.

 <p>There are different kinds of namespace for different parts of the query.
 for example <a href="IdentifierNamespace.html" title="class in org.apache.calcite.sql.validate"><code>IdentifierNamespace</code></a> for table names,
 <a href="SelectNamespace.html" title="class in org.apache.calcite.sql.validate"><code>SelectNamespace</code></a> for SELECT queries,
 <a href="SetopNamespace.html" title="class in org.apache.calcite.sql.validate"><code>SetopNamespace</code></a> for UNION, EXCEPT
 and INTERSECT. A validator is allowed to wrap namespaces in other objects
 which implement <a href="SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate"><code>SqlValidatorNamespace</code></a>, so don't try to cast your
 namespace or use <code>instanceof</code>; use
 <a href="SqlValidatorNamespace.html#unwrap(java.lang.Class)"><code>SqlValidatorNamespace.unwrap(Class)</code></a> and
 <a href="SqlValidatorNamespace.html#isWrapperFor(java.lang.Class)"><code>SqlValidatorNamespace.isWrapperFor(Class)</code></a> instead.</p>

 <p>The validator builds the map by making a quick scan over the query when
 the root <a href="../SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> is first provided. Thereafter, it supplies the
 correct scope or namespace object when it calls validation methods.</p>

 <p>The methods <a href="#getSelectScope(org.apache.calcite.sql.SqlSelect)"><code>getSelectScope(org.apache.calcite.sql.SqlSelect)</code></a>, <a href="#getFromScope(org.apache.calcite.sql.SqlSelect)"><code>getFromScope(org.apache.calcite.sql.SqlSelect)</code></a>,
 <a href="#getWhereScope(org.apache.calcite.sql.SqlSelect)"><code>getWhereScope(org.apache.calcite.sql.SqlSelect)</code></a>, <a href="#getGroupScope(org.apache.calcite.sql.SqlSelect)"><code>getGroupScope(org.apache.calcite.sql.SqlSelect)</code></a>, <a href="#getHavingScope(org.apache.calcite.sql.SqlSelect)"><code>getHavingScope(org.apache.calcite.sql.SqlSelect)</code></a>,
 <a href="#getOrderScope(org.apache.calcite.sql.SqlSelect)"><code>getOrderScope(org.apache.calcite.sql.SqlSelect)</code></a> and <a href="#getJoinScope(org.apache.calcite.sql.SqlNode)"><code>getJoinScope(org.apache.calcite.sql.SqlNode)</code></a> get the correct scope
 to resolve
 names in a particular clause of a SQL statement.</p></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated 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>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#declareCursor(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.validate.SqlValidatorScope)">declareCursor</a></span>&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select,
             <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope)</code></th>
<td class="colLast">
<div class="block">Declares a SELECT expression as a cursor.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deriveAlias(org.apache.calcite.sql.SqlNode,int)">deriveAlias</a></span>&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node,
           int&nbsp;ordinal)</code></th>
<td class="colLast">
<div class="block">Derives an alias for an expression.</div>
</td>
</tr>
<tr id="i2" 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="#deriveConstructorType(org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.SqlFunction,org.apache.calcite.sql.SqlFunction,java.util.List)">deriveConstructorType</a></span>&#8203;(<a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope,
                     <a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call,
                     <a href="../SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a>&nbsp;unresolvedConstructor,
                     <a href="../SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a>&nbsp;resolvedConstructor,
                     java.util.List&lt;<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;argTypes)</code></th>
<td class="colLast">
<div class="block">Derives the type of a constructor.</div>
</td>
</tr>
<tr id="i3" 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="#deriveType(org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlNode)">deriveType</a></span>&#8203;(<a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope,
          <a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;operand)</code></th>
<td class="colLast">
<div class="block">Derives the type of a node in a given scope.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#expand(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope)">expand</a></span>&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;expr,
      <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope)</code></th>
<td class="colLast">
<div class="block">Expands an expression.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#expandOrderExpr(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.SqlNode)">expandOrderExpr</a></span>&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select,
               <a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;orderExpr)</code></th>
<td class="colLast">
<div class="block">Expands an expression in the ORDER BY clause into an expression with the
 same semantics as expressions in the SELECT clause.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#expandStar(org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.SqlSelect,boolean)">expandStar</a></span>&#8203;(<a href="../SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a>&nbsp;selectList,
          <a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;query,
          boolean&nbsp;includeSystemVars)</code></th>
<td class="colLast">
<div class="block">Returns a list of expressions, with every occurrence of "&#42;" or
 "TABLE.&#42;" expanded.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorCatalogReader</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCatalogReader()">getCatalogReader</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the catalog reader used by this validator.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getColumnReferenceExpansion()">getColumnReferenceExpansion</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="SqlConformance.html" title="interface in org.apache.calcite.sql.validate">SqlConformance</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getConformance()">getConformance</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the dialect of SQL (SQL:2003, etc.) this validator recognizes.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../config/NullCollation.html" title="enum in org.apache.calcite.config">NullCollation</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDefaultNullCollation()">getDefaultNullCollation</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns how NULL values should be collated if an ORDER BY item does not
 contain NULLS FIRST or NULLS LAST.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<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="#getFieldOrigins(org.apache.calcite.sql.SqlNode)">getFieldOrigins</a></span>&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;sqlQuery)</code></th>
<td class="colLast">
<div class="block">Returns a description of how each field in the row type maps to a
 catalog, schema, table and column in the schema.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFromScope(org.apache.calcite.sql.SqlSelect)">getFromScope</a></span>&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select)</code></th>
<td class="colLast">
<div class="block">Returns a scope containing the objects visible from the FROM clause of a
 query.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getGroupScope(org.apache.calcite.sql.SqlSelect)">getGroupScope</a></span>&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select)</code></th>
<td class="colLast">
<div class="block">Returns a scope containing the objects visible from the GROUP BY clause
 of a query.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getHavingScope(org.apache.calcite.sql.SqlSelect)">getHavingScope</a></span>&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select)</code></th>
<td class="colLast">
<div class="block">Returns a scope containing the objects visible from the HAVING clause of
 a query.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getJoinScope(org.apache.calcite.sql.SqlNode)">getJoinScope</a></span>&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Returns a scope containing the objects visible from the ON and USING
 sections of a JOIN clause.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMatchRecognizeScope(org.apache.calcite.sql.SqlMatchRecognize)">getMatchRecognizeScope</a></span>&#8203;(<a href="../SqlMatchRecognize.html" title="class in org.apache.calcite.sql">SqlMatchRecognize</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Returns a scope match recognize clause.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorNamespace</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getNamespace(org.apache.calcite.sql.SqlNode)">getNamespace</a></span>&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Finds the namespace corresponding to a given node.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../SqlOperatorTable.html" title="interface in org.apache.calcite.sql">SqlOperatorTable</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOperatorTable()">getOperatorTable</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the operator table used by this validator.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOrderScope(org.apache.calcite.sql.SqlSelect)">getOrderScope</a></span>&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select)</code></th>
<td class="colLast">
<div class="block">Returns the scope that expressions in the SELECT and HAVING clause of
 this query should use.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOverScope(org.apache.calcite.sql.SqlNode)">getOverScope</a></span>&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Returns the scope of an OVER or VALUES node.</div>
</td>
</tr>
<tr id="i21" 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="#getParameterRowType(org.apache.calcite.sql.SqlNode)">getParameterRowType</a></span>&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;sqlQuery)</code></th>
<td class="colLast">
<div class="block">Returns a record type that contains the name and type of each parameter.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getParentCursor(java.lang.String)">getParentCursor</a></span>&#8203;(java.lang.String&nbsp;columnListParamName)</code></th>
<td class="colLast">
<div class="block">Retrieves the name of the parent cursor referenced by a column list
 parameter.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="SelectScope.html" title="class in org.apache.calcite.sql.validate">SelectScope</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRawSelectScope(org.apache.calcite.sql.SqlSelect)">getRawSelectScope</a></span>&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select)</code></th>
<td class="colLast">
<div class="block">Returns the scope for resolving the SELECT, GROUP BY and HAVING clauses.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSelectScope(org.apache.calcite.sql.SqlSelect)">getSelectScope</a></span>&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select)</code></th>
<td class="colLast">
<div class="block">Returns the appropriate scope for validating a particular clause of a
 SELECT statement.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="implicit/TypeCoercion.html" title="interface in org.apache.calcite.sql.validate.implicit">TypeCoercion</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTypeCoercion()">getTypeCoercion</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the type coercion instance.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<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 type factory used by this validator.</div>
</td>
</tr>
<tr id="i27" 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="#getUnknownType()">getUnknownType</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an object representing the "unknown" type.</div>
</td>
</tr>
<tr id="i28" 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="#getValidatedNodeType(org.apache.calcite.sql.SqlNode)">getValidatedNodeType</a></span>&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Returns the type assigned to a node by validation.</div>
</td>
</tr>
<tr id="i29" 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="#getValidatedNodeTypeIfKnown(org.apache.calcite.sql.SqlNode)">getValidatedNodeTypeIfKnown</a></span>&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Returns the type assigned to a node by validation, or null if unknown.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getWhereScope(org.apache.calcite.sql.SqlSelect)">getWhereScope</a></span>&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select)</code></th>
<td class="colLast">
<div class="block">Returns the scope that expressions in the WHERE and GROUP BY clause of
 this query should use.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getWithScope(org.apache.calcite.sql.SqlNode)">getWithScope</a></span>&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;withItem)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code><a href="../../runtime/CalciteException.html" title="class in org.apache.calcite.runtime">CalciteException</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleUnresolvedFunction(org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.SqlFunction,java.util.List,java.util.List)">handleUnresolvedFunction</a></span>&#8203;(<a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call,
                        <a href="../SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a>&nbsp;unresolvedFunction,
                        java.util.List&lt;<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;argTypes,
                        java.util.List&lt;java.lang.String&gt;&nbsp;argNames)</code></th>
<td class="colLast">
<div class="block">Handles a call to a function which cannot be resolved.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isAggregate(org.apache.calcite.sql.SqlNode)">isAggregate</a></span>&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;selectNode)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isAggregate(org.apache.calcite.sql.SqlSelect)">isAggregate</a></span>&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select)</code></th>
<td class="colLast">
<div class="block">Returns whether a SELECT statement is an aggregation.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isSystemField(org.apache.calcite.rel.type.RelDataTypeField)">isSystemField</a></span>&#8203;(<a href="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&nbsp;field)</code></th>
<td class="colLast">
<div class="block">Returns whether a field is a system field.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isTypeCoercionEnabled()">isTypeCoercionEnabled</a></span>()</code></th>
<td class="colLast">
<div class="block">Get if this validator supports implicit type coercion.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code><a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#makeNullaryCall(org.apache.calcite.sql.SqlIdentifier)">makeNullaryCall</a></span>&#8203;(<a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;id)</code></th>
<td class="colLast">
<div class="block">If an identifier is a legitimate call to a function that has no
 arguments and requires no parentheses (for example "CURRENT_USER"),
 returns a call to that function, otherwise returns null.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code><a href="../../runtime/CalciteContextException.html" title="class in org.apache.calcite.runtime">CalciteContextException</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newValidationError(org.apache.calcite.sql.SqlNode,org.apache.calcite.runtime.Resources.ExInst)">newValidationError</a></span>&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node,
                  <a href="../../runtime/Resources.ExInst.html" title="class in org.apache.calcite.runtime">Resources.ExInst</a>&lt;<a href="SqlValidatorException.html" title="class in org.apache.calcite.sql.validate">SqlValidatorException</a>&gt;&nbsp;e)</code></th>
<td class="colLast">
<div class="block">Adds "line x, column y" context to a validator exception.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#popFunctionCall()">popFunctionCall</a></span>()</code></th>
<td class="colLast">
<div class="block">Removes the topmost entry from the function call stack.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pushFunctionCall()">pushFunctionCall</a></span>()</code></th>
<td class="colLast">
<div class="block">Pushes a new instance of a function call on to a function call stack.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeValidatedNodeType(org.apache.calcite.sql.SqlNode)">removeValidatedNodeType</a></span>&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Removes a node from the set of validated nodes</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code><a href="../SqlWindow.html" title="class in org.apache.calcite.sql">SqlWindow</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#resolveWindow(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope,boolean)">resolveWindow</a></span>&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;windowOrRef,
             <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope,
             boolean&nbsp;populateBounds)</code></th>
<td class="colLast">
<div class="block">Converts a window specification or window name into a fully-resolved
 window specification.</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCallRewrite(boolean)">setCallRewrite</a></span>&#8203;(boolean&nbsp;rewriteCalls)</code></th>
<td class="colLast">
<div class="block">Enables or disables rewrite of "macro-like" calls such as COALESCE.</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setColumnReferenceExpansion(boolean)">setColumnReferenceExpansion</a></span>&#8203;(boolean&nbsp;expandColumnReferences)</code></th>
<td class="colLast">
<div class="block">Enables or disables expansion of column references.</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDefaultNullCollation(org.apache.calcite.config.NullCollation)">setDefaultNullCollation</a></span>&#8203;(<a href="../../config/NullCollation.html" title="enum in org.apache.calcite.config">NullCollation</a>&nbsp;nullCollation)</code></th>
<td class="colLast">
<div class="block">Sets how NULL values should be collated if an ORDER BY item does not
 contain NULLS FIRST or NULLS LAST.</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code><a href="SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setEnableTypeCoercion(boolean)">setEnableTypeCoercion</a></span>&#8203;(boolean&nbsp;enabled)</code></th>
<td class="colLast">
<div class="block">Set if implicit type coercion is allowed when the validator does validation.</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setIdentifierExpansion(boolean)">setIdentifierExpansion</a></span>&#8203;(boolean&nbsp;expandIdentifiers)</code></th>
<td class="colLast">
<div class="block">Enables or disables expansion of identifiers other than column
 references.</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTypeCoercion(org.apache.calcite.sql.validate.implicit.TypeCoercion)">setTypeCoercion</a></span>&#8203;(<a href="implicit/TypeCoercion.html" title="interface in org.apache.calcite.sql.validate.implicit">TypeCoercion</a>&nbsp;typeCoercion)</code></th>
<td class="colLast">
<div class="block">Set an instance of type coercion, you can customize the coercion rules to
 override the default ones
 in <a href="implicit/TypeCoercionImpl.html" title="class in org.apache.calcite.sql.validate.implicit"><code>TypeCoercionImpl</code></a>.</div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setValidatedNodeType(org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.type.RelDataType)">setValidatedNodeType</a></span>&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node,
                    <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">This method should not be in the <a href="SqlValidator.html" title="interface in org.apache.calcite.sql.validate"><code>SqlValidator</code></a>
 interface.</div>
</div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#shouldExpandIdentifiers()">shouldExpandIdentifiers</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns expansion of identifiers.</div>
</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validate(org.apache.calcite.sql.SqlNode)">validate</a></span>&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;topNode)</code></th>
<td class="colLast">
<div class="block">Validates an expression tree.</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateAggregateParams(org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.validate.SqlValidatorScope)">validateAggregateParams</a></span>&#8203;(<a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;aggCall,
                       <a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;filter,
                       <a href="../SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a>&nbsp;orderList,
                       <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope)</code></th>
<td class="colLast">
<div class="block">Validates parameters for aggregate function.</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateCall(org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.validate.SqlValidatorScope)">validateCall</a></span>&#8203;(<a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call,
            <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope)</code></th>
<td class="colLast">
<div class="block">Validates a call to an operator.</div>
</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateColumnListParams(org.apache.calcite.sql.SqlFunction,java.util.List,java.util.List)">validateColumnListParams</a></span>&#8203;(<a href="../SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a>&nbsp;function,
                        java.util.List&lt;<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;argTypes,
                        java.util.List&lt;<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&gt;&nbsp;operands)</code></th>
<td class="colLast">
<div class="block">Validates a COLUMN_LIST parameter</div>
</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateDataType(org.apache.calcite.sql.SqlDataTypeSpec)">validateDataType</a></span>&#8203;(<a href="../SqlDataTypeSpec.html" title="class in org.apache.calcite.sql">SqlDataTypeSpec</a>&nbsp;dataType)</code></th>
<td class="colLast">
<div class="block">Validates a data type expression.</div>
</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateDelete(org.apache.calcite.sql.SqlDelete)">validateDelete</a></span>&#8203;(<a href="../SqlDelete.html" title="class in org.apache.calcite.sql">SqlDelete</a>&nbsp;delete)</code></th>
<td class="colLast">
<div class="block">Validates a DELETE statement.</div>
</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateDynamicParam(org.apache.calcite.sql.SqlDynamicParam)">validateDynamicParam</a></span>&#8203;(<a href="../SqlDynamicParam.html" title="class in org.apache.calcite.sql">SqlDynamicParam</a>&nbsp;dynamicParam)</code></th>
<td class="colLast">
<div class="block">Validates a dynamic parameter.</div>
</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateIdentifier(org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.validate.SqlValidatorScope)">validateIdentifier</a></span>&#8203;(<a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;id,
                  <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope)</code></th>
<td class="colLast">
<div class="block">Resolves an identifier to a fully-qualified name.</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateInsert(org.apache.calcite.sql.SqlInsert)">validateInsert</a></span>&#8203;(<a href="../SqlInsert.html" title="class in org.apache.calcite.sql">SqlInsert</a>&nbsp;insert)</code></th>
<td class="colLast">
<div class="block">Validates an INSERT statement.</div>
</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateIntervalQualifier(org.apache.calcite.sql.SqlIntervalQualifier)">validateIntervalQualifier</a></span>&#8203;(<a href="../SqlIntervalQualifier.html" title="class in org.apache.calcite.sql">SqlIntervalQualifier</a>&nbsp;qualifier)</code></th>
<td class="colLast">
<div class="block">Validates a <a href="../SqlIntervalQualifier.html" title="class in org.apache.calcite.sql"><code>SqlIntervalQualifier</code></a></div>
</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateLiteral(org.apache.calcite.sql.SqlLiteral)">validateLiteral</a></span>&#8203;(<a href="../SqlLiteral.html" title="class in org.apache.calcite.sql">SqlLiteral</a>&nbsp;literal)</code></th>
<td class="colLast">
<div class="block">Validates a literal.</div>
</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateMatchRecognize(org.apache.calcite.sql.SqlCall)">validateMatchRecognize</a></span>&#8203;(<a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;pattern)</code></th>
<td class="colLast">
<div class="block">Validates a MATCH_RECOGNIZE clause.</div>
</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateMerge(org.apache.calcite.sql.SqlMerge)">validateMerge</a></span>&#8203;(<a href="../SqlMerge.html" title="class in org.apache.calcite.sql">SqlMerge</a>&nbsp;merge)</code></th>
<td class="colLast">
<div class="block">Validates a MERGE statement.</div>
</td>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateModality(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.validate.SqlModality,boolean)">validateModality</a></span>&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select,
                <a href="SqlModality.html" title="enum in org.apache.calcite.sql.validate">SqlModality</a>&nbsp;modality,
                boolean&nbsp;fail)</code></th>
<td class="colLast">
<div class="block">Validates that a query is capable of producing a return of given modality
 (relational or streaming).</div>
</td>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><code><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateParameterizedExpression(org.apache.calcite.sql.SqlNode,java.util.Map)">validateParameterizedExpression</a></span>&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;topNode,
                               java.util.Map&lt;java.lang.String,&#8203;<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;nameToTypeMap)</code></th>
<td class="colLast">
<div class="block">Validates an expression tree.</div>
</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateQuery(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.rel.type.RelDataType)">validateQuery</a></span>&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node,
             <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope,
             <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;targetRowType)</code></th>
<td class="colLast">
<div class="block">Checks that a query is valid.</div>
</td>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateSequenceValue(org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlIdentifier)">validateSequenceValue</a></span>&#8203;(<a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope,
                     <a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;id)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateUpdate(org.apache.calcite.sql.SqlUpdate)">validateUpdate</a></span>&#8203;(<a href="../SqlUpdate.html" title="class in org.apache.calcite.sql">SqlUpdate</a>&nbsp;update)</code></th>
<td class="colLast">
<div class="block">Validates an UPDATE statement.</div>
</td>
</tr>
<tr id="i69" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateWindow(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlCall)">validateWindow</a></span>&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;windowOrId,
              <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope,
              <a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call)</code></th>
<td class="colLast">
<div class="block">Validates the right-hand side of an OVER expression.</div>
</td>
</tr>
<tr id="i70" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateWith(org.apache.calcite.sql.SqlWith,org.apache.calcite.sql.validate.SqlValidatorScope)">validateWith</a></span>&#8203;(<a href="../SqlWith.html" title="class in org.apache.calcite.sql">SqlWith</a>&nbsp;with,
            <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i71" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateWithItem(org.apache.calcite.sql.SqlWithItem)">validateWithItem</a></span>&#8203;(<a href="../SqlWithItem.html" title="class in org.apache.calcite.sql">SqlWithItem</a>&nbsp;withItem)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="getConformance()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConformance</h4>
<pre class="methodSignature"><a href="SqlConformance.html" title="interface in org.apache.calcite.sql.validate">SqlConformance</a>&nbsp;getConformance()</pre>
<div class="block">Returns the dialect of SQL (SQL:2003, etc.) this validator recognizes.
 Default is <a href="SqlConformanceEnum.html#DEFAULT"><code>SqlConformanceEnum.DEFAULT</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>dialect of SQL this validator recognizes</dd>
</dl>
</li>
</ul>
<a id="getCatalogReader()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCatalogReader</h4>
<pre class="methodSignature"><a href="SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorCatalogReader</a>&nbsp;getCatalogReader()</pre>
<div class="block">Returns the catalog reader used by this validator.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>catalog reader</dd>
</dl>
</li>
</ul>
<a id="getOperatorTable()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOperatorTable</h4>
<pre class="methodSignature"><a href="../SqlOperatorTable.html" title="interface in org.apache.calcite.sql">SqlOperatorTable</a>&nbsp;getOperatorTable()</pre>
<div class="block">Returns the operator table used by this validator.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>operator table</dd>
</dl>
</li>
</ul>
<a id="validate(org.apache.calcite.sql.SqlNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validate</h4>
<pre class="methodSignature"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;validate&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;topNode)</pre>
<div class="block">Validates an expression tree. You can call this method multiple times,
 but not reentrantly.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topNode</code> - top of expression tree to be validated</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>validated tree (possibly rewritten)</dd>
</dl>
</li>
</ul>
<a id="validateParameterizedExpression(org.apache.calcite.sql.SqlNode,java.util.Map)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateParameterizedExpression</h4>
<pre class="methodSignature"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;validateParameterizedExpression&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;topNode,
                                        java.util.Map&lt;java.lang.String,&#8203;<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;nameToTypeMap)</pre>
<div class="block">Validates an expression tree. You can call this method multiple times,
 but not reentrantly.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topNode</code> - top of expression tree to be validated</dd>
<dd><code>nameToTypeMap</code> - map of simple name to <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type"><code>RelDataType</code></a>; used to
                      resolve <a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql"><code>SqlIdentifier</code></a> references</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>validated tree (possibly rewritten)</dd>
</dl>
</li>
</ul>
<a id="validateQuery(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.rel.type.RelDataType)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateQuery</h4>
<pre class="methodSignature">void&nbsp;validateQuery&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node,
                   <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope,
                   <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;targetRowType)</pre>
<div class="block">Checks that a query is valid.

 <p>Valid queries include:

 <ul>
 <li><code>SELECT</code> statement,
 <li>set operation (<code>UNION</code>, <code>INTERSECT</code>, <code>
 EXCEPT</code>)
 <li>identifier (e.g. representing use of a table in a FROM clause)
 <li>query aliased with the <code>AS</code> operator
 </ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - Query node</dd>
<dd><code>scope</code> - Scope in which the query occurs</dd>
<dd><code>targetRowType</code> - Desired row type, must not be null, may be the data
                      type 'unknown'.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.RuntimeException</code> - if the query is not valid</dd>
</dl>
</li>
</ul>
<a id="getValidatedNodeType(org.apache.calcite.sql.SqlNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValidatedNodeType</h4>
<pre class="methodSignature"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;getValidatedNodeType&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node)</pre>
<div class="block">Returns the type assigned to a node by validation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - the node of interest</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>validated type, never null</dd>
</dl>
</li>
</ul>
<a id="getValidatedNodeTypeIfKnown(org.apache.calcite.sql.SqlNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValidatedNodeTypeIfKnown</h4>
<pre class="methodSignature"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;getValidatedNodeTypeIfKnown&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node)</pre>
<div class="block">Returns the type assigned to a node by validation, or null if unknown.
 This allows for queries against nodes such as aliases, which have no type
 of their own. If you want to assert that the node of interest must have a
 type, use <a href="#getValidatedNodeType(org.apache.calcite.sql.SqlNode)"><code>getValidatedNodeType(org.apache.calcite.sql.SqlNode)</code></a> instead.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - the node of interest</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>validated type, or null if unknown or not applicable</dd>
</dl>
</li>
</ul>
<a id="validateIdentifier(org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.validate.SqlValidatorScope)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateIdentifier</h4>
<pre class="methodSignature">void&nbsp;validateIdentifier&#8203;(<a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;id,
                        <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope)</pre>
<div class="block">Resolves an identifier to a fully-qualified name.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - Identifier</dd>
<dd><code>scope</code> - Naming scope</dd>
</dl>
</li>
</ul>
<a id="validateLiteral(org.apache.calcite.sql.SqlLiteral)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateLiteral</h4>
<pre class="methodSignature">void&nbsp;validateLiteral&#8203;(<a href="../SqlLiteral.html" title="class in org.apache.calcite.sql">SqlLiteral</a>&nbsp;literal)</pre>
<div class="block">Validates a literal.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>literal</code> - Literal</dd>
</dl>
</li>
</ul>
<a id="validateIntervalQualifier(org.apache.calcite.sql.SqlIntervalQualifier)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateIntervalQualifier</h4>
<pre class="methodSignature">void&nbsp;validateIntervalQualifier&#8203;(<a href="../SqlIntervalQualifier.html" title="class in org.apache.calcite.sql">SqlIntervalQualifier</a>&nbsp;qualifier)</pre>
<div class="block">Validates a <a href="../SqlIntervalQualifier.html" title="class in org.apache.calcite.sql"><code>SqlIntervalQualifier</code></a></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>qualifier</code> - Interval qualifier</dd>
</dl>
</li>
</ul>
<a id="validateInsert(org.apache.calcite.sql.SqlInsert)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateInsert</h4>
<pre class="methodSignature">void&nbsp;validateInsert&#8203;(<a href="../SqlInsert.html" title="class in org.apache.calcite.sql">SqlInsert</a>&nbsp;insert)</pre>
<div class="block">Validates an INSERT statement.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>insert</code> - INSERT statement</dd>
</dl>
</li>
</ul>
<a id="validateUpdate(org.apache.calcite.sql.SqlUpdate)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateUpdate</h4>
<pre class="methodSignature">void&nbsp;validateUpdate&#8203;(<a href="../SqlUpdate.html" title="class in org.apache.calcite.sql">SqlUpdate</a>&nbsp;update)</pre>
<div class="block">Validates an UPDATE statement.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>update</code> - UPDATE statement</dd>
</dl>
</li>
</ul>
<a id="validateDelete(org.apache.calcite.sql.SqlDelete)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateDelete</h4>
<pre class="methodSignature">void&nbsp;validateDelete&#8203;(<a href="../SqlDelete.html" title="class in org.apache.calcite.sql">SqlDelete</a>&nbsp;delete)</pre>
<div class="block">Validates a DELETE statement.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>delete</code> - DELETE statement</dd>
</dl>
</li>
</ul>
<a id="validateMerge(org.apache.calcite.sql.SqlMerge)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateMerge</h4>
<pre class="methodSignature">void&nbsp;validateMerge&#8203;(<a href="../SqlMerge.html" title="class in org.apache.calcite.sql">SqlMerge</a>&nbsp;merge)</pre>
<div class="block">Validates a MERGE statement.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>merge</code> - MERGE statement</dd>
</dl>
</li>
</ul>
<a id="validateDataType(org.apache.calcite.sql.SqlDataTypeSpec)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateDataType</h4>
<pre class="methodSignature">void&nbsp;validateDataType&#8203;(<a href="../SqlDataTypeSpec.html" title="class in org.apache.calcite.sql">SqlDataTypeSpec</a>&nbsp;dataType)</pre>
<div class="block">Validates a data type expression.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dataType</code> - Data type</dd>
</dl>
</li>
</ul>
<a id="validateDynamicParam(org.apache.calcite.sql.SqlDynamicParam)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateDynamicParam</h4>
<pre class="methodSignature">void&nbsp;validateDynamicParam&#8203;(<a href="../SqlDynamicParam.html" title="class in org.apache.calcite.sql">SqlDynamicParam</a>&nbsp;dynamicParam)</pre>
<div class="block">Validates a dynamic parameter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dynamicParam</code> - Dynamic parameter</dd>
</dl>
</li>
</ul>
<a id="validateWindow(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlCall)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateWindow</h4>
<pre class="methodSignature">void&nbsp;validateWindow&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;windowOrId,
                    <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope,
                    <a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call)</pre>
<div class="block">Validates the right-hand side of an OVER expression. It might be either
 an <a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql"><code>identifier</code></a> referencing a window, or an
 <a href="../SqlWindow.html" title="class in org.apache.calcite.sql"><code>inline window specification</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>windowOrId</code> - SqlNode that can be either SqlWindow with all the
                   components of a window spec or a SqlIdentifier with the
                   name of a window spec.</dd>
<dd><code>scope</code> - Naming scope</dd>
<dd><code>call</code> - the SqlNode if a function call if the window is attached
                   to one.</dd>
</dl>
</li>
</ul>
<a id="validateMatchRecognize(org.apache.calcite.sql.SqlCall)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateMatchRecognize</h4>
<pre class="methodSignature">void&nbsp;validateMatchRecognize&#8203;(<a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;pattern)</pre>
<div class="block">Validates a MATCH_RECOGNIZE clause.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pattern</code> - MATCH_RECOGNIZE clause</dd>
</dl>
</li>
</ul>
<a id="validateCall(org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.validate.SqlValidatorScope)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateCall</h4>
<pre class="methodSignature">void&nbsp;validateCall&#8203;(<a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call,
                  <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope)</pre>
<div class="block">Validates a call to an operator.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>call</code> - Operator call</dd>
<dd><code>scope</code> - Naming scope</dd>
</dl>
</li>
</ul>
<a id="validateAggregateParams(org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.validate.SqlValidatorScope)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateAggregateParams</h4>
<pre class="methodSignature">void&nbsp;validateAggregateParams&#8203;(<a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;aggCall,
                             <a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;filter,
                             <a href="../SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a>&nbsp;orderList,
                             <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope)</pre>
<div class="block">Validates parameters for aggregate function.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>aggCall</code> - Call to aggregate function</dd>
<dd><code>filter</code> - Filter (<code>FILTER (WHERE)</code> clause), or null</dd>
<dd><code>orderList</code> - Ordering specification (<code>WITHING GROUP</code> clause),
                    or null</dd>
<dd><code>scope</code> - Syntactic scope</dd>
</dl>
</li>
</ul>
<a id="validateColumnListParams(org.apache.calcite.sql.SqlFunction,java.util.List,java.util.List)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateColumnListParams</h4>
<pre class="methodSignature">void&nbsp;validateColumnListParams&#8203;(<a href="../SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a>&nbsp;function,
                              java.util.List&lt;<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;argTypes,
                              java.util.List&lt;<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&gt;&nbsp;operands)</pre>
<div class="block">Validates a COLUMN_LIST parameter</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>function</code> - function containing COLUMN_LIST parameter</dd>
<dd><code>argTypes</code> - function arguments</dd>
<dd><code>operands</code> - operands passed into the function call</dd>
</dl>
</li>
</ul>
<a id="makeNullaryCall(org.apache.calcite.sql.SqlIdentifier)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>makeNullaryCall</h4>
<pre class="methodSignature">@Nullable
<a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;makeNullaryCall&#8203;(<a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;id)</pre>
<div class="block">If an identifier is a legitimate call to a function that has no
 arguments and requires no parentheses (for example "CURRENT_USER"),
 returns a call to that function, otherwise returns null.</div>
</li>
</ul>
<a id="deriveType(org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deriveType</h4>
<pre class="methodSignature"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;deriveType&#8203;(<a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope,
                       <a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;operand)</pre>
<div class="block">Derives the type of a node in a given scope. If the type has already been
 inferred, returns the previous type.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>scope</code> - Syntactic scope</dd>
<dd><code>operand</code> - Parse tree node</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Type of the SqlNode. Should never return <code>NULL</code></dd>
</dl>
</li>
</ul>
<a id="newValidationError(org.apache.calcite.sql.SqlNode,org.apache.calcite.runtime.Resources.ExInst)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newValidationError</h4>
<pre class="methodSignature"><a href="../../runtime/CalciteContextException.html" title="class in org.apache.calcite.runtime">CalciteContextException</a>&nbsp;newValidationError&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node,
                                           <a href="../../runtime/Resources.ExInst.html" title="class in org.apache.calcite.runtime">Resources.ExInst</a>&lt;<a href="SqlValidatorException.html" title="class in org.apache.calcite.sql.validate">SqlValidatorException</a>&gt;&nbsp;e)</pre>
<div class="block">Adds "line x, column y" context to a validator exception.

 <p>Note that the input exception is checked (it derives from
 <code>Exception</code>) and the output exception is unchecked (it derives from
 <code>RuntimeException</code>). This is intentional -- it should remind code
 authors to provide context for their validation errors.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - The place where the exception occurred, not null</dd>
<dd><code>e</code> - The validation error</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Exception containing positional information, never null</dd>
</dl>
</li>
</ul>
<a id="isAggregate(org.apache.calcite.sql.SqlSelect)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAggregate</h4>
<pre class="methodSignature">boolean&nbsp;isAggregate&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select)</pre>
<div class="block">Returns whether a SELECT statement is an aggregation. Criteria are: (1)
 contains GROUP BY, or (2) contains HAVING, or (3) SELECT or ORDER BY
 clause contains aggregate functions. (Windowed aggregate functions, such
 as <code>SUM(x) OVER w</code>, don't count.)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>select</code> - SELECT statement</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether SELECT statement is an aggregation</dd>
</dl>
</li>
</ul>
<a id="isAggregate(org.apache.calcite.sql.SqlNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAggregate</h4>
<pre class="methodSignature">@Deprecated
boolean&nbsp;isAggregate&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;selectNode)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns whether a select list expression is an aggregate function.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>selectNode</code> - Expression in SELECT clause</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether expression is an aggregate function</dd>
</dl>
</li>
</ul>
<a id="resolveWindow(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope,boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resolveWindow</h4>
<pre class="methodSignature"><a href="../SqlWindow.html" title="class in org.apache.calcite.sql">SqlWindow</a>&nbsp;resolveWindow&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;windowOrRef,
                        <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope,
                        boolean&nbsp;populateBounds)</pre>
<div class="block">Converts a window specification or window name into a fully-resolved
 window specification. For example, in <code>SELECT sum(x) OVER (PARTITION
 BY x ORDER BY y), sum(y) OVER w1, sum(z) OVER (w ORDER BY y) FROM t
 WINDOW w AS (PARTITION BY x)</code> all aggregations have the same
 resolved window specification <code>(PARTITION BY x ORDER BY y)</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>windowOrRef</code> - Either the name of a window (a <a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql"><code>SqlIdentifier</code></a>)
                       or a window specification (a <a href="../SqlWindow.html" title="class in org.apache.calcite.sql"><code>SqlWindow</code></a>).</dd>
<dd><code>scope</code> - Scope in which to resolve window names</dd>
<dd><code>populateBounds</code> - Whether to populate bounds. Doing so may alter the
                       definition of the window. It is recommended that
                       populate bounds when translating to physical algebra,
                       but not when validating.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A window</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.RuntimeException</code> - Validation exception if window does not exist</dd>
</dl>
</li>
</ul>
<a id="getNamespace(org.apache.calcite.sql.SqlNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNamespace</h4>
<pre class="methodSignature"><a href="SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorNamespace</a>&nbsp;getNamespace&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node)</pre>
<div class="block">Finds the namespace corresponding to a given node.

 <p>For example, in the query <code>SELECT * FROM (SELECT * FROM t), t1 AS
 alias</code>, the both items in the FROM clause have a corresponding
 namespace.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - Parse tree node</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>namespace of node</dd>
</dl>
</li>
</ul>
<a id="deriveAlias(org.apache.calcite.sql.SqlNode,int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deriveAlias</h4>
<pre class="methodSignature">java.lang.String&nbsp;deriveAlias&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node,
                             int&nbsp;ordinal)</pre>
<div class="block">Derives an alias for an expression. If no alias can be derived, returns
 null if <code>ordinal</code> is less than zero, otherwise generates an
 alias <code>EXPR$<i>ordinal</i></code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - Expression</dd>
<dd><code>ordinal</code> - Ordinal of expression</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>derived alias, or null if no alias can be derived and ordinal is
 less than zero</dd>
</dl>
</li>
</ul>
<a id="expandStar(org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.SqlSelect,boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>expandStar</h4>
<pre class="methodSignature"><a href="../SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a>&nbsp;expandStar&#8203;(<a href="../SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a>&nbsp;selectList,
                       <a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;query,
                       boolean&nbsp;includeSystemVars)</pre>
<div class="block">Returns a list of expressions, with every occurrence of "&#42;" or
 "TABLE.&#42;" expanded.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>selectList</code> - Select clause to be expanded</dd>
<dd><code>query</code> - Query</dd>
<dd><code>includeSystemVars</code> - Whether to include system variables</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>expanded select clause</dd>
</dl>
</li>
</ul>
<a id="getWhereScope(org.apache.calcite.sql.SqlSelect)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWhereScope</h4>
<pre class="methodSignature"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;getWhereScope&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select)</pre>
<div class="block">Returns the scope that expressions in the WHERE and GROUP BY clause of
 this query should use. This scope consists of the tables in the FROM
 clause, and the enclosing scope.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>select</code> - Query</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>naming scope of WHERE clause</dd>
</dl>
</li>
</ul>
<a id="getTypeFactory()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTypeFactory</h4>
<pre class="methodSignature"><a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a>&nbsp;getTypeFactory()</pre>
<div class="block">Returns the type factory used by this validator.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>type factory</dd>
</dl>
</li>
</ul>
<a id="setValidatedNodeType(org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.type.RelDataType)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setValidatedNodeType</h4>
<pre class="methodSignature">void&nbsp;setValidatedNodeType&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node,
                          <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">This method should not be in the <a href="SqlValidator.html" title="interface in org.apache.calcite.sql.validate"><code>SqlValidator</code></a>
 interface. The validator should drive the type-derivation process, and
 store nodes' types when they have been derived.</div>
</div>
<div class="block">Saves the type of a <a href="../SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a>, now that it has been validated.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - A SQL parse tree node, never null</dd>
<dd><code>type</code> - Its type; must not be null</dd>
</dl>
</li>
</ul>
<a id="removeValidatedNodeType(org.apache.calcite.sql.SqlNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeValidatedNodeType</h4>
<pre class="methodSignature">void&nbsp;removeValidatedNodeType&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node)</pre>
<div class="block">Removes a node from the set of validated nodes</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - node to be removed</dd>
</dl>
</li>
</ul>
<a id="getUnknownType()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUnknownType</h4>
<pre class="methodSignature"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;getUnknownType()</pre>
<div class="block">Returns an object representing the "unknown" type.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>unknown type</dd>
</dl>
</li>
</ul>
<a id="getSelectScope(org.apache.calcite.sql.SqlSelect)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSelectScope</h4>
<pre class="methodSignature"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;getSelectScope&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select)</pre>
<div class="block">Returns the appropriate scope for validating a particular clause of a
 SELECT statement.

 <p>Consider</p>

 <blockquote><pre><code>SELECT *
 FROM foo
 WHERE EXISTS (
    SELECT deptno AS x
    FROM emp
       JOIN dept ON emp.deptno = dept.deptno
    WHERE emp.deptno = 5
    GROUP BY deptno
    ORDER BY x)</code></pre></blockquote>

 <p>What objects can be seen in each part of the sub-query?</p>

 <ul>
 <li>In FROM (<a href="#getFromScope(org.apache.calcite.sql.SqlSelect)"><code>getFromScope(org.apache.calcite.sql.SqlSelect)</code></a> , you can only see 'foo'.

 <li>In WHERE (<a href="#getWhereScope(org.apache.calcite.sql.SqlSelect)"><code>getWhereScope(org.apache.calcite.sql.SqlSelect)</code></a>), GROUP BY (<a href="#getGroupScope(org.apache.calcite.sql.SqlSelect)"><code>getGroupScope(org.apache.calcite.sql.SqlSelect)</code></a>),
 SELECT (<code>getSelectScope</code>), and the ON clause of the JOIN
 (<a href="#getJoinScope(org.apache.calcite.sql.SqlNode)"><code>getJoinScope(org.apache.calcite.sql.SqlNode)</code></a>) you can see 'emp', 'dept', and 'foo'.

 <li>In ORDER BY (<a href="#getOrderScope(org.apache.calcite.sql.SqlSelect)"><code>getOrderScope(org.apache.calcite.sql.SqlSelect)</code></a>), you can see the column alias 'x';
 and tables 'emp', 'dept', and 'foo'.

 </ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>select</code> - SELECT statement</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>naming scope for SELECT statement</dd>
</dl>
</li>
</ul>
<a id="getRawSelectScope(org.apache.calcite.sql.SqlSelect)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRawSelectScope</h4>
<pre class="methodSignature"><a href="SelectScope.html" title="class in org.apache.calcite.sql.validate">SelectScope</a>&nbsp;getRawSelectScope&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select)</pre>
<div class="block">Returns the scope for resolving the SELECT, GROUP BY and HAVING clauses.
 Always a <a href="SelectScope.html" title="class in org.apache.calcite.sql.validate"><code>SelectScope</code></a>; if this is an aggregation query, the
 <a href="AggregatingScope.html" title="interface in org.apache.calcite.sql.validate"><code>AggregatingScope</code></a> is stripped away.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>select</code> - SELECT statement</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>naming scope for SELECT statement, sans any aggregating scope</dd>
</dl>
</li>
</ul>
<a id="getFromScope(org.apache.calcite.sql.SqlSelect)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFromScope</h4>
<pre class="methodSignature"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;getFromScope&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select)</pre>
<div class="block">Returns a scope containing the objects visible from the FROM clause of a
 query.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>select</code> - SELECT statement</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>naming scope for FROM clause</dd>
</dl>
</li>
</ul>
<a id="getJoinScope(org.apache.calcite.sql.SqlNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJoinScope</h4>
<pre class="methodSignature"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;getJoinScope&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node)</pre>
<div class="block">Returns a scope containing the objects visible from the ON and USING
 sections of a JOIN clause.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - The item in the FROM clause which contains the ON or USING
             expression</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>naming scope for JOIN clause</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getFromScope(org.apache.calcite.sql.SqlSelect)"><code>getFromScope(org.apache.calcite.sql.SqlSelect)</code></a></dd>
</dl>
</li>
</ul>
<a id="getGroupScope(org.apache.calcite.sql.SqlSelect)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGroupScope</h4>
<pre class="methodSignature"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;getGroupScope&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select)</pre>
<div class="block">Returns a scope containing the objects visible from the GROUP BY clause
 of a query.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>select</code> - SELECT statement</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>naming scope for GROUP BY clause</dd>
</dl>
</li>
</ul>
<a id="getHavingScope(org.apache.calcite.sql.SqlSelect)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHavingScope</h4>
<pre class="methodSignature"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;getHavingScope&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select)</pre>
<div class="block">Returns a scope containing the objects visible from the HAVING clause of
 a query.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>select</code> - SELECT statement</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>naming scope for HAVING clause</dd>
</dl>
</li>
</ul>
<a id="getOrderScope(org.apache.calcite.sql.SqlSelect)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOrderScope</h4>
<pre class="methodSignature"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;getOrderScope&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select)</pre>
<div class="block">Returns the scope that expressions in the SELECT and HAVING clause of
 this query should use. This scope consists of the FROM clause and the
 enclosing scope. If the query is aggregating, only columns in the GROUP
 BY clause may be used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>select</code> - SELECT statement</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>naming scope for ORDER BY clause</dd>
</dl>
</li>
</ul>
<a id="getMatchRecognizeScope(org.apache.calcite.sql.SqlMatchRecognize)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMatchRecognizeScope</h4>
<pre class="methodSignature"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;getMatchRecognizeScope&#8203;(<a href="../SqlMatchRecognize.html" title="class in org.apache.calcite.sql">SqlMatchRecognize</a>&nbsp;node)</pre>
<div class="block">Returns a scope match recognize clause.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - Match recognize</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>naming scope for Match recognize clause</dd>
</dl>
</li>
</ul>
<a id="declareCursor(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.validate.SqlValidatorScope)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>declareCursor</h4>
<pre class="methodSignature">void&nbsp;declareCursor&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select,
                   <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope)</pre>
<div class="block">Declares a SELECT expression as a cursor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>select</code> - select expression associated with the cursor</dd>
<dd><code>scope</code> - scope of the parent query associated with the cursor</dd>
</dl>
</li>
</ul>
<a id="pushFunctionCall()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pushFunctionCall</h4>
<pre class="methodSignature">void&nbsp;pushFunctionCall()</pre>
<div class="block">Pushes a new instance of a function call on to a function call stack.</div>
</li>
</ul>
<a id="popFunctionCall()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>popFunctionCall</h4>
<pre class="methodSignature">void&nbsp;popFunctionCall()</pre>
<div class="block">Removes the topmost entry from the function call stack.</div>
</li>
</ul>
<a id="getParentCursor(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParentCursor</h4>
<pre class="methodSignature">java.lang.String&nbsp;getParentCursor&#8203;(java.lang.String&nbsp;columnListParamName)</pre>
<div class="block">Retrieves the name of the parent cursor referenced by a column list
 parameter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>columnListParamName</code> - name of the column list parameter</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>name of the parent cursor</dd>
</dl>
</li>
</ul>
<a id="setIdentifierExpansion(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIdentifierExpansion</h4>
<pre class="methodSignature">void&nbsp;setIdentifierExpansion&#8203;(boolean&nbsp;expandIdentifiers)</pre>
<div class="block">Enables or disables expansion of identifiers other than column
 references.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expandIdentifiers</code> - new setting</dd>
</dl>
</li>
</ul>
<a id="setColumnReferenceExpansion(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setColumnReferenceExpansion</h4>
<pre class="methodSignature">void&nbsp;setColumnReferenceExpansion&#8203;(boolean&nbsp;expandColumnReferences)</pre>
<div class="block">Enables or disables expansion of column references. (Currently this does
 not apply to the ORDER BY clause; may be fixed in the future.)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expandColumnReferences</code> - new setting</dd>
</dl>
</li>
</ul>
<a id="getColumnReferenceExpansion()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColumnReferenceExpansion</h4>
<pre class="methodSignature">boolean&nbsp;getColumnReferenceExpansion()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether column reference expansion is enabled</dd>
</dl>
</li>
</ul>
<a id="setDefaultNullCollation(org.apache.calcite.config.NullCollation)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDefaultNullCollation</h4>
<pre class="methodSignature">void&nbsp;setDefaultNullCollation&#8203;(<a href="../../config/NullCollation.html" title="enum in org.apache.calcite.config">NullCollation</a>&nbsp;nullCollation)</pre>
<div class="block">Sets how NULL values should be collated if an ORDER BY item does not
 contain NULLS FIRST or NULLS LAST.</div>
</li>
</ul>
<a id="getDefaultNullCollation()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultNullCollation</h4>
<pre class="methodSignature"><a href="../../config/NullCollation.html" title="enum in org.apache.calcite.config">NullCollation</a>&nbsp;getDefaultNullCollation()</pre>
<div class="block">Returns how NULL values should be collated if an ORDER BY item does not
 contain NULLS FIRST or NULLS LAST.</div>
</li>
</ul>
<a id="shouldExpandIdentifiers()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldExpandIdentifiers</h4>
<pre class="methodSignature">boolean&nbsp;shouldExpandIdentifiers()</pre>
<div class="block">Returns expansion of identifiers.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether this validator should expand identifiers</dd>
</dl>
</li>
</ul>
<a id="setCallRewrite(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCallRewrite</h4>
<pre class="methodSignature">void&nbsp;setCallRewrite&#8203;(boolean&nbsp;rewriteCalls)</pre>
<div class="block">Enables or disables rewrite of "macro-like" calls such as COALESCE.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rewriteCalls</code> - new setting</dd>
</dl>
</li>
</ul>
<a id="deriveConstructorType(org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.SqlFunction,org.apache.calcite.sql.SqlFunction,java.util.List)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deriveConstructorType</h4>
<pre class="methodSignature"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;deriveConstructorType&#8203;(<a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope,
                                  <a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call,
                                  <a href="../SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a>&nbsp;unresolvedConstructor,
                                  <a href="../SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a>&nbsp;resolvedConstructor,
                                  java.util.List&lt;<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;argTypes)</pre>
<div class="block">Derives the type of a constructor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>scope</code> - Scope</dd>
<dd><code>call</code> - Call</dd>
<dd><code>unresolvedConstructor</code> - TODO</dd>
<dd><code>resolvedConstructor</code> - TODO</dd>
<dd><code>argTypes</code> - Types of arguments</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Resolved type of constructor</dd>
</dl>
</li>
</ul>
<a id="handleUnresolvedFunction(org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.SqlFunction,java.util.List,java.util.List)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleUnresolvedFunction</h4>
<pre class="methodSignature"><a href="../../runtime/CalciteException.html" title="class in org.apache.calcite.runtime">CalciteException</a>&nbsp;handleUnresolvedFunction&#8203;(<a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call,
                                          <a href="../SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a>&nbsp;unresolvedFunction,
                                          java.util.List&lt;<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;argTypes,
                                          java.util.List&lt;java.lang.String&gt;&nbsp;argNames)</pre>
<div class="block">Handles a call to a function which cannot be resolved. Returns a an
 appropriately descriptive error, which caller must throw.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>call</code> - Call</dd>
<dd><code>unresolvedFunction</code> - Overloaded function which is the target of the
                           call</dd>
<dd><code>argTypes</code> - Types of arguments</dd>
<dd><code>argNames</code> - Names of arguments, or null if call by position</dd>
</dl>
</li>
</ul>
<a id="expandOrderExpr(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.SqlNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>expandOrderExpr</h4>
<pre class="methodSignature"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;expandOrderExpr&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select,
                        <a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;orderExpr)</pre>
<div class="block">Expands an expression in the ORDER BY clause into an expression with the
 same semantics as expressions in the SELECT clause.

 <p>This is made necessary by a couple of dialect 'features':

 <ul>
 <li><b>ordinal expressions</b>: In "SELECT x, y FROM t ORDER BY 2", the
 expression "2" is shorthand for the 2nd item in the select clause, namely
 "y".
 <li><b>alias references</b>: In "SELECT x AS a, y FROM t ORDER BY a", the
 expression "a" is shorthand for the item in the select clause whose alias
 is "a"
 </ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>select</code> - Select statement which contains ORDER BY</dd>
<dd><code>orderExpr</code> - Expression in the ORDER BY clause.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Expression translated into SELECT clause semantics</dd>
</dl>
</li>
</ul>
<a id="expand(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>expand</h4>
<pre class="methodSignature"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;expand&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;expr,
               <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope)</pre>
<div class="block">Expands an expression.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expr</code> - Expression</dd>
<dd><code>scope</code> - Scope</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Expanded expression</dd>
</dl>
</li>
</ul>
<a id="isSystemField(org.apache.calcite.rel.type.RelDataTypeField)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSystemField</h4>
<pre class="methodSignature">boolean&nbsp;isSystemField&#8203;(<a href="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&nbsp;field)</pre>
<div class="block">Returns whether a field is a system field. Such fields may have
 particular properties such as sortedness and nullability.

 <p>In the default implementation, always returns <code>false</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>field</code> - Field</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether field is a system field</dd>
</dl>
</li>
</ul>
<a id="getFieldOrigins(org.apache.calcite.sql.SqlNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFieldOrigins</h4>
<pre class="methodSignature">java.util.List&lt;java.util.List&lt;java.lang.String&gt;&gt;&nbsp;getFieldOrigins&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;sqlQuery)</pre>
<div class="block">Returns a description of how each field in the row type maps to a
 catalog, schema, table and column in the schema.

 <p>The returned list is never null, and has one element for each field
 in the row type. Each element is a list of four elements (catalog,
 schema, table, column), or may be null if the column is an expression.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sqlQuery</code> - Query</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Description of how each field in the row type maps to a schema
 object</dd>
</dl>
</li>
</ul>
<a id="getParameterRowType(org.apache.calcite.sql.SqlNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParameterRowType</h4>
<pre class="methodSignature"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;getParameterRowType&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;sqlQuery)</pre>
<div class="block">Returns a record type that contains the name and type of each parameter.
 Returns a record type with no fields if there are no parameters.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sqlQuery</code> - Query</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Record type</dd>
</dl>
</li>
</ul>
<a id="getOverScope(org.apache.calcite.sql.SqlNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOverScope</h4>
<pre class="methodSignature"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;getOverScope&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node)</pre>
<div class="block">Returns the scope of an OVER or VALUES node.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - Node</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Scope</dd>
</dl>
</li>
</ul>
<a id="validateModality(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.validate.SqlModality,boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateModality</h4>
<pre class="methodSignature">boolean&nbsp;validateModality&#8203;(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select,
                         <a href="SqlModality.html" title="enum in org.apache.calcite.sql.validate">SqlModality</a>&nbsp;modality,
                         boolean&nbsp;fail)</pre>
<div class="block">Validates that a query is capable of producing a return of given modality
 (relational or streaming).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>select</code> - Query</dd>
<dd><code>modality</code> - Modality (streaming or relational)</dd>
<dd><code>fail</code> - Whether to throw a user error if does not support required
             modality</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether query supports the given modality</dd>
</dl>
</li>
</ul>
<a id="validateWith(org.apache.calcite.sql.SqlWith,org.apache.calcite.sql.validate.SqlValidatorScope)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateWith</h4>
<pre class="methodSignature">void&nbsp;validateWith&#8203;(<a href="../SqlWith.html" title="class in org.apache.calcite.sql">SqlWith</a>&nbsp;with,
                  <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope)</pre>
</li>
</ul>
<a id="validateWithItem(org.apache.calcite.sql.SqlWithItem)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateWithItem</h4>
<pre class="methodSignature">void&nbsp;validateWithItem&#8203;(<a href="../SqlWithItem.html" title="class in org.apache.calcite.sql">SqlWithItem</a>&nbsp;withItem)</pre>
</li>
</ul>
<a id="validateSequenceValue(org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlIdentifier)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateSequenceValue</h4>
<pre class="methodSignature">void&nbsp;validateSequenceValue&#8203;(<a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope,
                           <a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;id)</pre>
</li>
</ul>
<a id="getWithScope(org.apache.calcite.sql.SqlNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWithScope</h4>
<pre class="methodSignature"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;getWithScope&#8203;(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;withItem)</pre>
</li>
</ul>
<a id="setEnableTypeCoercion(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEnableTypeCoercion</h4>
<pre class="methodSignature"><a href="SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a>&nbsp;setEnableTypeCoercion&#8203;(boolean&nbsp;enabled)</pre>
<div class="block">Set if implicit type coercion is allowed when the validator does validation.
 See <a href="implicit/TypeCoercionImpl.html" title="class in org.apache.calcite.sql.validate.implicit"><code>TypeCoercionImpl</code></a> for the details.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>enabled</code> - default as true.</dd>
</dl>
</li>
</ul>
<a id="isTypeCoercionEnabled()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTypeCoercionEnabled</h4>
<pre class="methodSignature">boolean&nbsp;isTypeCoercionEnabled()</pre>
<div class="block">Get if this validator supports implicit type coercion.</div>
</li>
</ul>
<a id="setTypeCoercion(org.apache.calcite.sql.validate.implicit.TypeCoercion)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTypeCoercion</h4>
<pre class="methodSignature">void&nbsp;setTypeCoercion&#8203;(<a href="implicit/TypeCoercion.html" title="interface in org.apache.calcite.sql.validate.implicit">TypeCoercion</a>&nbsp;typeCoercion)</pre>
<div class="block">Set an instance of type coercion, you can customize the coercion rules to
 override the default ones
 in <a href="implicit/TypeCoercionImpl.html" title="class in org.apache.calcite.sql.validate.implicit"><code>TypeCoercionImpl</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>typeCoercion</code> - instance of <a href="implicit/TypeCoercion.html" title="interface in org.apache.calcite.sql.validate.implicit"><code>TypeCoercion</code></a>.</dd>
</dl>
</li>
</ul>
<a id="getTypeCoercion()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getTypeCoercion</h4>
<pre class="methodSignature"><a href="implicit/TypeCoercion.html" title="interface in org.apache.calcite.sql.validate.implicit">TypeCoercion</a>&nbsp;getTypeCoercion()</pre>
<div class="block">Get the type coercion instance.</div>
</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/SqlValidator.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>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<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>
