blob: 8b71daa367f3eb102e79f682700567818208b389 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SqlValidatorImpl (Apache Calcite calcite API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SqlValidatorImpl (Apache Calcite calcite API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":10,"i119":10,"i120":10};
var tabs = {65535:["t0","所有方法"],2:["t2","实例方法"],8:["t4","具体方法"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>您的浏览器已禁用 JavaScript。</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="跳过导航链接">跳过导航链接</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="导航">
<li><a href="../../../../../overview-summary.html">概览</a></li>
<li><a href="package-summary.html">程序包</a></li>
<li class="navBarCell1Rev"></li>
<li><a href="package-tree.html"></a></li>
<li><a href="../../../../../deprecated-list.html">已过时</a></li>
<li><a href="../../../../../index-all.html">索引</a></li>
<li><a href="../../../../../help-doc.html">帮助</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorException.html" title="org.apache.calcite.sql.validate中的类"><span class="typeNameLink">上一个类</span></a></li>
<li><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.DmlNamespace.html" title="org.apache.calcite.sql.validate中的类"><span class="typeNameLink">下一个类</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/calcite/sql/validate/SqlValidatorImpl.html" target="_top">框架</a></li>
<li><a href="SqlValidatorImpl.html" target="_top">无框架</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">所有类</a></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>
</div>
<div>
<ul class="subNavList">
<li>概要:&nbsp;</li>
<li><a href="#nested.class.summary">嵌套</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">字段</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">构造器</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">方法</a></li>
</ul>
<ul class="subNavList">
<li>详细资料:&nbsp;</li>
<li><a href="#field.detail">字段</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">构造器</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">方法</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.calcite.sql.validate</div>
<h2 title="类 SqlValidatorImpl" class="title">类 SqlValidatorImpl</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="java.lang中的类或接口">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.sql.validate.SqlValidatorImpl</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>所有已实现的接口:</dt>
<dd><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a>, <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorWithHints.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorWithHints</a></dd>
</dl>
<dl>
<dt>直接已知子类:</dt>
<dd><a href="../../../../../org/apache/calcite/jdbc/ContextSqlValidator.html" title="org.apache.calcite.jdbc中的类">ContextSqlValidator</a>, <a href="../../../../../org/apache/calcite/sql/advise/SqlAdvisorValidator.html" title="org.apache.calcite.sql.advise中的类">SqlAdvisorValidator</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">SqlValidatorImpl</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="java.lang中的类或接口">Object</a>
implements <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorWithHints.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorWithHints</a></pre>
<div class="block">Default implementation of <a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口"><code>SqlValidator</code></a>.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>嵌套类概要</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="嵌套类概要表, 列表嵌套类和解释">
<caption><span>嵌套类</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">限定符和类型</th>
<th class="colLast" scope="col">类和说明</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.DmlNamespace.html" title="org.apache.calcite.sql.validate中的类">SqlValidatorImpl.DmlNamespace</a></span></code>
<div class="block">Common base class for DML statement namespaces.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.FunctionParamInfo.html" title="org.apache.calcite.sql.validate中的类">SqlValidatorImpl.FunctionParamInfo</a></span></code>
<div class="block">Utility object used to maintain information about the parameters in a
function call.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.IdInfo.html" title="org.apache.calcite.sql.validate中的类">SqlValidatorImpl.IdInfo</a></span></code>
<div class="block">Information about an identifier in a particular scope.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.Status.html" title="org.apache.calcite.sql.validate中的枚举">SqlValidatorImpl.Status</a></span></code>
<div class="block">Validation status.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>字段概要</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="字段概要表, 列表字段和解释">
<caption><span>字段</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">限定符和类型</th>
<th class="colLast" scope="col">字段和说明</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#expandColumnReferences">expandColumnReferences</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#expandIdentifiers">expandIdentifiers</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html?is-external=true" title="java.util中的类或接口">Deque</a>&lt;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.FunctionParamInfo.html" title="org.apache.calcite.sql.validate中的类">SqlValidatorImpl.FunctionParamInfo</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#functionCallStack">functionCallStack</a></span></code>
<div class="block">Stack of objects that maintain information about function calls.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="java.util中的类或接口">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>,<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.IdInfo.html" title="org.apache.calcite.sql.validate中的类">SqlValidatorImpl.IdInfo</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#idPositions">idPositions</a></span></code>
<div class="block">Maps ParsePosition strings to the <a href="../../../../../org/apache/calcite/sql/SqlIdentifier.html" title="org.apache.calcite.sql中的类"><code>SqlIdentifier</code></a> identifier
objects at these positions</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#lenientOperatorLookup">lenientOperatorLookup</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="java.util中的类或接口">Map</a>&lt;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>,<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorNamespace.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorNamespace</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#namespaces">namespaces</a></span></code>
<div class="block">Maps a <a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类"><code>node</code></a> to the
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorNamespace.html" title="org.apache.calcite.sql.validate中的接口"><code>namespace</code></a> which describes what columns they
contain.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="java.util中的类或接口">Map</a>&lt;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>,<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#scopes">scopes</a></span></code>
<div class="block">Maps <a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类"><code>query node</code></a> objects to the <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口"><code>SqlValidatorScope</code></a>
scope created from them.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#TRACER">TRACER</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#typeFactory">typeFactory</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#unknownType">unknownType</a></span></code>
<div class="block">The type of dynamic parameters until a type is imposed on them.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#UPDATE_ANON_PREFIX">UPDATE_ANON_PREFIX</a></span></code>
<div class="block">Alias prefix generated for source columns when rewriting UPDATE to MERGE.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#UPDATE_SRC_ALIAS">UPDATE_SRC_ALIAS</a></span></code>
<div class="block">Alias generated for the source table when rewriting UPDATE to MERGE.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#UPDATE_TGT_ALIAS">UPDATE_TGT_ALIAS</a></span></code>
<div class="block">Alias generated for the target table when rewriting UPDATE to MERGE if no
alias was specified by the user.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>构造器概要</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="构造器概要表, 列表构造器和解释">
<caption><span>构造器</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">限定符</th>
<th class="colLast" scope="col">构造器和说明</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#SqlValidatorImpl-org.apache.calcite.sql.SqlOperatorTable-org.apache.calcite.sql.validate.SqlValidatorCatalogReader-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.sql.validate.SqlConformance-">SqlValidatorImpl</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlOperatorTable.html" title="org.apache.calcite.sql中的接口">SqlOperatorTable</a>&nbsp;opTab,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorCatalogReader.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorCatalogReader</a>&nbsp;catalogReader,
<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../../../../../org/apache/calcite/sql/validate/SqlConformance.html" title="org.apache.calcite.sql.validate中的接口">SqlConformance</a>&nbsp;conformance)</code>
<div class="block">Creates a validator.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>方法概要</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="方法概要表, 列表方法和解释">
<caption><span id="t0" class="activeTableTab"><span>所有方法</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">实例方法</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">具体方法</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">限定符和类型</th>
<th class="colLast" scope="col">方法和说明</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#addToSelectList-java.util.List-java.util.Set-java.util.List-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SelectScope-boolean-">addToSelectList</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&gt;&nbsp;list,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&gt;&nbsp;aliases,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="java.util中的类或接口">Map.Entry</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>,<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&gt;&nbsp;fieldList,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;exp,
<a href="../../../../../org/apache/calcite/sql/validate/SelectScope.html" title="org.apache.calcite.sql.validate中的类">SelectScope</a>&nbsp;scope,
boolean&nbsp;includeSystemVars)</code>
<div class="block">Adds an expression to a select list, ensuring that its alias does not
clash with any existing expressions on the list.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#checkTypeAssignment-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.sql.validate.SqlValidatorTable-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.sql.SqlNode-">checkTypeAssignment</a></span>(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;sourceScope,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorTable.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorTable</a>&nbsp;table,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;sourceRowType,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;query)</code>
<div class="block">Checks the type assignment of an INSERT or UPDATE query.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/calcite/sql/validate/MatchRecognizeNamespace.html" title="org.apache.calcite.sql.validate中的类">MatchRecognizeNamespace</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#createMatchRecognizeNameSpace-org.apache.calcite.sql.SqlMatchRecognize-org.apache.calcite.sql.SqlNode-">createMatchRecognizeNameSpace</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlMatchRecognize.html" title="org.apache.calcite.sql中的类">SqlMatchRecognize</a>&nbsp;call,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;enclosingNode)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/calcite/sql/validate/SelectNamespace.html" title="org.apache.calcite.sql.validate中的类">SelectNamespace</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#createSelectNamespace-org.apache.calcite.sql.SqlSelect-org.apache.calcite.sql.SqlNode-">createSelectNamespace</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;enclosingNode)</code>
<div class="block">Creates a namespace for a <code>SELECT</code> node.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/calcite/sql/validate/SetopNamespace.html" title="org.apache.calcite.sql.validate中的类">SetopNamespace</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#createSetopNamespace-org.apache.calcite.sql.SqlCall-org.apache.calcite.sql.SqlNode-">createSetopNamespace</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;enclosingNode)</code>
<div class="block">Creates a namespace for a set operation (<code>UNION</code>, <code>
INTERSECT</code>, or <code>EXCEPT</code>).</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#createSourceSelectForDelete-org.apache.calcite.sql.SqlDelete-">createSourceSelectForDelete</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlDelete.html" title="org.apache.calcite.sql中的类">SqlDelete</a>&nbsp;call)</code>
<div class="block">Creates the SELECT statement that putatively feeds rows into a DELETE
statement to be deleted.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#createSourceSelectForUpdate-org.apache.calcite.sql.SqlUpdate-">createSourceSelectForUpdate</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlUpdate.html" title="org.apache.calcite.sql中的类">SqlUpdate</a>&nbsp;call)</code>
<div class="block">Creates the SELECT statement that putatively feeds rows into an UPDATE
statement to be updated.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#createTargetRowType-org.apache.calcite.sql.validate.SqlValidatorTable-org.apache.calcite.sql.SqlNodeList-boolean-">createTargetRowType</a></span>(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorTable.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorTable</a>&nbsp;table,
<a href="../../../../../org/apache/calcite/sql/SqlNodeList.html" title="org.apache.calcite.sql中的类">SqlNodeList</a>&nbsp;targetColumnList,
boolean&nbsp;append)</code>
<div class="block">Derives a row-type for INSERT and UPDATE operations.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#declareCursor-org.apache.calcite.sql.SqlSelect-org.apache.calcite.sql.validate.SqlValidatorScope-">declareCursor</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;parentScope)</code>
<div class="block">Declares a SELECT expression as a cursor.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#deriveAlias-org.apache.calcite.sql.SqlNode-int-">deriveAlias</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node,
int&nbsp;ordinal)</code>
<div class="block">Derives an alias for an expression.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#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>(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call,
<a href="../../../../../org/apache/calcite/sql/SqlFunction.html" title="org.apache.calcite.sql中的类">SqlFunction</a>&nbsp;unresolvedConstructor,
<a href="../../../../../org/apache/calcite/sql/SqlFunction.html" title="org.apache.calcite.sql中的类">SqlFunction</a>&nbsp;resolvedConstructor,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&nbsp;argTypes)</code>
<div class="block">Derives the type of a constructor.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#deriveType-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.sql.SqlNode-">deriveType</a></span>(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;expr)</code>
<div class="block">Derives the type of a node in a given scope.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#expand-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SqlValidatorScope-">expand</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;expr,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope)</code>
<div class="block">Expands an expression.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#expandGroupByOrHavingExpr-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.sql.SqlSelect-boolean-">expandGroupByOrHavingExpr</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;expr,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
boolean&nbsp;havingExpression)</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#expandOrderExpr-org.apache.calcite.sql.SqlSelect-org.apache.calcite.sql.SqlNode-">expandOrderExpr</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;orderExpr)</code>
<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="i15" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#expandSelectExpr-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SelectScope-org.apache.calcite.sql.SqlSelect-">expandSelectExpr</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;expr,
<a href="../../../../../org/apache/calcite/sql/validate/SelectScope.html" title="org.apache.calcite.sql.validate中的类">SelectScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/SqlNodeList.html" title="org.apache.calcite.sql中的类">SqlNodeList</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#expandStar-org.apache.calcite.sql.SqlNodeList-org.apache.calcite.sql.SqlSelect-boolean-">expandStar</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNodeList.html" title="org.apache.calcite.sql中的类">SqlNodeList</a>&nbsp;selectList,
<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
boolean&nbsp;includeSystemVars)</code>
<div class="block">Returns a list of expressions, with every occurrence of "&#42;" or
"TABLE.&#42;" expanded.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getAggregate-org.apache.calcite.sql.SqlSelect-">getAggregate</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</code>
<div class="block">Returns the parse tree node (GROUP BY, HAVING, or an aggregate function
call) that causes <code>select</code> to be an aggregate query, or null if it
is not an aggregate query.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorCatalogReader.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorCatalogReader</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getCatalogReader--">getCatalogReader</a></span>()</code>
<div class="block">Returns the catalog reader used by this validator.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getColumnReferenceExpansion--">getColumnReferenceExpansion</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlConformance.html" title="org.apache.calcite.sql.validate中的接口">SqlConformance</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getConformance--">getConformance</a></span>()</code>
<div class="block">Returns the dialect of SQL (SQL:2003, etc.) this validator recognizes.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getCursorScope-org.apache.calcite.sql.SqlSelect-">getCursorScope</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</code>&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/config/NullCollation.html" title="org.apache.calcite.config中的枚举">NullCollation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getDefaultNullCollation--">getDefaultNullCollation</a></span>()</code>
<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="i23" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getEmptyScope--">getEmptyScope</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getFieldOrigins-org.apache.calcite.sql.SqlNode-">getFieldOrigins</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;sqlQuery)</code>
<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="i25" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getFromScope-org.apache.calcite.sql.SqlSelect-">getFromScope</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</code>
<div class="block">Returns a scope containing the objects visible from the FROM clause of a
query.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getGroupScope-org.apache.calcite.sql.SqlSelect-">getGroupScope</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</code>
<div class="block">Returns a scope containing the objects visible from the GROUP BY clause
of a query.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getHavingScope-org.apache.calcite.sql.SqlSelect-">getHavingScope</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</code>
<div class="block">Returns a scope containing the objects visible from the HAVING clause of
a query.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getJoinScope-org.apache.calcite.sql.SqlNode-">getJoinScope</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node)</code>
<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="i29" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getLogicalSourceRowType-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.sql.SqlInsert-">getLogicalSourceRowType</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;sourceRowType,
<a href="../../../../../org/apache/calcite/sql/SqlInsert.html" title="org.apache.calcite.sql中的类">SqlInsert</a>&nbsp;insert)</code>&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getLogicalTargetRowType-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.sql.SqlInsert-">getLogicalTargetRowType</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType,
<a href="../../../../../org/apache/calcite/sql/SqlInsert.html" title="org.apache.calcite.sql中的类">SqlInsert</a>&nbsp;insert)</code>&nbsp;</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getMatchRecognizeScope-org.apache.calcite.sql.SqlMatchRecognize-">getMatchRecognizeScope</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlMatchRecognize.html" title="org.apache.calcite.sql中的类">SqlMatchRecognize</a>&nbsp;node)</code>
<div class="block">Returns a scope match recognize clause.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorNamespace.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorNamespace</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getNamespace-org.apache.calcite.sql.SqlNode-">getNamespace</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node)</code>
<div class="block">Finds the namespace corresponding to a given node.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/SqlOperatorTable.html" title="org.apache.calcite.sql中的接口">SqlOperatorTable</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getOperatorTable--">getOperatorTable</a></span>()</code>
<div class="block">Returns the operator table used by this validator.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getOrderScope-org.apache.calcite.sql.SqlSelect-">getOrderScope</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</code>
<div class="block">Returns the scope that expressions in the SELECT and HAVING clause of
this query should use.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getOriginal-org.apache.calcite.sql.SqlNode-">getOriginal</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;expr)</code>&nbsp;</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getOverScope-org.apache.calcite.sql.SqlNode-">getOverScope</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node)</code>
<div class="block">Returns the scope of an OVER or VALUES node.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getParameterRowType-org.apache.calcite.sql.SqlNode-">getParameterRowType</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;sqlQuery)</code>
<div class="block">Returns a record type that contains the name and type of each parameter.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getParentCursor-java.lang.String-">getParentCursor</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&nbsp;columnListParamName)</code>
<div class="block">Retrieves the name of the parent cursor referenced by a column list
parameter.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SelectScope.html" title="org.apache.calcite.sql.validate中的类">SelectScope</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getRawSelectScope-org.apache.calcite.sql.SqlSelect-">getRawSelectScope</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</code>
<div class="block">Returns the scope for resolving the SELECT, GROUP BY and HAVING clauses.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getSelectScope-org.apache.calcite.sql.SqlSelect-">getSelectScope</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</code>
<div class="block">Returns the appropriate scope for validating a particular clause of a
SELECT statement.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getSelfJoinExprForUpdate-org.apache.calcite.sql.SqlNode-java.lang.String-">getSelfJoinExprForUpdate</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;table,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&nbsp;alias)</code>
<div class="block">Allows a subclass to provide information about how to convert an UPDATE
into a MERGE via self-join.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/implicit/TypeCoercion.html" title="org.apache.calcite.sql.validate.implicit中的接口">TypeCoercion</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getTypeCoercion--">getTypeCoercion</a></span>()</code>
<div class="block">Get the type coercion instance.</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getTypeFactory--">getTypeFactory</a></span>()</code>
<div class="block">Returns the type factory used by this validator.</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getUnknownType--">getUnknownType</a></span>()</code>
<div class="block">Returns an object representing the "unknown" type.</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getValidatedNodeType-org.apache.calcite.sql.SqlNode-">getValidatedNodeType</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node)</code>
<div class="block">Returns the type assigned to a node by validation.</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getValidatedNodeTypeIfKnown-org.apache.calcite.sql.SqlNode-">getValidatedNodeTypeIfKnown</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node)</code>
<div class="block">Returns the type assigned to a node by validation, or null if unknown.</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>org.apache.calcite.sql.validate.SqlValidatorImpl.ValidationErrorFunction</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getValidationErrorFunction--">getValidationErrorFunction</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getWhereScope-org.apache.calcite.sql.SqlSelect-">getWhereScope</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</code>
<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="i49" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/calcite/sql/SqlWindow.html" title="org.apache.calcite.sql中的类">SqlWindow</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getWindowByName-org.apache.calcite.sql.SqlIdentifier-org.apache.calcite.sql.validate.SqlValidatorScope-">getWindowByName</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlIdentifier.html" title="org.apache.calcite.sql中的类">SqlIdentifier</a>&nbsp;id,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope)</code>&nbsp;</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#getWithScope-org.apache.calcite.sql.SqlNode-">getWithScope</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;withItem)</code>&nbsp;</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/runtime/CalciteException.html" title="org.apache.calcite.runtime中的类">CalciteException</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#handleUnresolvedFunction-org.apache.calcite.sql.SqlCall-org.apache.calcite.sql.SqlFunction-java.util.List-java.util.List-">handleUnresolvedFunction</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call,
<a href="../../../../../org/apache/calcite/sql/SqlFunction.html" title="org.apache.calcite.sql中的类">SqlFunction</a>&nbsp;unresolvedFunction,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&nbsp;argTypes,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&gt;&nbsp;argNames)</code>
<div class="block">Handles a call to a function which cannot be resolved.</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#inferUnknownTypes-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.sql.SqlNode-">inferUnknownTypes</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;inferredType,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node)</code>&nbsp;</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#isAggregate-org.apache.calcite.sql.SqlNode-">isAggregate</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;selectNode)</code>
<div class="block">Returns whether a select list expression is an aggregate function.</div>
</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#isAggregate-org.apache.calcite.sql.SqlSelect-">isAggregate</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</code>
<div class="block">Returns whether a SELECT statement is an aggregation.</div>
</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#isLenientOperatorLookup--">isLenientOperatorLookup</a></span>()</code>
<div class="block">Returns whether this validator should be lenient upon encountering an
unknown function.</div>
</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#isNestedAggregateWindow-org.apache.calcite.sql.SqlNode-">isNestedAggregateWindow</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node)</code>&nbsp;</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#isOverAggregateWindow-org.apache.calcite.sql.SqlNode-">isOverAggregateWindow</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node)</code>&nbsp;</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#isSystemField-org.apache.calcite.rel.type.RelDataTypeField-">isSystemField</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&nbsp;field)</code>
<div class="block">Returns whether a field is a system field.</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#isTypeCoercionEnabled--">isTypeCoercionEnabled</a></span>()</code>
<div class="block">Returns if this validator supports implicit type coercion.</div>
</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/sql/validate/SqlMoniker.html" title="org.apache.calcite.sql.validate中的接口">SqlMoniker</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#lookupHints-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.parser.SqlParserPos-">lookupHints</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;topNode,
<a href="../../../../../org/apache/calcite/sql/parser/SqlParserPos.html" title="org.apache.calcite.sql.parser中的类">SqlParserPos</a>&nbsp;pos)</code>
<div class="block">Looks up completion hints for a syntactically correct SQL statement that
has been parsed into an expression tree.</div>
</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#lookupNameCompletionHints-org.apache.calcite.sql.validate.SqlValidatorScope-java.util.List-org.apache.calcite.sql.parser.SqlParserPos-java.util.Collection-">lookupNameCompletionHints</a></span>(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&gt;&nbsp;names,
<a href="../../../../../org/apache/calcite/sql/parser/SqlParserPos.html" title="org.apache.calcite.sql.parser中的类">SqlParserPos</a>&nbsp;pos,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="java.util中的类或接口">Collection</a>&lt;<a href="../../../../../org/apache/calcite/sql/validate/SqlMoniker.html" title="org.apache.calcite.sql.validate中的接口">SqlMoniker</a>&gt;&nbsp;hintList)</code>
<div class="block">Populates a list of all the valid alternatives for an identifier.</div>
</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlMoniker.html" title="org.apache.calcite.sql.validate中的接口">SqlMoniker</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#lookupQualifiedName-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.parser.SqlParserPos-">lookupQualifiedName</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;topNode,
<a href="../../../../../org/apache/calcite/sql/parser/SqlParserPos.html" title="org.apache.calcite.sql.parser中的类">SqlParserPos</a>&nbsp;pos)</code>
<div class="block">Looks up the fully qualified name for a <a href="../../../../../org/apache/calcite/sql/SqlIdentifier.html" title="org.apache.calcite.sql中的类"><code>SqlIdentifier</code></a> at a given
Parser Position in a parsed expression tree Note: call this only after
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validate-org.apache.calcite.sql.SqlNode-"><code>SqlValidator.validate(org.apache.calcite.sql.SqlNode)</code></a> has been called.</div>
</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#makeNullaryCall-org.apache.calcite.sql.SqlIdentifier-">makeNullaryCall</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlIdentifier.html" title="org.apache.calcite.sql中的类">SqlIdentifier</a>&nbsp;id)</code>
<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="i64" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/runtime/CalciteContextException.html" title="org.apache.calcite.runtime中的类">CalciteContextException</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#newValidationError-org.apache.calcite.sql.SqlNode-org.apache.calcite.runtime.Resources.ExInst-">newValidationError</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node,
org.apache.calcite.runtime.Resources.ExInst&lt;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorException.html" title="org.apache.calcite.sql.validate中的类">SqlValidatorException</a>&gt;&nbsp;e)</code>
<div class="block">Adds "line x, column y" context to a validator exception.</div>
</td>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#performUnconditionalRewrites-org.apache.calcite.sql.SqlNode-boolean-">performUnconditionalRewrites</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node,
boolean&nbsp;underFrom)</code>
<div class="block">Performs expression rewrites which are always used unconditionally.</div>
</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#popFunctionCall--">popFunctionCall</a></span>()</code>
<div class="block">Removes the topmost entry from the function call stack.</div>
</td>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#pushFunctionCall--">pushFunctionCall</a></span>()</code>
<div class="block">Pushes a new instance of a function call on to a function call stack.</div>
</td>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#registerNamespace-org.apache.calcite.sql.validate.SqlValidatorScope-java.lang.String-org.apache.calcite.sql.validate.SqlValidatorNamespace-boolean-">registerNamespace</a></span>(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;usingScope,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&nbsp;alias,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorNamespace.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorNamespace</a>&nbsp;ns,
boolean&nbsp;forceNullable)</code>
<div class="block">Registers a new namespace, and adds it as a child of its parent scope.</div>
</td>
</tr>
<tr id="i69" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#removeValidatedNodeType-org.apache.calcite.sql.SqlNode-">removeValidatedNodeType</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node)</code>
<div class="block">Removes a node from the set of validated nodes</div>
</td>
</tr>
<tr id="i70" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/SqlWindow.html" title="org.apache.calcite.sql中的类">SqlWindow</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#resolveWindow-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SqlValidatorScope-boolean-">resolveWindow</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;windowOrRef,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
boolean&nbsp;populateBounds)</code>
<div class="block">Converts a window specification or window name into a fully-resolved
window specification.</div>
</td>
</tr>
<tr id="i71" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#setCallRewrite-boolean-">setCallRewrite</a></span>(boolean&nbsp;rewriteCalls)</code>
<div class="block">Enables or disables rewrite of "macro-like" calls such as COALESCE.</div>
</td>
</tr>
<tr id="i72" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#setColumnReferenceExpansion-boolean-">setColumnReferenceExpansion</a></span>(boolean&nbsp;expandColumnReferences)</code>
<div class="block">Enables or disables expansion of column references.</div>
</td>
</tr>
<tr id="i73" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#setDefaultNullCollation-org.apache.calcite.config.NullCollation-">setDefaultNullCollation</a></span>(<a href="../../../../../org/apache/calcite/config/NullCollation.html" title="org.apache.calcite.config中的枚举">NullCollation</a>&nbsp;nullCollation)</code>
<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="i74" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#setEnableTypeCoercion-boolean-">setEnableTypeCoercion</a></span>(boolean&nbsp;enabled)</code>
<div class="block">Sets enable or disable implicit type coercion when the validator does validation.</div>
</td>
</tr>
<tr id="i75" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#setIdentifierExpansion-boolean-">setIdentifierExpansion</a></span>(boolean&nbsp;expandIdentifiers)</code>
<div class="block">Enables or disables expansion of identifiers other than column
references.</div>
</td>
</tr>
<tr id="i76" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#setLenientOperatorLookup-boolean-">setLenientOperatorLookup</a></span>(boolean&nbsp;lenient)</code>
<div class="block">Sets whether this validator should be lenient upon encountering an unknown
function.</div>
</td>
</tr>
<tr id="i77" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#setOriginal-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.SqlNode-">setOriginal</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;expr,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;original)</code>&nbsp;</td>
</tr>
<tr id="i78" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#setSqlTypeCoercionRules-org.apache.calcite.sql.type.SqlTypeCoercionRule-">setSqlTypeCoercionRules</a></span>(<a href="../../../../../org/apache/calcite/sql/type/SqlTypeCoercionRule.html" title="org.apache.calcite.sql.type中的类">SqlTypeCoercionRule</a>&nbsp;typeCoercionRules)</code>
<div class="block">Sets the <a href="../../../../../org/apache/calcite/sql/type/SqlTypeCoercionRule.html" title="org.apache.calcite.sql.type中的类"><code>SqlTypeCoercionRule</code></a> instance which defines the type conversion matrix
for the explicit type coercion.</div>
</td>
</tr>
<tr id="i79" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#setTypeCoercion-org.apache.calcite.sql.validate.implicit.TypeCoercion-">setTypeCoercion</a></span>(<a href="../../../../../org/apache/calcite/sql/validate/implicit/TypeCoercion.html" title="org.apache.calcite.sql.validate.implicit中的接口">TypeCoercion</a>&nbsp;typeCoercion)</code>
<div class="block">Sets an instance of type coercion, you can customize the coercion rules to
override the default ones defined in
<a href="../../../../../org/apache/calcite/sql/validate/implicit/TypeCoercionImpl.html" title="org.apache.calcite.sql.validate.implicit中的类"><code>TypeCoercionImpl</code></a>.</div>
</td>
</tr>
<tr id="i80" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#setValidatedNodeType-org.apache.calcite.sql.SqlNode-org.apache.calcite.rel.type.RelDataType-">setValidatedNodeType</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>
<div class="block">Saves the type of a <a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类"><code>SqlNode</code></a>, now that it has been validated.</div>
</td>
</tr>
<tr id="i81" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#shouldAllowIntermediateOrderBy--">shouldAllowIntermediateOrderBy</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i82" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#shouldAllowOverRelation--">shouldAllowOverRelation</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i83" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#shouldExpandIdentifiers--">shouldExpandIdentifiers</a></span>()</code>
<div class="block">Returns expansion of identifiers.</div>
</td>
</tr>
<tr id="i84" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#usingNames-org.apache.calcite.sql.SqlJoin-">usingNames</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlJoin.html" title="org.apache.calcite.sql中的类">SqlJoin</a>&nbsp;join)</code>
<div class="block">Returns the set of field names in the join condition specified by USING
or implicitly by NATURAL, de-duplicated and in order.</div>
</td>
</tr>
<tr id="i85" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validate-org.apache.calcite.sql.SqlNode-">validate</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;topNode)</code>
<div class="block">Validates an expression tree.</div>
</td>
</tr>
<tr id="i86" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#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>(<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;aggCall,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;filter,
<a href="../../../../../org/apache/calcite/sql/SqlNodeList.html" title="org.apache.calcite.sql中的类">SqlNodeList</a>&nbsp;orderList,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope)</code>
<div class="block">Validates parameters for aggregate function.</div>
</td>
</tr>
<tr id="i87" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateCall-org.apache.calcite.sql.SqlCall-org.apache.calcite.sql.validate.SqlValidatorScope-">validateCall</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope)</code>
<div class="block">Validates a call to an operator.</div>
</td>
</tr>
<tr id="i88" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateColumnListParams-org.apache.calcite.sql.SqlFunction-java.util.List-java.util.List-">validateColumnListParams</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlFunction.html" title="org.apache.calcite.sql中的类">SqlFunction</a>&nbsp;function,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&nbsp;argTypes,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&gt;&nbsp;operands)</code>
<div class="block">Validates a COLUMN_LIST parameter</div>
</td>
</tr>
<tr id="i89" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateDataType-org.apache.calcite.sql.SqlDataTypeSpec-">validateDataType</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlDataTypeSpec.html" title="org.apache.calcite.sql中的类">SqlDataTypeSpec</a>&nbsp;dataType)</code>
<div class="block">Validates a data type expression.</div>
</td>
</tr>
<tr id="i90" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateDelete-org.apache.calcite.sql.SqlDelete-">validateDelete</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlDelete.html" title="org.apache.calcite.sql中的类">SqlDelete</a>&nbsp;call)</code>
<div class="block">Validates a DELETE statement.</div>
</td>
</tr>
<tr id="i91" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateDynamicParam-org.apache.calcite.sql.SqlDynamicParam-">validateDynamicParam</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlDynamicParam.html" title="org.apache.calcite.sql中的类">SqlDynamicParam</a>&nbsp;dynamicParam)</code>
<div class="block">Validates a dynamic parameter.</div>
</td>
</tr>
<tr id="i92" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateFeature-org.apache.calcite.runtime.Feature-org.apache.calcite.sql.parser.SqlParserPos-">validateFeature</a></span>(<a href="../../../../../org/apache/calcite/runtime/Feature.html" title="org.apache.calcite.runtime中的类">Feature</a>&nbsp;feature,
<a href="../../../../../org/apache/calcite/sql/parser/SqlParserPos.html" title="org.apache.calcite.sql.parser中的类">SqlParserPos</a>&nbsp;context)</code>
<div class="block">Validates that a particular feature is enabled.</div>
</td>
</tr>
<tr id="i93" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateFrom-org.apache.calcite.sql.SqlNode-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.sql.validate.SqlValidatorScope-">validateFrom</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope)</code>
<div class="block">Validates the FROM clause of a query, or (recursively) a child node of
the FROM clause: AS, OVER, JOIN, VALUES, or sub-query.</div>
</td>
</tr>
<tr id="i94" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateGroupClause-org.apache.calcite.sql.SqlSelect-">validateGroupClause</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</code>
<div class="block">Validates the GROUP BY clause of a SELECT statement.</div>
</td>
</tr>
<tr id="i95" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateHavingClause-org.apache.calcite.sql.SqlSelect-">validateHavingClause</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</code>&nbsp;</td>
</tr>
<tr id="i96" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateIdentifier-org.apache.calcite.sql.SqlIdentifier-org.apache.calcite.sql.validate.SqlValidatorScope-">validateIdentifier</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlIdentifier.html" title="org.apache.calcite.sql中的类">SqlIdentifier</a>&nbsp;id,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope)</code>
<div class="block">Resolves an identifier to a fully-qualified name.</div>
</td>
</tr>
<tr id="i97" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateInsert-org.apache.calcite.sql.SqlInsert-">validateInsert</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlInsert.html" title="org.apache.calcite.sql中的类">SqlInsert</a>&nbsp;insert)</code>
<div class="block">Validates an INSERT statement.</div>
</td>
</tr>
<tr id="i98" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateIntervalQualifier-org.apache.calcite.sql.SqlIntervalQualifier-">validateIntervalQualifier</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlIntervalQualifier.html" title="org.apache.calcite.sql中的类">SqlIntervalQualifier</a>&nbsp;qualifier)</code>
<div class="block">Validates a <a href="../../../../../org/apache/calcite/sql/SqlIntervalQualifier.html" title="org.apache.calcite.sql中的类"><code>SqlIntervalQualifier</code></a></div>
</td>
</tr>
<tr id="i99" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateJoin-org.apache.calcite.sql.SqlJoin-org.apache.calcite.sql.validate.SqlValidatorScope-">validateJoin</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlJoin.html" title="org.apache.calcite.sql中的类">SqlJoin</a>&nbsp;join,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope)</code>&nbsp;</td>
</tr>
<tr id="i100" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateLiteral-org.apache.calcite.sql.SqlLiteral-">validateLiteral</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlLiteral.html" title="org.apache.calcite.sql中的类">SqlLiteral</a>&nbsp;literal)</code>
<div class="block">Validates a literal.</div>
</td>
</tr>
<tr id="i101" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateMatchRecognize-org.apache.calcite.sql.SqlCall-">validateMatchRecognize</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call)</code>
<div class="block">Validates a MATCH_RECOGNIZE clause.</div>
</td>
</tr>
<tr id="i102" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateMerge-org.apache.calcite.sql.SqlMerge-">validateMerge</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlMerge.html" title="org.apache.calcite.sql中的类">SqlMerge</a>&nbsp;call)</code>
<div class="block">Validates a MERGE statement.</div>
</td>
</tr>
<tr id="i103" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateModality-org.apache.calcite.sql.SqlSelect-org.apache.calcite.sql.validate.SqlModality-boolean-">validateModality</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
<a href="../../../../../org/apache/calcite/sql/validate/SqlModality.html" title="org.apache.calcite.sql.validate中的枚举">SqlModality</a>&nbsp;modality,
boolean&nbsp;fail)</code>
<div class="block">Validates that a query is capable of producing a return of given modality
(relational or streaming).</div>
</td>
</tr>
<tr id="i104" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateNamespace-org.apache.calcite.sql.validate.SqlValidatorNamespace-org.apache.calcite.rel.type.RelDataType-">validateNamespace</a></span>(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorNamespace.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorNamespace</a>&nbsp;namespace,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType)</code>
<div class="block">Validates a namespace.</div>
</td>
</tr>
<tr id="i105" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateOrderList-org.apache.calcite.sql.SqlSelect-">validateOrderList</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</code>
<div class="block">Validates the ORDER BY clause of a SELECT statement.</div>
</td>
</tr>
<tr id="i106" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateOver-org.apache.calcite.sql.SqlCall-org.apache.calcite.sql.validate.SqlValidatorScope-">validateOver</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope)</code>&nbsp;</td>
</tr>
<tr id="i107" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateParameterizedExpression-org.apache.calcite.sql.SqlNode-java.util.Map-">validateParameterizedExpression</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;topNode,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="java.util中的类或接口">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>,<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&nbsp;nameToTypeMap)</code>
<div class="block">Validates an expression tree.</div>
</td>
</tr>
<tr id="i108" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateQuery-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.rel.type.RelDataType-">validateQuery</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType)</code>
<div class="block">Checks that a query is valid.</div>
</td>
</tr>
<tr id="i109" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateSelect-org.apache.calcite.sql.SqlSelect-org.apache.calcite.rel.type.RelDataType-">validateSelect</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType)</code>
<div class="block">Validates a SELECT statement.</div>
</td>
</tr>
<tr id="i110" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateSelectList-org.apache.calcite.sql.SqlNodeList-org.apache.calcite.sql.SqlSelect-org.apache.calcite.rel.type.RelDataType-">validateSelectList</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNodeList.html" title="org.apache.calcite.sql中的类">SqlNodeList</a>&nbsp;selectItems,
<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType)</code>&nbsp;</td>
</tr>
<tr id="i111" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateSequenceValue-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.sql.SqlIdentifier-">validateSequenceValue</a></span>(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/sql/SqlIdentifier.html" title="org.apache.calcite.sql中的类">SqlIdentifier</a>&nbsp;id)</code>&nbsp;</td>
</tr>
<tr id="i112" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateUnnest-org.apache.calcite.sql.SqlCall-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.rel.type.RelDataType-">validateUnnest</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType)</code>&nbsp;</td>
</tr>
<tr id="i113" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateUpdate-org.apache.calcite.sql.SqlUpdate-">validateUpdate</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlUpdate.html" title="org.apache.calcite.sql中的类">SqlUpdate</a>&nbsp;call)</code>
<div class="block">Validates an UPDATE statement.</div>
</td>
</tr>
<tr id="i114" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateValues-org.apache.calcite.sql.SqlCall-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.sql.validate.SqlValidatorScope-">validateValues</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;node,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope)</code>
<div class="block">Validates a VALUES clause.</div>
</td>
</tr>
<tr id="i115" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateWhereClause-org.apache.calcite.sql.SqlSelect-">validateWhereClause</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</code>&nbsp;</td>
</tr>
<tr id="i116" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateWhereOrOn-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.sql.SqlNode-java.lang.String-">validateWhereOrOn</a></span>(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;condition,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&nbsp;clause)</code>&nbsp;</td>
</tr>
<tr id="i117" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateWindow-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.sql.SqlCall-">validateWindow</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;windowOrId,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call)</code>
<div class="block">Validates the right-hand side of an OVER expression.</div>
</td>
</tr>
<tr id="i118" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateWindowClause-org.apache.calcite.sql.SqlSelect-">validateWindowClause</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</code>&nbsp;</td>
</tr>
<tr id="i119" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateWith-org.apache.calcite.sql.SqlWith-org.apache.calcite.sql.validate.SqlValidatorScope-">validateWith</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlWith.html" title="org.apache.calcite.sql中的类">SqlWith</a>&nbsp;with,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope)</code>&nbsp;</td>
</tr>
<tr id="i120" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#validateWithItem-org.apache.calcite.sql.SqlWithItem-">validateWithItem</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlWithItem.html" title="org.apache.calcite.sql中的类">SqlWithItem</a>&nbsp;withItem)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>从类继承的方法&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="java.lang中的类或接口">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="java.lang中的类或接口">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="java.lang中的类或接口">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="java.lang中的类或接口">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="java.lang中的类或接口">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="java.lang中的类或接口">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="java.lang中的类或接口">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="java.lang中的类或接口">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="java.lang中的类或接口">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="java.lang中的类或接口">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="java.lang中的类或接口">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="java.lang中的类或接口">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>字段详细资料</h3>
<a name="TRACER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TRACER</h4>
<pre>public static final&nbsp;org.slf4j.Logger TRACER</pre>
</li>
</ul>
<a name="UPDATE_SRC_ALIAS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>UPDATE_SRC_ALIAS</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a> UPDATE_SRC_ALIAS</pre>
<div class="block">Alias generated for the source table when rewriting UPDATE to MERGE.</div>
<dl>
<dt><span class="seeLabel">另请参阅:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.sql.validate.SqlValidatorImpl.UPDATE_SRC_ALIAS">常量字段值</a></dd>
</dl>
</li>
</ul>
<a name="UPDATE_TGT_ALIAS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>UPDATE_TGT_ALIAS</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a> UPDATE_TGT_ALIAS</pre>
<div class="block">Alias generated for the target table when rewriting UPDATE to MERGE if no
alias was specified by the user.</div>
<dl>
<dt><span class="seeLabel">另请参阅:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.sql.validate.SqlValidatorImpl.UPDATE_TGT_ALIAS">常量字段值</a></dd>
</dl>
</li>
</ul>
<a name="UPDATE_ANON_PREFIX">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>UPDATE_ANON_PREFIX</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a> UPDATE_ANON_PREFIX</pre>
<div class="block">Alias prefix generated for source columns when rewriting UPDATE to MERGE.</div>
<dl>
<dt><span class="seeLabel">另请参阅:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.sql.validate.SqlValidatorImpl.UPDATE_ANON_PREFIX">常量字段值</a></dd>
</dl>
</li>
</ul>
<a name="idPositions">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>idPositions</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="java.util中的类或接口">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>,<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.IdInfo.html" title="org.apache.calcite.sql.validate中的类">SqlValidatorImpl.IdInfo</a>&gt; idPositions</pre>
<div class="block">Maps ParsePosition strings to the <a href="../../../../../org/apache/calcite/sql/SqlIdentifier.html" title="org.apache.calcite.sql中的类"><code>SqlIdentifier</code></a> identifier
objects at these positions</div>
</li>
</ul>
<a name="scopes">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scopes</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="java.util中的类或接口">Map</a>&lt;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>,<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&gt; scopes</pre>
<div class="block">Maps <a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类"><code>query node</code></a> objects to the <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口"><code>SqlValidatorScope</code></a>
scope created from them.</div>
</li>
</ul>
<a name="namespaces">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>namespaces</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="java.util中的类或接口">Map</a>&lt;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>,<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorNamespace.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorNamespace</a>&gt; namespaces</pre>
<div class="block">Maps a <a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类"><code>node</code></a> to the
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorNamespace.html" title="org.apache.calcite.sql.validate中的接口"><code>namespace</code></a> which describes what columns they
contain.</div>
</li>
</ul>
<a name="functionCallStack">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>functionCallStack</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html?is-external=true" title="java.util中的类或接口">Deque</a>&lt;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.FunctionParamInfo.html" title="org.apache.calcite.sql.validate中的类">SqlValidatorImpl.FunctionParamInfo</a>&gt; functionCallStack</pre>
<div class="block">Stack of objects that maintain information about function calls. A stack
is needed to handle nested function calls. The function call currently
being validated is at the top of the stack.</div>
</li>
</ul>
<a name="typeFactory">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>typeFactory</h4>
<pre>protected final&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a> typeFactory</pre>
</li>
</ul>
<a name="unknownType">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unknownType</h4>
<pre>protected final&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a> unknownType</pre>
<div class="block">The type of dynamic parameters until a type is imposed on them.</div>
</li>
</ul>
<a name="expandIdentifiers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>expandIdentifiers</h4>
<pre>protected&nbsp;boolean expandIdentifiers</pre>
</li>
</ul>
<a name="expandColumnReferences">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>expandColumnReferences</h4>
<pre>protected&nbsp;boolean expandColumnReferences</pre>
</li>
</ul>
<a name="lenientOperatorLookup">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>lenientOperatorLookup</h4>
<pre>protected&nbsp;boolean lenientOperatorLookup</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>构造器详细资料</h3>
<a name="SqlValidatorImpl-org.apache.calcite.sql.SqlOperatorTable-org.apache.calcite.sql.validate.SqlValidatorCatalogReader-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.sql.validate.SqlConformance-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SqlValidatorImpl</h4>
<pre>protected&nbsp;SqlValidatorImpl(<a href="../../../../../org/apache/calcite/sql/SqlOperatorTable.html" title="org.apache.calcite.sql中的接口">SqlOperatorTable</a>&nbsp;opTab,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorCatalogReader.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorCatalogReader</a>&nbsp;catalogReader,
<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../../../../../org/apache/calcite/sql/validate/SqlConformance.html" title="org.apache.calcite.sql.validate中的接口">SqlConformance</a>&nbsp;conformance)</pre>
<div class="block">Creates a validator.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>opTab</code> - Operator table</dd>
<dd><code>catalogReader</code> - Catalog reader</dd>
<dd><code>typeFactory</code> - Type factory</dd>
<dd><code>conformance</code> - Compatibility mode</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>方法详细资料</h3>
<a name="getConformance--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConformance</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SqlConformance.html" title="org.apache.calcite.sql.validate中的接口">SqlConformance</a>&nbsp;getConformance()</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getConformance--">SqlValidator</a></code></span></div>
<div class="block">Returns the dialect of SQL (SQL:2003, etc.) this validator recognizes.
Default is <a href="../../../../../org/apache/calcite/sql/validate/SqlConformanceEnum.html#DEFAULT"><code>SqlConformanceEnum.DEFAULT</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getConformance--">getConformance</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>dialect of SQL this validator recognizes</dd>
</dl>
</li>
</ul>
<a name="getCatalogReader--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCatalogReader</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorCatalogReader.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorCatalogReader</a>&nbsp;getCatalogReader()</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getCatalogReader--">SqlValidator</a></code></span></div>
<div class="block">Returns the catalog reader used by this validator.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getCatalogReader--">getCatalogReader</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>catalog reader</dd>
</dl>
</li>
</ul>
<a name="getOperatorTable--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOperatorTable</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/SqlOperatorTable.html" title="org.apache.calcite.sql中的接口">SqlOperatorTable</a>&nbsp;getOperatorTable()</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getOperatorTable--">SqlValidator</a></code></span></div>
<div class="block">Returns the operator table used by this validator.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getOperatorTable--">getOperatorTable</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>operator table</dd>
</dl>
</li>
</ul>
<a name="getTypeFactory--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTypeFactory</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;getTypeFactory()</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getTypeFactory--">SqlValidator</a></code></span></div>
<div class="block">Returns the type factory used by this validator.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getTypeFactory--">getTypeFactory</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>type factory</dd>
</dl>
</li>
</ul>
<a name="getUnknownType--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUnknownType</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;getUnknownType()</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getUnknownType--">SqlValidator</a></code></span></div>
<div class="block">Returns an object representing the "unknown" type.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getUnknownType--">getUnknownType</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>unknown type</dd>
</dl>
</li>
</ul>
<a name="expandStar-org.apache.calcite.sql.SqlNodeList-org.apache.calcite.sql.SqlSelect-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>expandStar</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/SqlNodeList.html" title="org.apache.calcite.sql中的类">SqlNodeList</a>&nbsp;expandStar(<a href="../../../../../org/apache/calcite/sql/SqlNodeList.html" title="org.apache.calcite.sql中的类">SqlNodeList</a>&nbsp;selectList,
<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
boolean&nbsp;includeSystemVars)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#expandStar-org.apache.calcite.sql.SqlNodeList-org.apache.calcite.sql.SqlSelect-boolean-">SqlValidator</a></code></span></div>
<div class="block">Returns a list of expressions, with every occurrence of "&#42;" or
"TABLE.&#42;" expanded.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#expandStar-org.apache.calcite.sql.SqlNodeList-org.apache.calcite.sql.SqlSelect-boolean-">expandStar</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>selectList</code> - Select clause to be expanded</dd>
<dd><code>select</code> - Query</dd>
<dd><code>includeSystemVars</code> - Whether to include system variables</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>expanded select clause</dd>
</dl>
</li>
</ul>
<a name="declareCursor-org.apache.calcite.sql.SqlSelect-org.apache.calcite.sql.validate.SqlValidatorScope-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>declareCursor</h4>
<pre>public&nbsp;void&nbsp;declareCursor(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;parentScope)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#declareCursor-org.apache.calcite.sql.SqlSelect-org.apache.calcite.sql.validate.SqlValidatorScope-">SqlValidator</a></code></span></div>
<div class="block">Declares a SELECT expression as a cursor.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#declareCursor-org.apache.calcite.sql.SqlSelect-org.apache.calcite.sql.validate.SqlValidatorScope-">declareCursor</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>select</code> - select expression associated with the cursor</dd>
<dd><code>parentScope</code> - scope of the parent query associated with the cursor</dd>
</dl>
</li>
</ul>
<a name="pushFunctionCall--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pushFunctionCall</h4>
<pre>public&nbsp;void&nbsp;pushFunctionCall()</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#pushFunctionCall--">SqlValidator</a></code></span></div>
<div class="block">Pushes a new instance of a function call on to a function call stack.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#pushFunctionCall--">pushFunctionCall</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
</dl>
</li>
</ul>
<a name="popFunctionCall--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>popFunctionCall</h4>
<pre>public&nbsp;void&nbsp;popFunctionCall()</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#popFunctionCall--">SqlValidator</a></code></span></div>
<div class="block">Removes the topmost entry from the function call stack.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#popFunctionCall--">popFunctionCall</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
</dl>
</li>
</ul>
<a name="getParentCursor-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParentCursor</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&nbsp;getParentCursor(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&nbsp;columnListParamName)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getParentCursor-java.lang.String-">SqlValidator</a></code></span></div>
<div class="block">Retrieves the name of the parent cursor referenced by a column list
parameter.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getParentCursor-java.lang.String-">getParentCursor</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>columnListParamName</code> - name of the column list parameter</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>name of the parent cursor</dd>
</dl>
</li>
</ul>
<a name="usingNames-org.apache.calcite.sql.SqlJoin-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>usingNames</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&gt;&nbsp;usingNames(<a href="../../../../../org/apache/calcite/sql/SqlJoin.html" title="org.apache.calcite.sql中的类">SqlJoin</a>&nbsp;join)</pre>
<div class="block">Returns the set of field names in the join condition specified by USING
or implicitly by NATURAL, de-duplicated and in order.</div>
</li>
</ul>
<a name="validate-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validate</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;validate(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;topNode)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validate-org.apache.calcite.sql.SqlNode-">SqlValidator</a></code></span></div>
<div class="block">Validates an expression tree. You can call this method multiple times,
but not reentrantly.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validate-org.apache.calcite.sql.SqlNode-">validate</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>topNode</code> - top of expression tree to be validated</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>validated tree (possibly rewritten)</dd>
</dl>
</li>
</ul>
<a name="lookupHints-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.parser.SqlParserPos-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lookupHints</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/sql/validate/SqlMoniker.html" title="org.apache.calcite.sql.validate中的接口">SqlMoniker</a>&gt;&nbsp;lookupHints(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;topNode,
<a href="../../../../../org/apache/calcite/sql/parser/SqlParserPos.html" title="org.apache.calcite.sql.parser中的类">SqlParserPos</a>&nbsp;pos)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorWithHints.html#lookupHints-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.parser.SqlParserPos-">SqlValidatorWithHints</a></code></span></div>
<div class="block">Looks up completion hints for a syntactically correct SQL statement that
has been parsed into an expression tree. (Note this should be called
after <a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validate-org.apache.calcite.sql.SqlNode-"><code>SqlValidator.validate(org.apache.calcite.sql.SqlNode)</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorWithHints.html#lookupHints-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.parser.SqlParserPos-">lookupHints</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorWithHints.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorWithHints</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>topNode</code> - top of expression tree in which to lookup completion hints</dd>
<dd><code>pos</code> - indicates the position in the sql statement we want to get
completion hints for. For example, "select a.ename, b.deptno
from sales.emp a join sales.dept b "on a.deptno=b.deptno
where empno=1"; setting pos to 'Line 1, Column 17' returns
all the possible column names that can be selected from
sales.dept table setting pos to 'Line 1, Column 31' returns
all the possible table names in 'sales' schema</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>an array of <a href="../../../../../org/apache/calcite/sql/validate/SqlMoniker.html" title="org.apache.calcite.sql.validate中的接口"><code>SqlMoniker</code></a> (sql identifiers) that can fill in
at the indicated position</dd>
</dl>
</li>
</ul>
<a name="lookupQualifiedName-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.parser.SqlParserPos-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lookupQualifiedName</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SqlMoniker.html" title="org.apache.calcite.sql.validate中的接口">SqlMoniker</a>&nbsp;lookupQualifiedName(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;topNode,
<a href="../../../../../org/apache/calcite/sql/parser/SqlParserPos.html" title="org.apache.calcite.sql.parser中的类">SqlParserPos</a>&nbsp;pos)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorWithHints.html#lookupQualifiedName-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.parser.SqlParserPos-">SqlValidatorWithHints</a></code></span></div>
<div class="block">Looks up the fully qualified name for a <a href="../../../../../org/apache/calcite/sql/SqlIdentifier.html" title="org.apache.calcite.sql中的类"><code>SqlIdentifier</code></a> at a given
Parser Position in a parsed expression tree Note: call this only after
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validate-org.apache.calcite.sql.SqlNode-"><code>SqlValidator.validate(org.apache.calcite.sql.SqlNode)</code></a> has been called.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorWithHints.html#lookupQualifiedName-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.parser.SqlParserPos-">lookupQualifiedName</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorWithHints.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorWithHints</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>topNode</code> - top of expression tree in which to lookup the qualified
name for the SqlIdentifier</dd>
<dd><code>pos</code> - indicates the position of the <a href="../../../../../org/apache/calcite/sql/SqlIdentifier.html" title="org.apache.calcite.sql中的类"><code>SqlIdentifier</code></a> in
the SQL statement we want to get the qualified
name for</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>a string of the fully qualified name of the <a href="../../../../../org/apache/calcite/sql/SqlIdentifier.html" title="org.apache.calcite.sql中的类"><code>SqlIdentifier</code></a>
if the Parser position represents a valid <a href="../../../../../org/apache/calcite/sql/SqlIdentifier.html" title="org.apache.calcite.sql中的类"><code>SqlIdentifier</code></a>. Else
return an empty string</dd>
</dl>
</li>
</ul>
<a name="lookupNameCompletionHints-org.apache.calcite.sql.validate.SqlValidatorScope-java.util.List-org.apache.calcite.sql.parser.SqlParserPos-java.util.Collection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lookupNameCompletionHints</h4>
<pre>public final&nbsp;void&nbsp;lookupNameCompletionHints(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&gt;&nbsp;names,
<a href="../../../../../org/apache/calcite/sql/parser/SqlParserPos.html" title="org.apache.calcite.sql.parser中的类">SqlParserPos</a>&nbsp;pos,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="java.util中的类或接口">Collection</a>&lt;<a href="../../../../../org/apache/calcite/sql/validate/SqlMoniker.html" title="org.apache.calcite.sql.validate中的接口">SqlMoniker</a>&gt;&nbsp;hintList)</pre>
<div class="block">Populates a list of all the valid alternatives for an identifier.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>scope</code> - Validation scope</dd>
<dd><code>names</code> - Components of the identifier</dd>
<dd><code>pos</code> - position</dd>
<dd><code>hintList</code> - a list of valid options</dd>
</dl>
</li>
</ul>
<a name="validateParameterizedExpression-org.apache.calcite.sql.SqlNode-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateParameterizedExpression</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;validateParameterizedExpression(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;topNode,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="java.util中的类或接口">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>,<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&nbsp;nameToTypeMap)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateParameterizedExpression-org.apache.calcite.sql.SqlNode-java.util.Map-">SqlValidator</a></code></span></div>
<div class="block">Validates an expression tree. You can call this method multiple times,
but not reentrantly.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateParameterizedExpression-org.apache.calcite.sql.SqlNode-java.util.Map-">validateParameterizedExpression</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</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="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口"><code>RelDataType</code></a>; used to
resolve <a href="../../../../../org/apache/calcite/sql/SqlIdentifier.html" title="org.apache.calcite.sql中的类"><code>SqlIdentifier</code></a> references</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>validated tree (possibly rewritten)</dd>
</dl>
</li>
</ul>
<a name="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>public&nbsp;void&nbsp;validateQuery(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateQuery-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.rel.type.RelDataType-">SqlValidator</a></code></span></div>
<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="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateQuery-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.rel.type.RelDataType-">validateQuery</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</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>
</dl>
</li>
</ul>
<a name="validateNamespace-org.apache.calcite.sql.validate.SqlValidatorNamespace-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateNamespace</h4>
<pre>protected&nbsp;void&nbsp;validateNamespace(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorNamespace.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorNamespace</a>&nbsp;namespace,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType)</pre>
<div class="block">Validates a namespace.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>namespace</code> - Namespace</dd>
<dd><code>targetRowType</code> - Desired row type, must not be null, may be the data
type 'unknown'.</dd>
</dl>
</li>
</ul>
<a name="getEmptyScope--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEmptyScope</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;getEmptyScope()</pre>
</li>
</ul>
<a name="getCursorScope-org.apache.calcite.sql.SqlSelect-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCursorScope</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;getCursorScope(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</pre>
</li>
</ul>
<a name="getWhereScope-org.apache.calcite.sql.SqlSelect-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWhereScope</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;getWhereScope(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getWhereScope-org.apache.calcite.sql.SqlSelect-">SqlValidator</a></code></span></div>
<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="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getWhereScope-org.apache.calcite.sql.SqlSelect-">getWhereScope</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>select</code> - Query</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>naming scope of WHERE clause</dd>
</dl>
</li>
</ul>
<a name="getSelectScope-org.apache.calcite.sql.SqlSelect-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSelectScope</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;getSelectScope(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getSelectScope-org.apache.calcite.sql.SqlSelect-">SqlValidator</a></code></span></div>
<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="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getFromScope-org.apache.calcite.sql.SqlSelect-"><code>SqlValidator.getFromScope(org.apache.calcite.sql.SqlSelect)</code></a> , you can only see 'foo'.
<li>In WHERE (<a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getWhereScope-org.apache.calcite.sql.SqlSelect-"><code>SqlValidator.getWhereScope(org.apache.calcite.sql.SqlSelect)</code></a>), GROUP BY (<a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getGroupScope-org.apache.calcite.sql.SqlSelect-"><code>SqlValidator.getGroupScope(org.apache.calcite.sql.SqlSelect)</code></a>),
SELECT (<code>getSelectScope</code>), and the ON clause of the JOIN
(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getJoinScope-org.apache.calcite.sql.SqlNode-"><code>SqlValidator.getJoinScope(org.apache.calcite.sql.SqlNode)</code></a>) you can see 'emp', 'dept', and 'foo'.
<li>In ORDER BY (<a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getOrderScope-org.apache.calcite.sql.SqlSelect-"><code>SqlValidator.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="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getSelectScope-org.apache.calcite.sql.SqlSelect-">getSelectScope</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>select</code> - SELECT statement</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>naming scope for SELECT statement</dd>
</dl>
</li>
</ul>
<a name="getRawSelectScope-org.apache.calcite.sql.SqlSelect-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRawSelectScope</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SelectScope.html" title="org.apache.calcite.sql.validate中的类">SelectScope</a>&nbsp;getRawSelectScope(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getRawSelectScope-org.apache.calcite.sql.SqlSelect-">SqlValidator</a></code></span></div>
<div class="block">Returns the scope for resolving the SELECT, GROUP BY and HAVING clauses.
Always a <a href="../../../../../org/apache/calcite/sql/validate/SelectScope.html" title="org.apache.calcite.sql.validate中的类"><code>SelectScope</code></a>; if this is an aggregation query, the
<a href="../../../../../org/apache/calcite/sql/validate/AggregatingScope.html" title="org.apache.calcite.sql.validate中的接口"><code>AggregatingScope</code></a> is stripped away.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getRawSelectScope-org.apache.calcite.sql.SqlSelect-">getRawSelectScope</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>select</code> - SELECT statement</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>naming scope for SELECT statement, sans any aggregating scope</dd>
</dl>
</li>
</ul>
<a name="getHavingScope-org.apache.calcite.sql.SqlSelect-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHavingScope</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;getHavingScope(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getHavingScope-org.apache.calcite.sql.SqlSelect-">SqlValidator</a></code></span></div>
<div class="block">Returns a scope containing the objects visible from the HAVING clause of
a query.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getHavingScope-org.apache.calcite.sql.SqlSelect-">getHavingScope</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>select</code> - SELECT statement</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>naming scope for HAVING clause</dd>
</dl>
</li>
</ul>
<a name="getGroupScope-org.apache.calcite.sql.SqlSelect-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGroupScope</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;getGroupScope(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getGroupScope-org.apache.calcite.sql.SqlSelect-">SqlValidator</a></code></span></div>
<div class="block">Returns a scope containing the objects visible from the GROUP BY clause
of a query.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getGroupScope-org.apache.calcite.sql.SqlSelect-">getGroupScope</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>select</code> - SELECT statement</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>naming scope for GROUP BY clause</dd>
</dl>
</li>
</ul>
<a name="getFromScope-org.apache.calcite.sql.SqlSelect-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFromScope</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;getFromScope(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getFromScope-org.apache.calcite.sql.SqlSelect-">SqlValidator</a></code></span></div>
<div class="block">Returns a scope containing the objects visible from the FROM clause of a
query.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getFromScope-org.apache.calcite.sql.SqlSelect-">getFromScope</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>select</code> - SELECT statement</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>naming scope for FROM clause</dd>
</dl>
</li>
</ul>
<a name="getOrderScope-org.apache.calcite.sql.SqlSelect-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOrderScope</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;getOrderScope(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getOrderScope-org.apache.calcite.sql.SqlSelect-">SqlValidator</a></code></span></div>
<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="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getOrderScope-org.apache.calcite.sql.SqlSelect-">getOrderScope</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>select</code> - SELECT statement</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>naming scope for ORDER BY clause</dd>
</dl>
</li>
</ul>
<a name="getMatchRecognizeScope-org.apache.calcite.sql.SqlMatchRecognize-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMatchRecognizeScope</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;getMatchRecognizeScope(<a href="../../../../../org/apache/calcite/sql/SqlMatchRecognize.html" title="org.apache.calcite.sql中的类">SqlMatchRecognize</a>&nbsp;node)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getMatchRecognizeScope-org.apache.calcite.sql.SqlMatchRecognize-">SqlValidator</a></code></span></div>
<div class="block">Returns a scope match recognize clause.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getMatchRecognizeScope-org.apache.calcite.sql.SqlMatchRecognize-">getMatchRecognizeScope</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>node</code> - Match recognize</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>naming scope for Match recognize clause</dd>
</dl>
</li>
</ul>
<a name="getJoinScope-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJoinScope</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;getJoinScope(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getJoinScope-org.apache.calcite.sql.SqlNode-">SqlValidator</a></code></span></div>
<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="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getJoinScope-org.apache.calcite.sql.SqlNode-">getJoinScope</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>node</code> - The item in the FROM clause which contains the ON or USING
expression</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>naming scope for JOIN clause</dd>
<dt><span class="seeLabel">另请参阅:</span></dt>
<dd><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getFromScope-org.apache.calcite.sql.SqlSelect-"><code>SqlValidator.getFromScope(org.apache.calcite.sql.SqlSelect)</code></a></dd>
</dl>
</li>
</ul>
<a name="getOverScope-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOverScope</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;getOverScope(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getOverScope-org.apache.calcite.sql.SqlNode-">SqlValidator</a></code></span></div>
<div class="block">Returns the scope of an OVER or VALUES node.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getOverScope-org.apache.calcite.sql.SqlNode-">getOverScope</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>node</code> - Node</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Scope</dd>
</dl>
</li>
</ul>
<a name="getNamespace-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNamespace</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorNamespace.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorNamespace</a>&nbsp;getNamespace(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getNamespace-org.apache.calcite.sql.SqlNode-">SqlValidator</a></code></span></div>
<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="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getNamespace-org.apache.calcite.sql.SqlNode-">getNamespace</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>node</code> - Parse tree node</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>namespace of node</dd>
</dl>
</li>
</ul>
<a name="performUnconditionalRewrites-org.apache.calcite.sql.SqlNode-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>performUnconditionalRewrites</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;performUnconditionalRewrites(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node,
boolean&nbsp;underFrom)</pre>
<div class="block">Performs expression rewrites which are always used unconditionally. These
rewrites massage the expression tree into a standard form so that the
rest of the validation logic can be simpler.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>node</code> - expression to be rewritten</dd>
<dd><code>underFrom</code> - whether node appears directly under a FROM clause</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>rewritten expression</dd>
</dl>
</li>
</ul>
<a name="getSelfJoinExprForUpdate-org.apache.calcite.sql.SqlNode-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSelfJoinExprForUpdate</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;getSelfJoinExprForUpdate(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;table,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&nbsp;alias)</pre>
<div class="block">Allows a subclass to provide information about how to convert an UPDATE
into a MERGE via self-join. If this method returns null, then no such
conversion takes place. Otherwise, this method should return a suitable
unique identifier expression for the given table.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>table</code> - identifier for table being updated</dd>
<dd><code>alias</code> - alias to use for qualifying columns in expression, or null
for unqualified references; if this is equal to
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#UPDATE_SRC_ALIAS">"SYS$SRC"</a>, then column references have been
anonymized to "SYS$ANONx", where x is the 1-based column
number.</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>expression for unique identifier, or null to prevent conversion</dd>
</dl>
</li>
</ul>
<a name="createSourceSelectForUpdate-org.apache.calcite.sql.SqlUpdate-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createSourceSelectForUpdate</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;createSourceSelectForUpdate(<a href="../../../../../org/apache/calcite/sql/SqlUpdate.html" title="org.apache.calcite.sql中的类">SqlUpdate</a>&nbsp;call)</pre>
<div class="block">Creates the SELECT statement that putatively feeds rows into an UPDATE
statement to be updated.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>call</code> - Call to the UPDATE operator</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>select statement</dd>
</dl>
</li>
</ul>
<a name="createSourceSelectForDelete-org.apache.calcite.sql.SqlDelete-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createSourceSelectForDelete</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;createSourceSelectForDelete(<a href="../../../../../org/apache/calcite/sql/SqlDelete.html" title="org.apache.calcite.sql中的类">SqlDelete</a>&nbsp;call)</pre>
<div class="block">Creates the SELECT statement that putatively feeds rows into a DELETE
statement to be deleted.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>call</code> - Call to the DELETE operator</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>select statement</dd>
</dl>
</li>
</ul>
<a name="getValidatedNodeType-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValidatedNodeType</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;getValidatedNodeType(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getValidatedNodeType-org.apache.calcite.sql.SqlNode-">SqlValidator</a></code></span></div>
<div class="block">Returns the type assigned to a node by validation.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getValidatedNodeType-org.apache.calcite.sql.SqlNode-">getValidatedNodeType</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>node</code> - the node of interest</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>validated type, never null</dd>
</dl>
</li>
</ul>
<a name="getValidatedNodeTypeIfKnown-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValidatedNodeTypeIfKnown</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;getValidatedNodeTypeIfKnown(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getValidatedNodeTypeIfKnown-org.apache.calcite.sql.SqlNode-">SqlValidator</a></code></span></div>
<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="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getValidatedNodeType-org.apache.calcite.sql.SqlNode-"><code>SqlValidator.getValidatedNodeType(org.apache.calcite.sql.SqlNode)</code></a> instead.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getValidatedNodeTypeIfKnown-org.apache.calcite.sql.SqlNode-">getValidatedNodeTypeIfKnown</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>node</code> - the node of interest</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>validated type, or null if unknown or not applicable</dd>
</dl>
</li>
</ul>
<a name="setValidatedNodeType-org.apache.calcite.sql.SqlNode-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setValidatedNodeType</h4>
<pre>public final&nbsp;void&nbsp;setValidatedNodeType(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<div class="block">Saves the type of a <a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类"><code>SqlNode</code></a>, now that it has been validated.
<p>Unlike the base class method, this method is not deprecated.
It is available from within Calcite, but is not part of the public API.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#setValidatedNodeType-org.apache.calcite.sql.SqlNode-org.apache.calcite.rel.type.RelDataType-">setValidatedNodeType</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</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 name="removeValidatedNodeType-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeValidatedNodeType</h4>
<pre>public&nbsp;void&nbsp;removeValidatedNodeType(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#removeValidatedNodeType-org.apache.calcite.sql.SqlNode-">SqlValidator</a></code></span></div>
<div class="block">Removes a node from the set of validated nodes</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#removeValidatedNodeType-org.apache.calcite.sql.SqlNode-">removeValidatedNodeType</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>node</code> - node to be removed</dd>
</dl>
</li>
</ul>
<a name="makeNullaryCall-org.apache.calcite.sql.SqlIdentifier-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>makeNullaryCall</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/javax/annotation/Nullable.html?is-external=true" title="javax.annotation中的类或接口">@Nullable</a>
public&nbsp;<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;makeNullaryCall(<a href="../../../../../org/apache/calcite/sql/SqlIdentifier.html" title="org.apache.calcite.sql中的类">SqlIdentifier</a>&nbsp;id)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#makeNullaryCall-org.apache.calcite.sql.SqlIdentifier-">SqlValidator</a></code></span></div>
<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>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#makeNullaryCall-org.apache.calcite.sql.SqlIdentifier-">makeNullaryCall</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
</dl>
</li>
</ul>
<a name="deriveType-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deriveType</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;deriveType(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;expr)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#deriveType-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.sql.SqlNode-">SqlValidator</a></code></span></div>
<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="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#deriveType-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.sql.SqlNode-">deriveType</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>scope</code> - Syntactic scope</dd>
<dd><code>expr</code> - Parse tree node</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Type of the SqlNode. Should never return <code>NULL</code></dd>
</dl>
</li>
</ul>
<a name="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>public&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;deriveConstructorType(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call,
<a href="../../../../../org/apache/calcite/sql/SqlFunction.html" title="org.apache.calcite.sql中的类">SqlFunction</a>&nbsp;unresolvedConstructor,
<a href="../../../../../org/apache/calcite/sql/SqlFunction.html" title="org.apache.calcite.sql中的类">SqlFunction</a>&nbsp;resolvedConstructor,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&nbsp;argTypes)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#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-">SqlValidator</a></code></span></div>
<div class="block">Derives the type of a constructor.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#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></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</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">返回:</span></dt>
<dd>Resolved type of constructor</dd>
</dl>
</li>
</ul>
<a name="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>public&nbsp;<a href="../../../../../org/apache/calcite/runtime/CalciteException.html" title="org.apache.calcite.runtime中的类">CalciteException</a>&nbsp;handleUnresolvedFunction(<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call,
<a href="../../../../../org/apache/calcite/sql/SqlFunction.html" title="org.apache.calcite.sql中的类">SqlFunction</a>&nbsp;unresolvedFunction,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&nbsp;argTypes,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&gt;&nbsp;argNames)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#handleUnresolvedFunction-org.apache.calcite.sql.SqlCall-org.apache.calcite.sql.SqlFunction-java.util.List-java.util.List-">SqlValidator</a></code></span></div>
<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="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#handleUnresolvedFunction-org.apache.calcite.sql.SqlCall-org.apache.calcite.sql.SqlFunction-java.util.List-java.util.List-">handleUnresolvedFunction</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</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 name="inferUnknownTypes-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>inferUnknownTypes</h4>
<pre>protected&nbsp;void&nbsp;inferUnknownTypes(<a href="https://docs.oracle.com/javase/8/docs/api/javax/annotation/Nonnull.html?is-external=true" title="javax.annotation中的类或接口">@Nonnull</a>
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;inferredType,
<a href="https://docs.oracle.com/javase/8/docs/api/javax/annotation/Nonnull.html?is-external=true" title="javax.annotation中的类或接口">@Nonnull</a>
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="https://docs.oracle.com/javase/8/docs/api/javax/annotation/Nonnull.html?is-external=true" title="javax.annotation中的类或接口">@Nonnull</a>
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node)</pre>
</li>
</ul>
<a name="addToSelectList-java.util.List-java.util.Set-java.util.List-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SelectScope-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addToSelectList</h4>
<pre>protected&nbsp;void&nbsp;addToSelectList(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&gt;&nbsp;list,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&gt;&nbsp;aliases,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="java.util中的类或接口">Map.Entry</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>,<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&gt;&nbsp;fieldList,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;exp,
<a href="../../../../../org/apache/calcite/sql/validate/SelectScope.html" title="org.apache.calcite.sql.validate中的类">SelectScope</a>&nbsp;scope,
boolean&nbsp;includeSystemVars)</pre>
<div class="block">Adds an expression to a select list, ensuring that its alias does not
clash with any existing expressions on the list.</div>
</li>
</ul>
<a name="deriveAlias-org.apache.calcite.sql.SqlNode-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deriveAlias</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&nbsp;deriveAlias(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node,
int&nbsp;ordinal)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#deriveAlias-org.apache.calcite.sql.SqlNode-int-">SqlValidator</a></code></span></div>
<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="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#deriveAlias-org.apache.calcite.sql.SqlNode-int-">deriveAlias</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>node</code> - Expression</dd>
<dd><code>ordinal</code> - Ordinal of expression</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>derived alias, or null if no alias can be derived and ordinal is
less than zero</dd>
</dl>
</li>
</ul>
<a name="setIdentifierExpansion-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIdentifierExpansion</h4>
<pre>public&nbsp;void&nbsp;setIdentifierExpansion(boolean&nbsp;expandIdentifiers)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#setIdentifierExpansion-boolean-">SqlValidator</a></code></span></div>
<div class="block">Enables or disables expansion of identifiers other than column
references.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#setIdentifierExpansion-boolean-">setIdentifierExpansion</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>expandIdentifiers</code> - new setting</dd>
</dl>
</li>
</ul>
<a name="setColumnReferenceExpansion-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setColumnReferenceExpansion</h4>
<pre>public&nbsp;void&nbsp;setColumnReferenceExpansion(boolean&nbsp;expandColumnReferences)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#setColumnReferenceExpansion-boolean-">SqlValidator</a></code></span></div>
<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="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#setColumnReferenceExpansion-boolean-">setColumnReferenceExpansion</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>expandColumnReferences</code> - new setting</dd>
</dl>
</li>
</ul>
<a name="getColumnReferenceExpansion--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColumnReferenceExpansion</h4>
<pre>public&nbsp;boolean&nbsp;getColumnReferenceExpansion()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getColumnReferenceExpansion--">getColumnReferenceExpansion</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>whether column reference expansion is enabled</dd>
</dl>
</li>
</ul>
<a name="setDefaultNullCollation-org.apache.calcite.config.NullCollation-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDefaultNullCollation</h4>
<pre>public&nbsp;void&nbsp;setDefaultNullCollation(<a href="../../../../../org/apache/calcite/config/NullCollation.html" title="org.apache.calcite.config中的枚举">NullCollation</a>&nbsp;nullCollation)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#setDefaultNullCollation-org.apache.calcite.config.NullCollation-">SqlValidator</a></code></span></div>
<div class="block">Sets how NULL values should be collated if an ORDER BY item does not
contain NULLS FIRST or NULLS LAST.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#setDefaultNullCollation-org.apache.calcite.config.NullCollation-">setDefaultNullCollation</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
</dl>
</li>
</ul>
<a name="getDefaultNullCollation--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultNullCollation</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/config/NullCollation.html" title="org.apache.calcite.config中的枚举">NullCollation</a>&nbsp;getDefaultNullCollation()</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getDefaultNullCollation--">SqlValidator</a></code></span></div>
<div class="block">Returns how NULL values should be collated if an ORDER BY item does not
contain NULLS FIRST or NULLS LAST.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getDefaultNullCollation--">getDefaultNullCollation</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
</dl>
</li>
</ul>
<a name="setCallRewrite-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCallRewrite</h4>
<pre>public&nbsp;void&nbsp;setCallRewrite(boolean&nbsp;rewriteCalls)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#setCallRewrite-boolean-">SqlValidator</a></code></span></div>
<div class="block">Enables or disables rewrite of "macro-like" calls such as COALESCE.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#setCallRewrite-boolean-">setCallRewrite</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>rewriteCalls</code> - new setting</dd>
</dl>
</li>
</ul>
<a name="shouldExpandIdentifiers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldExpandIdentifiers</h4>
<pre>public&nbsp;boolean&nbsp;shouldExpandIdentifiers()</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#shouldExpandIdentifiers--">SqlValidator</a></code></span></div>
<div class="block">Returns expansion of identifiers.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#shouldExpandIdentifiers--">shouldExpandIdentifiers</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>whether this validator should expand identifiers</dd>
</dl>
</li>
</ul>
<a name="shouldAllowIntermediateOrderBy--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldAllowIntermediateOrderBy</h4>
<pre>protected&nbsp;boolean&nbsp;shouldAllowIntermediateOrderBy()</pre>
</li>
</ul>
<a name="createMatchRecognizeNameSpace-org.apache.calcite.sql.SqlMatchRecognize-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createMatchRecognizeNameSpace</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/MatchRecognizeNamespace.html" title="org.apache.calcite.sql.validate中的类">MatchRecognizeNamespace</a>&nbsp;createMatchRecognizeNameSpace(<a href="../../../../../org/apache/calcite/sql/SqlMatchRecognize.html" title="org.apache.calcite.sql中的类">SqlMatchRecognize</a>&nbsp;call,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;enclosingNode)</pre>
</li>
</ul>
<a name="registerNamespace-org.apache.calcite.sql.validate.SqlValidatorScope-java.lang.String-org.apache.calcite.sql.validate.SqlValidatorNamespace-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerNamespace</h4>
<pre>protected&nbsp;void&nbsp;registerNamespace(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;usingScope,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&nbsp;alias,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorNamespace.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorNamespace</a>&nbsp;ns,
boolean&nbsp;forceNullable)</pre>
<div class="block">Registers a new namespace, and adds it as a child of its parent scope.
Derived class can override this method to tinker with namespaces as they
are created.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>usingScope</code> - Parent scope (which will want to look for things in
this namespace)</dd>
<dd><code>alias</code> - Alias by which parent will refer to this namespace</dd>
<dd><code>ns</code> - Namespace</dd>
<dd><code>forceNullable</code> - Whether to force the type of namespace to be nullable</dd>
</dl>
</li>
</ul>
<a name="shouldAllowOverRelation--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldAllowOverRelation</h4>
<pre>protected&nbsp;boolean&nbsp;shouldAllowOverRelation()</pre>
</li>
</ul>
<a name="createSelectNamespace-org.apache.calcite.sql.SqlSelect-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createSelectNamespace</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SelectNamespace.html" title="org.apache.calcite.sql.validate中的类">SelectNamespace</a>&nbsp;createSelectNamespace(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;enclosingNode)</pre>
<div class="block">Creates a namespace for a <code>SELECT</code> node. Derived class may
override this factory method.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>select</code> - Select node</dd>
<dd><code>enclosingNode</code> - Enclosing node</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Select namespace</dd>
</dl>
</li>
</ul>
<a name="createSetopNamespace-org.apache.calcite.sql.SqlCall-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createSetopNamespace</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SetopNamespace.html" title="org.apache.calcite.sql.validate中的类">SetopNamespace</a>&nbsp;createSetopNamespace(<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;enclosingNode)</pre>
<div class="block">Creates a namespace for a set operation (<code>UNION</code>, <code>
INTERSECT</code>, or <code>EXCEPT</code>). Derived class may override
this factory method.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>call</code> - Call to set operation</dd>
<dd><code>enclosingNode</code> - Enclosing node</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Set operation namespace</dd>
</dl>
</li>
</ul>
<a name="isAggregate-org.apache.calcite.sql.SqlSelect-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAggregate</h4>
<pre>public&nbsp;boolean&nbsp;isAggregate(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#isAggregate-org.apache.calcite.sql.SqlSelect-">SqlValidator</a></code></span></div>
<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="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#isAggregate-org.apache.calcite.sql.SqlSelect-">isAggregate</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>select</code> - SELECT statement</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>whether SELECT statement is an aggregation</dd>
</dl>
</li>
</ul>
<a name="isNestedAggregateWindow-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNestedAggregateWindow</h4>
<pre>protected&nbsp;boolean&nbsp;isNestedAggregateWindow(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node)</pre>
</li>
</ul>
<a name="isOverAggregateWindow-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isOverAggregateWindow</h4>
<pre>protected&nbsp;boolean&nbsp;isOverAggregateWindow(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node)</pre>
</li>
</ul>
<a name="getAggregate-org.apache.calcite.sql.SqlSelect-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAggregate</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;getAggregate(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</pre>
<div class="block">Returns the parse tree node (GROUP BY, HAVING, or an aggregate function
call) that causes <code>select</code> to be an aggregate query, or null if it
is not an aggregate query.
<p>The node is useful context for error messages,
but you cannot assume that the node is the only aggregate function.</div>
</li>
</ul>
<a name="isAggregate-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAggregate</h4>
<pre>public&nbsp;boolean&nbsp;isAggregate(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;selectNode)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#isAggregate-org.apache.calcite.sql.SqlNode-">SqlValidator</a></code></span></div>
<div class="block">Returns whether a select list expression is an aggregate function.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#isAggregate-org.apache.calcite.sql.SqlNode-">isAggregate</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>selectNode</code> - Expression in SELECT clause</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>whether expression is an aggregate function</dd>
</dl>
</li>
</ul>
<a name="validateIdentifier-org.apache.calcite.sql.SqlIdentifier-org.apache.calcite.sql.validate.SqlValidatorScope-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateIdentifier</h4>
<pre>public&nbsp;void&nbsp;validateIdentifier(<a href="../../../../../org/apache/calcite/sql/SqlIdentifier.html" title="org.apache.calcite.sql中的类">SqlIdentifier</a>&nbsp;id,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateIdentifier-org.apache.calcite.sql.SqlIdentifier-org.apache.calcite.sql.validate.SqlValidatorScope-">SqlValidator</a></code></span></div>
<div class="block">Resolves an identifier to a fully-qualified name.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateIdentifier-org.apache.calcite.sql.SqlIdentifier-org.apache.calcite.sql.validate.SqlValidatorScope-">validateIdentifier</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>id</code> - Identifier</dd>
<dd><code>scope</code> - Naming scope</dd>
</dl>
</li>
</ul>
<a name="validateLiteral-org.apache.calcite.sql.SqlLiteral-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateLiteral</h4>
<pre>public&nbsp;void&nbsp;validateLiteral(<a href="../../../../../org/apache/calcite/sql/SqlLiteral.html" title="org.apache.calcite.sql中的类">SqlLiteral</a>&nbsp;literal)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateLiteral-org.apache.calcite.sql.SqlLiteral-">SqlValidator</a></code></span></div>
<div class="block">Validates a literal.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateLiteral-org.apache.calcite.sql.SqlLiteral-">validateLiteral</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>literal</code> - Literal</dd>
</dl>
</li>
</ul>
<a name="validateIntervalQualifier-org.apache.calcite.sql.SqlIntervalQualifier-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateIntervalQualifier</h4>
<pre>public&nbsp;void&nbsp;validateIntervalQualifier(<a href="../../../../../org/apache/calcite/sql/SqlIntervalQualifier.html" title="org.apache.calcite.sql中的类">SqlIntervalQualifier</a>&nbsp;qualifier)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateIntervalQualifier-org.apache.calcite.sql.SqlIntervalQualifier-">SqlValidator</a></code></span></div>
<div class="block">Validates a <a href="../../../../../org/apache/calcite/sql/SqlIntervalQualifier.html" title="org.apache.calcite.sql中的类"><code>SqlIntervalQualifier</code></a></div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateIntervalQualifier-org.apache.calcite.sql.SqlIntervalQualifier-">validateIntervalQualifier</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>qualifier</code> - Interval qualifier</dd>
</dl>
</li>
</ul>
<a name="validateFrom-org.apache.calcite.sql.SqlNode-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.sql.validate.SqlValidatorScope-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateFrom</h4>
<pre>protected&nbsp;void&nbsp;validateFrom(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope)</pre>
<div class="block">Validates the FROM clause of a query, or (recursively) a child node of
the FROM clause: AS, OVER, JOIN, VALUES, or sub-query.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>node</code> - Node in FROM clause, typically a table or derived
table</dd>
<dd><code>targetRowType</code> - Desired row type of this expression, or
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.html#unknownType"><code>unknownType</code></a> if not fussy. Must not be null.</dd>
<dd><code>scope</code> - Scope</dd>
</dl>
</li>
</ul>
<a name="validateOver-org.apache.calcite.sql.SqlCall-org.apache.calcite.sql.validate.SqlValidatorScope-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateOver</h4>
<pre>protected&nbsp;void&nbsp;validateOver(<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope)</pre>
</li>
</ul>
<a name="validateUnnest-org.apache.calcite.sql.SqlCall-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateUnnest</h4>
<pre>protected&nbsp;void&nbsp;validateUnnest(<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType)</pre>
</li>
</ul>
<a name="validateJoin-org.apache.calcite.sql.SqlJoin-org.apache.calcite.sql.validate.SqlValidatorScope-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateJoin</h4>
<pre>protected&nbsp;void&nbsp;validateJoin(<a href="../../../../../org/apache/calcite/sql/SqlJoin.html" title="org.apache.calcite.sql中的类">SqlJoin</a>&nbsp;join,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope)</pre>
</li>
</ul>
<a name="validateSelect-org.apache.calcite.sql.SqlSelect-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateSelect</h4>
<pre>protected&nbsp;void&nbsp;validateSelect(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType)</pre>
<div class="block">Validates a SELECT statement.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>select</code> - Select statement</dd>
<dd><code>targetRowType</code> - Desired row type, must not be null, may be the data
type 'unknown'.</dd>
</dl>
</li>
</ul>
<a name="validateModality-org.apache.calcite.sql.SqlSelect-org.apache.calcite.sql.validate.SqlModality-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateModality</h4>
<pre>public&nbsp;boolean&nbsp;validateModality(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
<a href="../../../../../org/apache/calcite/sql/validate/SqlModality.html" title="org.apache.calcite.sql.validate中的枚举">SqlModality</a>&nbsp;modality,
boolean&nbsp;fail)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateModality-org.apache.calcite.sql.SqlSelect-org.apache.calcite.sql.validate.SqlModality-boolean-">SqlValidator</a></code></span></div>
<div class="block">Validates that a query is capable of producing a return of given modality
(relational or streaming).</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateModality-org.apache.calcite.sql.SqlSelect-org.apache.calcite.sql.validate.SqlModality-boolean-">validateModality</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</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">返回:</span></dt>
<dd>whether query supports the given modality</dd>
</dl>
</li>
</ul>
<a name="validateWindowClause-org.apache.calcite.sql.SqlSelect-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateWindowClause</h4>
<pre>protected&nbsp;void&nbsp;validateWindowClause(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</pre>
</li>
</ul>
<a name="validateWith-org.apache.calcite.sql.SqlWith-org.apache.calcite.sql.validate.SqlValidatorScope-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateWith</h4>
<pre>public&nbsp;void&nbsp;validateWith(<a href="../../../../../org/apache/calcite/sql/SqlWith.html" title="org.apache.calcite.sql中的类">SqlWith</a>&nbsp;with,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateWith-org.apache.calcite.sql.SqlWith-org.apache.calcite.sql.validate.SqlValidatorScope-">validateWith</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
</dl>
</li>
</ul>
<a name="validateWithItem-org.apache.calcite.sql.SqlWithItem-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateWithItem</h4>
<pre>public&nbsp;void&nbsp;validateWithItem(<a href="../../../../../org/apache/calcite/sql/SqlWithItem.html" title="org.apache.calcite.sql中的类">SqlWithItem</a>&nbsp;withItem)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateWithItem-org.apache.calcite.sql.SqlWithItem-">validateWithItem</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
</dl>
</li>
</ul>
<a name="validateSequenceValue-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.sql.SqlIdentifier-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateSequenceValue</h4>
<pre>public&nbsp;void&nbsp;validateSequenceValue(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/sql/SqlIdentifier.html" title="org.apache.calcite.sql中的类">SqlIdentifier</a>&nbsp;id)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateSequenceValue-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.sql.SqlIdentifier-">validateSequenceValue</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
</dl>
</li>
</ul>
<a name="getWithScope-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWithScope</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;getWithScope(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;withItem)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getWithScope-org.apache.calcite.sql.SqlNode-">getWithScope</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
</dl>
</li>
</ul>
<a name="setLenientOperatorLookup-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLenientOperatorLookup</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a>&nbsp;setLenientOperatorLookup(boolean&nbsp;lenient)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#setLenientOperatorLookup-boolean-">SqlValidator</a></code></span></div>
<div class="block">Sets whether this validator should be lenient upon encountering an unknown
function.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#setLenientOperatorLookup-boolean-">setLenientOperatorLookup</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>lenient</code> - Whether to be lenient when encountering an unknown function</dd>
</dl>
</li>
</ul>
<a name="isLenientOperatorLookup--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLenientOperatorLookup</h4>
<pre>public&nbsp;boolean&nbsp;isLenientOperatorLookup()</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#isLenientOperatorLookup--">SqlValidator</a></code></span></div>
<div class="block">Returns whether this validator should be lenient upon encountering an
unknown function.
<p>If true, if a statement contains a call to a function that is not
present in the operator table, or if the call does not have the required
number or types of operands, the validator nevertheless regards the
statement as valid. The type of the function call will be
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getUnknownType--"><code>UNKNOWN</code></a>.
<p>If false (the default behavior), an unknown function call causes a
validation error to be thrown.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#isLenientOperatorLookup--">isLenientOperatorLookup</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
</dl>
</li>
</ul>
<a name="setEnableTypeCoercion-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEnableTypeCoercion</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a>&nbsp;setEnableTypeCoercion(boolean&nbsp;enabled)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#setEnableTypeCoercion-boolean-">SqlValidator</a></code></span></div>
<div class="block">Sets enable or disable implicit type coercion when the validator does validation.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#setEnableTypeCoercion-boolean-">setEnableTypeCoercion</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>enabled</code> - if enable the type coercion, default is true</dd>
<dt><span class="seeLabel">另请参阅:</span></dt>
<dd><a href="../../../../../org/apache/calcite/sql/validate/implicit/TypeCoercionImpl.html" title="org.apache.calcite.sql.validate.implicit中的类"><code>TypeCoercionImpl</code></a></dd>
</dl>
</li>
</ul>
<a name="isTypeCoercionEnabled--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTypeCoercionEnabled</h4>
<pre>public&nbsp;boolean&nbsp;isTypeCoercionEnabled()</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#isTypeCoercionEnabled--">SqlValidator</a></code></span></div>
<div class="block">Returns if this validator supports implicit type coercion.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#isTypeCoercionEnabled--">isTypeCoercionEnabled</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
</dl>
</li>
</ul>
<a name="setTypeCoercion-org.apache.calcite.sql.validate.implicit.TypeCoercion-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTypeCoercion</h4>
<pre>public&nbsp;void&nbsp;setTypeCoercion(<a href="../../../../../org/apache/calcite/sql/validate/implicit/TypeCoercion.html" title="org.apache.calcite.sql.validate.implicit中的接口">TypeCoercion</a>&nbsp;typeCoercion)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#setTypeCoercion-org.apache.calcite.sql.validate.implicit.TypeCoercion-">SqlValidator</a></code></span></div>
<div class="block">Sets an instance of type coercion, you can customize the coercion rules to
override the default ones defined in
<a href="../../../../../org/apache/calcite/sql/validate/implicit/TypeCoercionImpl.html" title="org.apache.calcite.sql.validate.implicit中的类"><code>TypeCoercionImpl</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#setTypeCoercion-org.apache.calcite.sql.validate.implicit.TypeCoercion-">setTypeCoercion</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>typeCoercion</code> - <a href="../../../../../org/apache/calcite/sql/validate/implicit/TypeCoercion.html" title="org.apache.calcite.sql.validate.implicit中的接口"><code>TypeCoercion</code></a> instance</dd>
</dl>
</li>
</ul>
<a name="getTypeCoercion--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTypeCoercion</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/implicit/TypeCoercion.html" title="org.apache.calcite.sql.validate.implicit中的接口">TypeCoercion</a>&nbsp;getTypeCoercion()</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getTypeCoercion--">SqlValidator</a></code></span></div>
<div class="block">Get the type coercion instance.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getTypeCoercion--">getTypeCoercion</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
</dl>
</li>
</ul>
<a name="setSqlTypeCoercionRules-org.apache.calcite.sql.type.SqlTypeCoercionRule-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSqlTypeCoercionRules</h4>
<pre>public&nbsp;void&nbsp;setSqlTypeCoercionRules(<a href="../../../../../org/apache/calcite/sql/type/SqlTypeCoercionRule.html" title="org.apache.calcite.sql.type中的类">SqlTypeCoercionRule</a>&nbsp;typeCoercionRules)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#setSqlTypeCoercionRules-org.apache.calcite.sql.type.SqlTypeCoercionRule-">SqlValidator</a></code></span></div>
<div class="block">Sets the <a href="../../../../../org/apache/calcite/sql/type/SqlTypeCoercionRule.html" title="org.apache.calcite.sql.type中的类"><code>SqlTypeCoercionRule</code></a> instance which defines the type conversion matrix
for the explicit type coercion.
<p>The <code>typeCoercionRules</code> setting should be thread safe.
In the default implementation,
the <code>typeCoercionRules</code> is set to a ThreadLocal variable.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#setSqlTypeCoercionRules-org.apache.calcite.sql.type.SqlTypeCoercionRule-">setSqlTypeCoercionRules</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>typeCoercionRules</code> - The <a href="../../../../../org/apache/calcite/sql/type/SqlTypeCoercionRule.html" title="org.apache.calcite.sql.type中的类"><code>SqlTypeCoercionRule</code></a> instance, see its documentation
for how to customize the rules.</dd>
</dl>
</li>
</ul>
<a name="validateOrderList-org.apache.calcite.sql.SqlSelect-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateOrderList</h4>
<pre>protected&nbsp;void&nbsp;validateOrderList(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</pre>
<div class="block">Validates the ORDER BY clause of a SELECT statement.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>select</code> - Select statement</dd>
</dl>
</li>
</ul>
<a name="expandOrderExpr-org.apache.calcite.sql.SqlSelect-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>expandOrderExpr</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;expandOrderExpr(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;orderExpr)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#expandOrderExpr-org.apache.calcite.sql.SqlSelect-org.apache.calcite.sql.SqlNode-">SqlValidator</a></code></span></div>
<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="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#expandOrderExpr-org.apache.calcite.sql.SqlSelect-org.apache.calcite.sql.SqlNode-">expandOrderExpr</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</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">返回:</span></dt>
<dd>Expression translated into SELECT clause semantics</dd>
</dl>
</li>
</ul>
<a name="validateGroupClause-org.apache.calcite.sql.SqlSelect-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateGroupClause</h4>
<pre>protected&nbsp;void&nbsp;validateGroupClause(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</pre>
<div class="block">Validates the GROUP BY clause of a SELECT statement. This method is
called even if no GROUP BY clause is present.</div>
</li>
</ul>
<a name="validateWhereClause-org.apache.calcite.sql.SqlSelect-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateWhereClause</h4>
<pre>protected&nbsp;void&nbsp;validateWhereClause(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</pre>
</li>
</ul>
<a name="validateWhereOrOn-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.sql.SqlNode-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateWhereOrOn</h4>
<pre>protected&nbsp;void&nbsp;validateWhereOrOn(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;condition,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&nbsp;clause)</pre>
</li>
</ul>
<a name="validateHavingClause-org.apache.calcite.sql.SqlSelect-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateHavingClause</h4>
<pre>protected&nbsp;void&nbsp;validateHavingClause(<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</pre>
</li>
</ul>
<a name="validateSelectList-org.apache.calcite.sql.SqlNodeList-org.apache.calcite.sql.SqlSelect-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateSelectList</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;validateSelectList(<a href="../../../../../org/apache/calcite/sql/SqlNodeList.html" title="org.apache.calcite.sql中的类">SqlNodeList</a>&nbsp;selectItems,
<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType)</pre>
</li>
</ul>
<a name="createTargetRowType-org.apache.calcite.sql.validate.SqlValidatorTable-org.apache.calcite.sql.SqlNodeList-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createTargetRowType</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;createTargetRowType(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorTable.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorTable</a>&nbsp;table,
<a href="../../../../../org/apache/calcite/sql/SqlNodeList.html" title="org.apache.calcite.sql中的类">SqlNodeList</a>&nbsp;targetColumnList,
boolean&nbsp;append)</pre>
<div class="block">Derives a row-type for INSERT and UPDATE operations.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>table</code> - Target table for INSERT/UPDATE</dd>
<dd><code>targetColumnList</code> - List of target columns, or null if not specified</dd>
<dd><code>append</code> - Whether to append fields to those in <code>
baseRowType</code></dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Rowtype</dd>
</dl>
</li>
</ul>
<a name="validateInsert-org.apache.calcite.sql.SqlInsert-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateInsert</h4>
<pre>public&nbsp;void&nbsp;validateInsert(<a href="../../../../../org/apache/calcite/sql/SqlInsert.html" title="org.apache.calcite.sql中的类">SqlInsert</a>&nbsp;insert)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateInsert-org.apache.calcite.sql.SqlInsert-">SqlValidator</a></code></span></div>
<div class="block">Validates an INSERT statement.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateInsert-org.apache.calcite.sql.SqlInsert-">validateInsert</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>insert</code> - INSERT statement</dd>
</dl>
</li>
</ul>
<a name="getLogicalTargetRowType-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.sql.SqlInsert-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLogicalTargetRowType</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;getLogicalTargetRowType(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType,
<a href="../../../../../org/apache/calcite/sql/SqlInsert.html" title="org.apache.calcite.sql中的类">SqlInsert</a>&nbsp;insert)</pre>
</li>
</ul>
<a name="getLogicalSourceRowType-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.sql.SqlInsert-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLogicalSourceRowType</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;getLogicalSourceRowType(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;sourceRowType,
<a href="../../../../../org/apache/calcite/sql/SqlInsert.html" title="org.apache.calcite.sql中的类">SqlInsert</a>&nbsp;insert)</pre>
</li>
</ul>
<a name="checkTypeAssignment-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.sql.validate.SqlValidatorTable-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkTypeAssignment</h4>
<pre>protected&nbsp;void&nbsp;checkTypeAssignment(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;sourceScope,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorTable.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorTable</a>&nbsp;table,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;sourceRowType,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;query)</pre>
<div class="block">Checks the type assignment of an INSERT or UPDATE query.
<p>Skip the virtual columns(can not insert into) type assignment
check if the source fields count equals with
the real target table fields count, see how #checkFieldCount was used.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>sourceScope</code> - Scope of query source which is used to infer node type</dd>
<dd><code>table</code> - Target table</dd>
<dd><code>sourceRowType</code> - Source row type</dd>
<dd><code>targetRowType</code> - Target row type, it should either contain all the virtual columns
(can not insert into) or exclude all the virtual columns</dd>
<dd><code>query</code> - The query</dd>
</dl>
</li>
</ul>
<a name="validateDelete-org.apache.calcite.sql.SqlDelete-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateDelete</h4>
<pre>public&nbsp;void&nbsp;validateDelete(<a href="../../../../../org/apache/calcite/sql/SqlDelete.html" title="org.apache.calcite.sql中的类">SqlDelete</a>&nbsp;call)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateDelete-org.apache.calcite.sql.SqlDelete-">SqlValidator</a></code></span></div>
<div class="block">Validates a DELETE statement.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateDelete-org.apache.calcite.sql.SqlDelete-">validateDelete</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>call</code> - DELETE statement</dd>
</dl>
</li>
</ul>
<a name="validateUpdate-org.apache.calcite.sql.SqlUpdate-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateUpdate</h4>
<pre>public&nbsp;void&nbsp;validateUpdate(<a href="../../../../../org/apache/calcite/sql/SqlUpdate.html" title="org.apache.calcite.sql中的类">SqlUpdate</a>&nbsp;call)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateUpdate-org.apache.calcite.sql.SqlUpdate-">SqlValidator</a></code></span></div>
<div class="block">Validates an UPDATE statement.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateUpdate-org.apache.calcite.sql.SqlUpdate-">validateUpdate</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>call</code> - UPDATE statement</dd>
</dl>
</li>
</ul>
<a name="validateMerge-org.apache.calcite.sql.SqlMerge-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateMerge</h4>
<pre>public&nbsp;void&nbsp;validateMerge(<a href="../../../../../org/apache/calcite/sql/SqlMerge.html" title="org.apache.calcite.sql中的类">SqlMerge</a>&nbsp;call)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateMerge-org.apache.calcite.sql.SqlMerge-">SqlValidator</a></code></span></div>
<div class="block">Validates a MERGE statement.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateMerge-org.apache.calcite.sql.SqlMerge-">validateMerge</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>call</code> - MERGE statement</dd>
</dl>
</li>
</ul>
<a name="validateValues-org.apache.calcite.sql.SqlCall-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.sql.validate.SqlValidatorScope-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateValues</h4>
<pre>protected&nbsp;void&nbsp;validateValues(<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;node,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope)</pre>
<div class="block">Validates a VALUES clause.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>node</code> - Values clause</dd>
<dd><code>targetRowType</code> - Row type which expression must conform to</dd>
<dd><code>scope</code> - Scope within which clause occurs</dd>
</dl>
</li>
</ul>
<a name="validateDataType-org.apache.calcite.sql.SqlDataTypeSpec-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateDataType</h4>
<pre>public&nbsp;void&nbsp;validateDataType(<a href="../../../../../org/apache/calcite/sql/SqlDataTypeSpec.html" title="org.apache.calcite.sql中的类">SqlDataTypeSpec</a>&nbsp;dataType)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateDataType-org.apache.calcite.sql.SqlDataTypeSpec-">SqlValidator</a></code></span></div>
<div class="block">Validates a data type expression.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateDataType-org.apache.calcite.sql.SqlDataTypeSpec-">validateDataType</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>dataType</code> - Data type</dd>
</dl>
</li>
</ul>
<a name="validateDynamicParam-org.apache.calcite.sql.SqlDynamicParam-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateDynamicParam</h4>
<pre>public&nbsp;void&nbsp;validateDynamicParam(<a href="../../../../../org/apache/calcite/sql/SqlDynamicParam.html" title="org.apache.calcite.sql中的类">SqlDynamicParam</a>&nbsp;dynamicParam)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateDynamicParam-org.apache.calcite.sql.SqlDynamicParam-">SqlValidator</a></code></span></div>
<div class="block">Validates a dynamic parameter.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateDynamicParam-org.apache.calcite.sql.SqlDynamicParam-">validateDynamicParam</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>dynamicParam</code> - Dynamic parameter</dd>
</dl>
</li>
</ul>
<a name="getValidationErrorFunction--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValidationErrorFunction</h4>
<pre>public&nbsp;org.apache.calcite.sql.validate.SqlValidatorImpl.ValidationErrorFunction&nbsp;getValidationErrorFunction()</pre>
</li>
</ul>
<a name="newValidationError-org.apache.calcite.sql.SqlNode-org.apache.calcite.runtime.Resources.ExInst-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newValidationError</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/runtime/CalciteContextException.html" title="org.apache.calcite.runtime中的类">CalciteContextException</a>&nbsp;newValidationError(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node,
org.apache.calcite.runtime.Resources.ExInst&lt;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorException.html" title="org.apache.calcite.sql.validate中的类">SqlValidatorException</a>&gt;&nbsp;e)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#newValidationError-org.apache.calcite.sql.SqlNode-org.apache.calcite.runtime.Resources.ExInst-">SqlValidator</a></code></span></div>
<div class="block">Adds "line x, column y" context to a validator exception.
<p>Note that the input exception is checked (it derives from
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="java.lang中的类或接口"><code>Exception</code></a>) and the output exception is unchecked (it derives from
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="java.lang中的类或接口"><code>RuntimeException</code></a>). This is intentional -- it should remind code
authors to provide context for their validation errors.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#newValidationError-org.apache.calcite.sql.SqlNode-org.apache.calcite.runtime.Resources.ExInst-">newValidationError</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</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">返回:</span></dt>
<dd>Exception containing positional information, never null</dd>
</dl>
</li>
</ul>
<a name="getWindowByName-org.apache.calcite.sql.SqlIdentifier-org.apache.calcite.sql.validate.SqlValidatorScope-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWindowByName</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/calcite/sql/SqlWindow.html" title="org.apache.calcite.sql中的类">SqlWindow</a>&nbsp;getWindowByName(<a href="../../../../../org/apache/calcite/sql/SqlIdentifier.html" title="org.apache.calcite.sql中的类">SqlIdentifier</a>&nbsp;id,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope)</pre>
</li>
</ul>
<a name="resolveWindow-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SqlValidatorScope-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resolveWindow</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/SqlWindow.html" title="org.apache.calcite.sql中的类">SqlWindow</a>&nbsp;resolveWindow(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;windowOrRef,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
boolean&nbsp;populateBounds)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#resolveWindow-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SqlValidatorScope-boolean-">SqlValidator</a></code></span></div>
<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="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#resolveWindow-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SqlValidatorScope-boolean-">resolveWindow</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>windowOrRef</code> - Either the name of a window (a <a href="../../../../../org/apache/calcite/sql/SqlIdentifier.html" title="org.apache.calcite.sql中的类"><code>SqlIdentifier</code></a>)
or a window specification (a <a href="../../../../../org/apache/calcite/sql/SqlWindow.html" title="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">返回:</span></dt>
<dd>A window</dd>
</dl>
</li>
</ul>
<a name="getOriginal-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOriginal</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;getOriginal(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;expr)</pre>
</li>
</ul>
<a name="setOriginal-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOriginal</h4>
<pre>public&nbsp;void&nbsp;setOriginal(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;expr,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;original)</pre>
</li>
</ul>
<a name="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>public&nbsp;void&nbsp;validateWindow(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;windowOrId,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateWindow-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.sql.SqlCall-">SqlValidator</a></code></span></div>
<div class="block">Validates the right-hand side of an OVER expression. It might be either
an <a href="../../../../../org/apache/calcite/sql/SqlIdentifier.html" title="org.apache.calcite.sql中的类"><code>identifier</code></a> referencing a window, or an
<a href="../../../../../org/apache/calcite/sql/SqlWindow.html" title="org.apache.calcite.sql中的类"><code>inline window specification</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateWindow-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.sql.SqlCall-">validateWindow</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</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 name="validateMatchRecognize-org.apache.calcite.sql.SqlCall-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateMatchRecognize</h4>
<pre>public&nbsp;void&nbsp;validateMatchRecognize(<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateMatchRecognize-org.apache.calcite.sql.SqlCall-">SqlValidator</a></code></span></div>
<div class="block">Validates a MATCH_RECOGNIZE clause.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateMatchRecognize-org.apache.calcite.sql.SqlCall-">validateMatchRecognize</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>call</code> - MATCH_RECOGNIZE clause</dd>
</dl>
</li>
</ul>
<a name="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>public&nbsp;void&nbsp;validateAggregateParams(<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;aggCall,
<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;filter,
<a href="../../../../../org/apache/calcite/sql/SqlNodeList.html" title="org.apache.calcite.sql中的类">SqlNodeList</a>&nbsp;orderList,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateAggregateParams-org.apache.calcite.sql.SqlCall-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.SqlNodeList-org.apache.calcite.sql.validate.SqlValidatorScope-">SqlValidator</a></code></span></div>
<div class="block">Validates parameters for aggregate function.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateAggregateParams-org.apache.calcite.sql.SqlCall-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.SqlNodeList-org.apache.calcite.sql.validate.SqlValidatorScope-">validateAggregateParams</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</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 name="validateCall-org.apache.calcite.sql.SqlCall-org.apache.calcite.sql.validate.SqlValidatorScope-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateCall</h4>
<pre>public&nbsp;void&nbsp;validateCall(<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateCall-org.apache.calcite.sql.SqlCall-org.apache.calcite.sql.validate.SqlValidatorScope-">SqlValidator</a></code></span></div>
<div class="block">Validates a call to an operator.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateCall-org.apache.calcite.sql.SqlCall-org.apache.calcite.sql.validate.SqlValidatorScope-">validateCall</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>call</code> - Operator call</dd>
<dd><code>scope</code> - Naming scope</dd>
</dl>
</li>
</ul>
<a name="validateFeature-org.apache.calcite.runtime.Feature-org.apache.calcite.sql.parser.SqlParserPos-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateFeature</h4>
<pre>protected&nbsp;void&nbsp;validateFeature(<a href="../../../../../org/apache/calcite/runtime/Feature.html" title="org.apache.calcite.runtime中的类">Feature</a>&nbsp;feature,
<a href="../../../../../org/apache/calcite/sql/parser/SqlParserPos.html" title="org.apache.calcite.sql.parser中的类">SqlParserPos</a>&nbsp;context)</pre>
<div class="block">Validates that a particular feature is enabled. By default, all features
are enabled; subclasses may override this method to be more
discriminating.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>feature</code> - feature being used, represented as a resource instance</dd>
<dd><code>context</code> - parser position context for error reporting, or null if</dd>
</dl>
</li>
</ul>
<a name="expandSelectExpr-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SelectScope-org.apache.calcite.sql.SqlSelect-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>expandSelectExpr</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;expandSelectExpr(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;expr,
<a href="../../../../../org/apache/calcite/sql/validate/SelectScope.html" title="org.apache.calcite.sql.validate中的类">SelectScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</pre>
</li>
</ul>
<a name="expand-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SqlValidatorScope-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>expand</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;expand(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;expr,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#expand-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SqlValidatorScope-">SqlValidator</a></code></span></div>
<div class="block">Expands an expression.</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#expand-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SqlValidatorScope-">expand</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>expr</code> - Expression</dd>
<dd><code>scope</code> - Scope</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Expanded expression</dd>
</dl>
</li>
</ul>
<a name="expandGroupByOrHavingExpr-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.sql.SqlSelect-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>expandGroupByOrHavingExpr</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;expandGroupByOrHavingExpr(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;expr,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
boolean&nbsp;havingExpression)</pre>
</li>
</ul>
<a name="isSystemField-org.apache.calcite.rel.type.RelDataTypeField-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSystemField</h4>
<pre>public&nbsp;boolean&nbsp;isSystemField(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&nbsp;field)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#isSystemField-org.apache.calcite.rel.type.RelDataTypeField-">SqlValidator</a></code></span></div>
<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="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#isSystemField-org.apache.calcite.rel.type.RelDataTypeField-">isSystemField</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>field</code> - Field</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>whether field is a system field</dd>
</dl>
</li>
</ul>
<a name="getFieldOrigins-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFieldOrigins</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&gt;&gt;&nbsp;getFieldOrigins(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;sqlQuery)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getFieldOrigins-org.apache.calcite.sql.SqlNode-">SqlValidator</a></code></span></div>
<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="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getFieldOrigins-org.apache.calcite.sql.SqlNode-">getFieldOrigins</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>sqlQuery</code> - Query</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Description of how each field in the row type maps to a schema
object</dd>
</dl>
</li>
</ul>
<a name="getParameterRowType-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParameterRowType</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;getParameterRowType(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;sqlQuery)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getParameterRowType-org.apache.calcite.sql.SqlNode-">SqlValidator</a></code></span></div>
<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="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getParameterRowType-org.apache.calcite.sql.SqlNode-">getParameterRowType</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>sqlQuery</code> - Query</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Record type</dd>
</dl>
</li>
</ul>
<a name="validateColumnListParams-org.apache.calcite.sql.SqlFunction-java.util.List-java.util.List-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>validateColumnListParams</h4>
<pre>public&nbsp;void&nbsp;validateColumnListParams(<a href="../../../../../org/apache/calcite/sql/SqlFunction.html" title="org.apache.calcite.sql中的类">SqlFunction</a>&nbsp;function,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&nbsp;argTypes,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&gt;&nbsp;operands)</pre>
<div class="block"><span class="descfrmTypeLabel">从接口复制的说明:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateColumnListParams-org.apache.calcite.sql.SqlFunction-java.util.List-java.util.List-">SqlValidator</a></code></span></div>
<div class="block">Validates a COLUMN_LIST parameter</div>
<dl>
<dt><span class="overrideSpecifyLabel">指定者:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#validateColumnListParams-org.apache.calcite.sql.SqlFunction-java.util.List-java.util.List-">validateColumnListParams</a></code>&nbsp;在接口中&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a></code></dd>
<dt><span class="paramLabel">参数:</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>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="跳过导航链接">跳过导航链接</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="导航">
<li><a href="../../../../../overview-summary.html">概览</a></li>
<li><a href="package-summary.html">程序包</a></li>
<li class="navBarCell1Rev"></li>
<li><a href="package-tree.html"></a></li>
<li><a href="../../../../../deprecated-list.html">已过时</a></li>
<li><a href="../../../../../index-all.html">索引</a></li>
<li><a href="../../../../../help-doc.html">帮助</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorException.html" title="org.apache.calcite.sql.validate中的类"><span class="typeNameLink">上一个类</span></a></li>
<li><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorImpl.DmlNamespace.html" title="org.apache.calcite.sql.validate中的类"><span class="typeNameLink">下一个类</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/calcite/sql/validate/SqlValidatorImpl.html" target="_top">框架</a></li>
<li><a href="SqlValidatorImpl.html" target="_top">无框架</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">所有类</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>
</div>
<div>
<ul class="subNavList">
<li>概要:&nbsp;</li>
<li><a href="#nested.class.summary">嵌套</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">字段</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">构造器</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">方法</a></li>
</ul>
<ul class="subNavList">
<li>详细资料:&nbsp;</li>
<li><a href="#field.detail">字段</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">构造器</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">方法</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &copy; 2012-2020 Apache Software Foundation. All Rights Reserved.</small></p>
</body>
</html>