blob: 8001e9d7c5d39afef9a6c32e6ef462c7296a8c82 [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>SqlToRelConverter (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="SqlToRelConverter (Apache Calcite calcite API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9,"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":42,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":42,"i40":10,"i41":10,"i42":10,"i43":10,"i44":9,"i45":42,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10};
var tabs = {65535:["t0","所有方法"],1:["t1","静态方法"],2:["t2","实例方法"],8:["t4","具体方法"],32:["t6","已过时的方法"]};
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/sql2rel/SqlRexConvertletTable.html" title="org.apache.calcite.sql2rel中的接口"><span class="typeNameLink">上一个类</span></a></li>
<li><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.AggConverter.html" title="org.apache.calcite.sql2rel中的类"><span class="typeNameLink">下一个类</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/calcite/sql2rel/SqlToRelConverter.html" target="_top">框架</a></li>
<li><a href="SqlToRelConverter.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.sql2rel</div>
<h2 title="类 SqlToRelConverter" class="title">类 SqlToRelConverter</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.sql2rel.SqlToRelConverter</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">SqlToRelConverter</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="java.lang中的类或接口">Object</a></pre>
<div class="block">Converts a SQL parse tree (consisting of
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类"><code>SqlNode</code></a> objects) into a relational algebra
expression (consisting of <a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口"><code>RelNode</code></a> objects).
<p>The public entry points are: <a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertQuery-org.apache.calcite.sql.SqlNode-boolean-boolean-"><code>convertQuery(org.apache.calcite.sql.SqlNode, boolean, boolean)</code></a>,
<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertExpression-org.apache.calcite.sql.SqlNode-"><code>convertExpression(SqlNode)</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>protected class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.AggConverter.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.AggConverter</a></span></code>
<div class="block">Converts expressions to aggregates.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a></span></code>
<div class="block">Workspace for translating an individual SELECT statement (or sub-SELECT).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Config.html" title="org.apache.calcite.sql2rel中的接口">SqlToRelConverter.Config</a></span></code>
<div class="block">Interface to define the configuration for a SqlToRelConverter.</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/sql2rel/SqlToRelConverter.ConfigBuilder.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.ConfigBuilder</a></span></code>
<div class="block">Builder for a <a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Config.html" title="org.apache.calcite.sql2rel中的接口"><code>SqlToRelConverter.Config</code></a>.</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 <a href="../../../../org/apache/calcite/prepare/Prepare.CatalogReader.html" title="org.apache.calcite.prepare中的接口">Prepare.CatalogReader</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#catalogReader">catalogReader</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/plan/RelOptCluster.html" title="org.apache.calcite.plan中的类">RelOptCluster</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#cluster">cluster</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Config.html" title="org.apache.calcite.sql2rel中的接口">SqlToRelConverter.Config</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#config">config</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#DEFAULT_IN_SUB_QUERY_THRESHOLD">DEFAULT_IN_SUB_QUERY_THRESHOLD</a></span></code>
<div class="block">Size of the smallest IN list that will be converted to a semijoin to a
static table.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#DEFAULT_IN_SUBQUERY_THRESHOLD">DEFAULT_IN_SUBQUERY_THRESHOLD</a></span></code>
<div class="block"><span class="deprecatedLabel">已过时。</span>&nbsp;</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="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="java.lang中的类或接口">Integer</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#leaves">leaves</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/rex/RexBuilder.html" title="org.apache.calcite.rex中的类">RexBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#rexBuilder">rexBuilder</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#SQL2REL_LOGGER">SQL2REL_LOGGER</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/sql2rel/SqlToRelConverter.html#typeFactory">typeFactory</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <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/sql2rel/SqlToRelConverter.html#validator">validator</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/plan/RelOptTable.ViewExpander.html" title="org.apache.calcite.plan中的接口">RelOptTable.ViewExpander</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#viewExpander">viewExpander</a></span></code>&nbsp;</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="colOne" scope="col">构造器和说明</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#SqlToRelConverter-org.apache.calcite.plan.RelOptTable.ViewExpander-org.apache.calcite.sql.validate.SqlValidator-org.apache.calcite.prepare.Prepare.CatalogReader-org.apache.calcite.plan.RelOptCluster-org.apache.calcite.sql2rel.SqlRexConvertletTable-">SqlToRelConverter</a></span>(<a href="../../../../org/apache/calcite/plan/RelOptTable.ViewExpander.html" title="org.apache.calcite.plan中的接口">RelOptTable.ViewExpander</a>&nbsp;viewExpander,
<a href="../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a>&nbsp;validator,
<a href="../../../../org/apache/calcite/prepare/Prepare.CatalogReader.html" title="org.apache.calcite.prepare中的接口">Prepare.CatalogReader</a>&nbsp;catalogReader,
<a href="../../../../org/apache/calcite/plan/RelOptCluster.html" title="org.apache.calcite.plan中的类">RelOptCluster</a>&nbsp;cluster,
<a href="../../../../org/apache/calcite/sql2rel/SqlRexConvertletTable.html" title="org.apache.calcite.sql2rel中的接口">SqlRexConvertletTable</a>&nbsp;convertletTable)</code>
<div class="block"><span class="deprecatedLabel">已过时。</span>&nbsp;</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#SqlToRelConverter-org.apache.calcite.plan.RelOptTable.ViewExpander-org.apache.calcite.sql.validate.SqlValidator-org.apache.calcite.prepare.Prepare.CatalogReader-org.apache.calcite.plan.RelOptCluster-org.apache.calcite.sql2rel.SqlRexConvertletTable-org.apache.calcite.sql2rel.SqlToRelConverter.Config-">SqlToRelConverter</a></span>(<a href="../../../../org/apache/calcite/plan/RelOptTable.ViewExpander.html" title="org.apache.calcite.plan中的接口">RelOptTable.ViewExpander</a>&nbsp;viewExpander,
<a href="../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a>&nbsp;validator,
<a href="../../../../org/apache/calcite/prepare/Prepare.CatalogReader.html" title="org.apache.calcite.prepare中的接口">Prepare.CatalogReader</a>&nbsp;catalogReader,
<a href="../../../../org/apache/calcite/plan/RelOptCluster.html" title="org.apache.calcite.plan中的类">RelOptCluster</a>&nbsp;cluster,
<a href="../../../../org/apache/calcite/sql2rel/SqlRexConvertletTable.html" title="org.apache.calcite.sql2rel中的接口">SqlRexConvertletTable</a>&nbsp;convertletTable,
<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Config.html" title="org.apache.calcite.sql2rel中的接口">SqlToRelConverter.Config</a>&nbsp;config)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#SqlToRelConverter-org.apache.calcite.plan.RelOptTable.ViewExpander-org.apache.calcite.sql.validate.SqlValidator-org.apache.calcite.prepare.Prepare.CatalogReader-org.apache.calcite.plan.RelOptPlanner-org.apache.calcite.rex.RexBuilder-org.apache.calcite.sql2rel.SqlRexConvertletTable-">SqlToRelConverter</a></span>(<a href="../../../../org/apache/calcite/plan/RelOptTable.ViewExpander.html" title="org.apache.calcite.plan中的接口">RelOptTable.ViewExpander</a>&nbsp;viewExpander,
<a href="../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a>&nbsp;validator,
<a href="../../../../org/apache/calcite/prepare/Prepare.CatalogReader.html" title="org.apache.calcite.prepare中的接口">Prepare.CatalogReader</a>&nbsp;catalogReader,
<a href="../../../../org/apache/calcite/plan/RelOptPlanner.html" title="org.apache.calcite.plan中的接口">RelOptPlanner</a>&nbsp;planner,
<a href="../../../../org/apache/calcite/rex/RexBuilder.html" title="org.apache.calcite.rex中的类">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../../../org/apache/calcite/sql2rel/SqlRexConvertletTable.html" title="org.apache.calcite.sql2rel中的接口">SqlRexConvertletTable</a>&nbsp;convertletTable)</code>
<div class="block"><span class="deprecatedLabel">已过时。</span>&nbsp;</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="t1" class="tableTab"><span><a href="javascript:show(1);">静态方法</a></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><span id="t6" class="tableTab"><span><a href="javascript:show(32);">已过时的方法</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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#addConvertedNonCorrSubqs-java.util.Map-">addConvertedNonCorrSubqs</a></span>(<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/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a>&gt;&nbsp;alreadyConvertedNonCorrSubqs)</code>
<div class="block">Adds to the current map of non-correlated converted sub-queries the
elements from another map that contains non-correlated sub-queries that
have been converted by another SqlToRelConverter.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#adjustInputRef-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.rex.RexInputRef-">adjustInputRef</a></span>(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/rex/RexInputRef.html" title="org.apache.calcite.rex中的类">RexInputRef</a>&nbsp;inputRef)</code>
<div class="block">Adjusts the type of a reference to an input field to account for nulls
introduced by outer joins; and adjusts the offset to match the physical
implementation.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#afterTableFunction-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.sql.SqlCall-org.apache.calcite.rel.logical.LogicalTableFunctionScan-">afterTableFunction</a></span>(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call,
<a href="../../../../org/apache/calcite/rel/logical/LogicalTableFunctionScan.html" title="org.apache.calcite.rel.logical中的类">LogicalTableFunctionScan</a>&nbsp;callRel)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#collectInsertTargets-org.apache.calcite.sql.SqlInsert-org.apache.calcite.rex.RexNode-java.util.List-java.util.List-">collectInsertTargets</a></span>(<a href="../../../../org/apache/calcite/sql/SqlInsert.html" title="org.apache.calcite.sql中的类">SqlInsert</a>&nbsp;call,
<a href="../../../../org/apache/calcite/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a>&nbsp;sourceRef,
<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;targetColumnNames,
<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/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a>&gt;&nbsp;columnExprs)</code>
<div class="block">Given an INSERT statement, collects the list of names to be populated and
the expressions to put in them.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static <a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.ConfigBuilder.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.ConfigBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#configBuilder--">configBuilder</a></span>()</code>
<div class="block">Creates a builder for a <a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Config.html" title="org.apache.calcite.sql2rel中的接口"><code>SqlToRelConverter.Config</code></a>.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertAgg-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.sql.SqlSelect-java.util.List-">convertAgg</a></span>(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
<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;orderExprList)</code>
<div class="block">Converts the SELECT, GROUP BY and HAVING clauses of an aggregate query.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertCollectionTable-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.sql.SqlCall-">convertCollectionTable</a></span>(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call)</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertColumnList-org.apache.calcite.sql.SqlInsert-org.apache.calcite.rel.RelNode-">convertColumnList</a></span>(<a href="../../../../org/apache/calcite/sql/SqlInsert.html" title="org.apache.calcite.sql中的类">SqlInsert</a>&nbsp;call,
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;source)</code>
<div class="block">Creates a source for an INSERT statement.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/rex/RexDynamicParam.html" title="org.apache.calcite.rex中的类">RexDynamicParam</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertDynamicParam-org.apache.calcite.sql.SqlDynamicParam-">convertDynamicParam</a></span>(<a href="../../../../org/apache/calcite/sql/SqlDynamicParam.html" title="org.apache.calcite.sql中的类">SqlDynamicParam</a>&nbsp;dynamicParam)</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertExpression-org.apache.calcite.sql.SqlNode-">convertExpression</a></span>(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node)</code>
<div class="block">Converts an expression from <a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类"><code>SqlNode</code></a> to <a href="../../../../org/apache/calcite/rex/RexNode.html" title="org.apache.calcite.rex中的类"><code>RexNode</code></a> format.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertExpression-org.apache.calcite.sql.SqlNode-java.util.Map-">convertExpression</a></span>(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node,
<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/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a>&gt;&nbsp;nameToNodeMap)</code>
<div class="block">Converts an expression from <a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类"><code>SqlNode</code></a> to <a href="../../../../org/apache/calcite/rex/RexNode.html" title="org.apache.calcite.rex中的类"><code>RexNode</code></a> format,
mapping identifier references to predefined expressions.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertExtendedExpression-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-">convertExtendedExpression</a></span>(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node,
<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb)</code>
<div class="block">Converts a non-standard expression.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertFrom-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.sql.SqlNode-">convertFrom</a></span>(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;from)</code>
<div class="block">Converts a FROM clause into a relational expression.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertInsert-org.apache.calcite.sql.SqlInsert-">convertInsert</a></span>(<a href="../../../../org/apache/calcite/sql/SqlInsert.html" title="org.apache.calcite.sql中的类">SqlInsert</a>&nbsp;call)</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertMatchRecognize-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.sql.SqlCall-">convertMatchRecognize</a></span>(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call)</code>&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertOrder-org.apache.calcite.sql.SqlSelect-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.rel.RelCollation-java.util.List-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.SqlNode-">convertOrder</a></span>(<a href="../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/rel/RelCollation.html" title="org.apache.calcite.rel中的接口">RelCollation</a>&nbsp;collation,
<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;orderExprList,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;offset,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;fetch)</code>
<div class="block">Converts a query's ORDER BY clause, if any.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/rel/RelFieldCollation.html" title="org.apache.calcite.rel中的类">RelFieldCollation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertOrderItem-org.apache.calcite.sql.SqlSelect-org.apache.calcite.sql.SqlNode-java.util.List-org.apache.calcite.rel.RelFieldCollation.Direction-org.apache.calcite.rel.RelFieldCollation.NullDirection-">convertOrderItem</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;orderItem,
<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;extraExprs,
<a href="../../../../org/apache/calcite/rel/RelFieldCollation.Direction.html" title="org.apache.calcite.rel中的枚举">RelFieldCollation.Direction</a>&nbsp;direction,
<a href="../../../../org/apache/calcite/rel/RelFieldCollation.NullDirection.html" title="org.apache.calcite.rel中的枚举">RelFieldCollation.NullDirection</a>&nbsp;nullDirection)</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/rel/RelRoot.html" title="org.apache.calcite.rel中的类">RelRoot</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertQuery-org.apache.calcite.sql.SqlNode-boolean-boolean-">convertQuery</a></span>(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;query,
boolean&nbsp;needsValidation,
boolean&nbsp;top)</code>
<div class="block">Converts an unvalidated query's parse tree into a relational expression.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/rel/RelRoot.html" title="org.apache.calcite.rel中的类">RelRoot</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertQueryRecursive-org.apache.calcite.sql.SqlNode-boolean-org.apache.calcite.rel.type.RelDataType-">convertQueryRecursive</a></span>(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;query,
boolean&nbsp;top,
<a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType)</code>
<div class="block">Recursively converts a query to a relational expression.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertSelect-org.apache.calcite.sql.SqlSelect-boolean-">convertSelect</a></span>(<a href="../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
boolean&nbsp;top)</code>
<div class="block">Converts a SELECT statement's parse tree into a relational expression.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertSelectImpl-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.sql.SqlSelect-">convertSelectImpl</a></span>(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</code>
<div class="block">Implementation of <a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertSelect-org.apache.calcite.sql.SqlSelect-boolean-"><code>convertSelect(SqlSelect, boolean)</code></a>;
derived class may override.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertSetOp-org.apache.calcite.sql.SqlCall-">convertSetOp</a></span>(<a href="../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call)</code>
<div class="block">Converts a set operation (UNION, INTERSECT, MINUS) into relational
expressions.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertToSingleValueSubq-org.apache.calcite.sql.SqlNode-org.apache.calcite.rel.RelNode-">convertToSingleValueSubq</a></span>(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;query,
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;plan)</code>
<div class="block">Converts the RelNode tree for a select statement to a select that
produces a single value.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertValues-org.apache.calcite.sql.SqlCall-org.apache.calcite.rel.type.RelDataType-">convertValues</a></span>(<a href="../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;values,
<a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType)</code>
<div class="block">Converts a SELECT statement's parse tree into a relational expression.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/rel/RelRoot.html" title="org.apache.calcite.rel中的类">RelRoot</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertWith-org.apache.calcite.sql.SqlWith-boolean-">convertWith</a></span>(<a href="../../../../org/apache/calcite/sql/SqlWith.html" title="org.apache.calcite.sql中的类">SqlWith</a>&nbsp;with,
boolean&nbsp;top)</code>
<div class="block">Converts a WITH sub-query into a relational expression.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#createAggImpl-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.sql2rel.SqlToRelConverter.AggConverter-org.apache.calcite.sql.SqlNodeList-org.apache.calcite.sql.SqlNodeList-org.apache.calcite.sql.SqlNode-java.util.List-">createAggImpl</a></span>(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.AggConverter.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.AggConverter</a>&nbsp;aggConverter,
<a href="../../../../org/apache/calcite/sql/SqlNodeList.html" title="org.apache.calcite.sql中的类">SqlNodeList</a>&nbsp;selectList,
<a href="../../../../org/apache/calcite/sql/SqlNodeList.html" title="org.apache.calcite.sql中的类">SqlNodeList</a>&nbsp;groupList,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;having,
<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;orderExprList)</code>&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#createAggregate-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.util.ImmutableBitSet-com.google.common.collect.ImmutableList-java.util.List-">createAggregate</a></span>(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;groupSet,
com.google.common.collect.ImmutableList&lt;<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&gt;&nbsp;groupSets,
<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/core/AggregateCall.html" title="org.apache.calcite.rel.core中的类">AggregateCall</a>&gt;&nbsp;aggCalls)</code>
<div class="block">Creates an Aggregate.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#createBlackboard-org.apache.calcite.sql.validate.SqlValidatorScope-java.util.Map-boolean-">createBlackboard</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/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/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a>&gt;&nbsp;nameToNodeMap,
boolean&nbsp;top)</code>
<div class="block">Factory method for creating translation workspace.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#createJoin-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.rel.RelNode-org.apache.calcite.rel.RelNode-org.apache.calcite.rex.RexNode-org.apache.calcite.rel.core.JoinRelType-">createJoin</a></span>(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;leftRel,
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;rightRel,
<a href="../../../../org/apache/calcite/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a>&nbsp;joinCond,
<a href="../../../../org/apache/calcite/rel/core/JoinRelType.html" title="org.apache.calcite.rel.core中的枚举">JoinRelType</a>&nbsp;joinType)</code>&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#decorrelate-org.apache.calcite.sql.SqlNode-org.apache.calcite.rel.RelNode-">decorrelate</a></span>(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;query,
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;rootRel)</code>
<div class="block">If sub-query is correlated and decorrelation is enabled, performs
decorrelation.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#decorrelateQuery-org.apache.calcite.rel.RelNode-">decorrelateQuery</a></span>(<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;rootRel)</code>&nbsp;</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#enableDecorrelation--">enableDecorrelation</a></span>()</code>
<div class="block"><span class="deprecatedLabel">已过时。</span>&nbsp;</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#extraSelectItems-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.sql.SqlSelect-java.util.List-java.util.List-java.util.Collection-java.util.List-">extraSelectItems</a></span>(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
<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/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a>&gt;&nbsp;exprList,
<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;nameList,
<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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&gt;&nbsp;aliasList,
<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/SqlMonotonicity.html" title="org.apache.calcite.sql.validate中的枚举">SqlMonotonicity</a>&gt;&nbsp;columnMonotonicityList)</code>
<div class="block">Adds extra select items.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#flattenTypes-org.apache.calcite.rel.RelNode-boolean-">flattenTypes</a></span>(<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;rootRel,
boolean&nbsp;restructure)</code>&nbsp;</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#gatherOrderExprs-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.sql.SqlSelect-org.apache.calcite.sql.SqlNodeList-java.util.List-java.util.List-">gatherOrderExprs</a></span>(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
<a href="../../../../org/apache/calcite/sql/SqlNodeList.html" title="org.apache.calcite.sql中的类">SqlNodeList</a>&nbsp;orderList,
<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;extraOrderExprs,
<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/RelFieldCollation.html" title="org.apache.calcite.rel中的类">RelFieldCollation</a>&gt;&nbsp;collationList)</code>
<div class="block">Creates a list of collations required to implement the ORDER BY clause,
if there is one.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/plan/RelOptCluster.html" title="org.apache.calcite.plan中的类">RelOptCluster</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#getCluster--">getCluster</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#getDynamicParamCount--">getDynamicParamCount</a></span>()</code>
<div class="block">Returns the number of dynamic parameters encountered during translation;
this must only be called after <a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertQuery-org.apache.calcite.sql.SqlNode-boolean-boolean-"><code>convertQuery(org.apache.calcite.sql.SqlNode, boolean, boolean)</code></a>.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#getDynamicParamCountInExplain-boolean-">getDynamicParamCountInExplain</a></span>(boolean&nbsp;increment)</code>
<div class="block">Returns the current count of the number of dynamic parameters in an
EXPLAIN PLAN statement.</div>
</td>
</tr>
<tr id="i38" 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/sql2rel/SqlToRelConverter.html#getDynamicParamType-int-">getDynamicParamType</a></span>(int&nbsp;index)</code>
<div class="block">Returns the type inferred for a dynamic parameter.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#getInSubqueryThreshold--">getInSubqueryThreshold</a></span>()</code>
<div class="block"><span class="deprecatedLabel">已过时。</span>&nbsp;</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code><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/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#getMapConvertedNonCorrSubqs--">getMapConvertedNonCorrSubqs</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/rex/RexBuilder.html" title="org.apache.calcite.rex中的类">RexBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#getRexBuilder--">getRexBuilder</a></span>()</code>
<div class="block">Returns the row-expression builder.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>protected <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/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#getSystemFields--">getSystemFields</a></span>()</code>
<div class="block">Returns a list of fields to be prefixed to each relational expression.</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/plan/RelOptTable.html" title="org.apache.calcite.plan中的接口">RelOptTable</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#getTargetTable-org.apache.calcite.sql.SqlNode-">getTargetTable</a></span>(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;call)</code>&nbsp;</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#isOrdered-org.apache.calcite.sql.SqlNode-">isOrdered</a></span>(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;query)</code>&nbsp;</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#isTrimUnusedFields--">isTrimUnusedFields</a></span>()</code>
<div class="block"><span class="deprecatedLabel">已过时。</span>&nbsp;</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#newFieldTrimmer--">newFieldTrimmer</a></span>()</code>
<div class="block">Creates a RelFieldTrimmer.</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#setDynamicParamCountInExplain-int-">setDynamicParamCountInExplain</a></span>(int&nbsp;explainParamCount)</code>
<div class="block">Sets the number of dynamic parameters in the current EXPLAIN PLAN
statement.</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#setSubQueryConverter-org.apache.calcite.sql2rel.SubQueryConverter-">setSubQueryConverter</a></span>(<a href="../../../../org/apache/calcite/sql2rel/SubQueryConverter.html" title="org.apache.calcite.sql2rel中的接口">SubQueryConverter</a>&nbsp;converter)</code>
<div class="block">Sets a new SubQueryConverter.</div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#toRel-org.apache.calcite.plan.RelOptTable-java.util.List-">toRel</a></span>(<a href="../../../../org/apache/calcite/plan/RelOptTable.html" title="org.apache.calcite.plan中的接口">RelOptTable</a>&nbsp;table,
<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/hint/RelHint.html" title="org.apache.calcite.rel.hint中的类">RelHint</a>&gt;&nbsp;hints)</code>&nbsp;</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#trimUnusedFields-boolean-org.apache.calcite.rel.RelNode-">trimUnusedFields</a></span>(boolean&nbsp;ordered,
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;rootRel)</code>
<div class="block">Walks over a tree of relational expressions, replacing each
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口"><code>RelNode</code></a> with a 'slimmed down' relational expression that projects
only the fields required by its consumer.</div>
</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="SQL2REL_LOGGER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SQL2REL_LOGGER</h4>
<pre>protected static final&nbsp;org.slf4j.Logger SQL2REL_LOGGER</pre>
</li>
</ul>
<a name="DEFAULT_IN_SUB_QUERY_THRESHOLD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_IN_SUB_QUERY_THRESHOLD</h4>
<pre>public static final&nbsp;int DEFAULT_IN_SUB_QUERY_THRESHOLD</pre>
<div class="block">Size of the smallest IN list that will be converted to a semijoin to a
static table.</div>
<dl>
<dt><span class="seeLabel">另请参阅:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.calcite.sql2rel.SqlToRelConverter.DEFAULT_IN_SUB_QUERY_THRESHOLD">常量字段值</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_IN_SUBQUERY_THRESHOLD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_IN_SUBQUERY_THRESHOLD</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="java.lang中的类或接口">@Deprecated</a>
public static final&nbsp;int DEFAULT_IN_SUBQUERY_THRESHOLD</pre>
<div class="block"><span class="deprecatedLabel">已过时。</span>&nbsp;</div>
<dl>
<dt><span class="seeLabel">另请参阅:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.calcite.sql2rel.SqlToRelConverter.DEFAULT_IN_SUBQUERY_THRESHOLD">常量字段值</a></dd>
</dl>
</li>
</ul>
<a name="validator">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validator</h4>
<pre>protected final&nbsp;<a href="../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a> validator</pre>
</li>
</ul>
<a name="rexBuilder">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rexBuilder</h4>
<pre>protected final&nbsp;<a href="../../../../org/apache/calcite/rex/RexBuilder.html" title="org.apache.calcite.rex中的类">RexBuilder</a> rexBuilder</pre>
</li>
</ul>
<a name="catalogReader">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>catalogReader</h4>
<pre>protected final&nbsp;<a href="../../../../org/apache/calcite/prepare/Prepare.CatalogReader.html" title="org.apache.calcite.prepare中的接口">Prepare.CatalogReader</a> catalogReader</pre>
</li>
</ul>
<a name="cluster">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cluster</h4>
<pre>protected final&nbsp;<a href="../../../../org/apache/calcite/plan/RelOptCluster.html" title="org.apache.calcite.plan中的类">RelOptCluster</a> cluster</pre>
</li>
</ul>
<a name="leaves">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>leaves</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/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="java.lang中的类或接口">Integer</a>&gt; leaves</pre>
</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="config">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>config</h4>
<pre>public final&nbsp;<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Config.html" title="org.apache.calcite.sql2rel中的接口">SqlToRelConverter.Config</a> config</pre>
</li>
</ul>
<a name="viewExpander">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>viewExpander</h4>
<pre>public final&nbsp;<a href="../../../../org/apache/calcite/plan/RelOptTable.ViewExpander.html" title="org.apache.calcite.plan中的接口">RelOptTable.ViewExpander</a> viewExpander</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>构造器详细资料</h3>
<a name="SqlToRelConverter-org.apache.calcite.plan.RelOptTable.ViewExpander-org.apache.calcite.sql.validate.SqlValidator-org.apache.calcite.prepare.Prepare.CatalogReader-org.apache.calcite.plan.RelOptPlanner-org.apache.calcite.rex.RexBuilder-org.apache.calcite.sql2rel.SqlRexConvertletTable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SqlToRelConverter</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="java.lang中的类或接口">@Deprecated</a>
public&nbsp;SqlToRelConverter(<a href="../../../../org/apache/calcite/plan/RelOptTable.ViewExpander.html" title="org.apache.calcite.plan中的接口">RelOptTable.ViewExpander</a>&nbsp;viewExpander,
<a href="../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a>&nbsp;validator,
<a href="../../../../org/apache/calcite/prepare/Prepare.CatalogReader.html" title="org.apache.calcite.prepare中的接口">Prepare.CatalogReader</a>&nbsp;catalogReader,
<a href="../../../../org/apache/calcite/plan/RelOptPlanner.html" title="org.apache.calcite.plan中的接口">RelOptPlanner</a>&nbsp;planner,
<a href="../../../../org/apache/calcite/rex/RexBuilder.html" title="org.apache.calcite.rex中的类">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../../../org/apache/calcite/sql2rel/SqlRexConvertletTable.html" title="org.apache.calcite.sql2rel中的接口">SqlRexConvertletTable</a>&nbsp;convertletTable)</pre>
<div class="block"><span class="deprecatedLabel">已过时。</span>&nbsp;</div>
<div class="block">Creates a converter.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>viewExpander</code> - Preparing statement</dd>
<dd><code>validator</code> - Validator</dd>
<dd><code>catalogReader</code> - Schema</dd>
<dd><code>planner</code> - Planner</dd>
<dd><code>rexBuilder</code> - Rex builder</dd>
<dd><code>convertletTable</code> - Expression converter</dd>
</dl>
</li>
</ul>
<a name="SqlToRelConverter-org.apache.calcite.plan.RelOptTable.ViewExpander-org.apache.calcite.sql.validate.SqlValidator-org.apache.calcite.prepare.Prepare.CatalogReader-org.apache.calcite.plan.RelOptCluster-org.apache.calcite.sql2rel.SqlRexConvertletTable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SqlToRelConverter</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="java.lang中的类或接口">@Deprecated</a>
public&nbsp;SqlToRelConverter(<a href="../../../../org/apache/calcite/plan/RelOptTable.ViewExpander.html" title="org.apache.calcite.plan中的接口">RelOptTable.ViewExpander</a>&nbsp;viewExpander,
<a href="../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a>&nbsp;validator,
<a href="../../../../org/apache/calcite/prepare/Prepare.CatalogReader.html" title="org.apache.calcite.prepare中的接口">Prepare.CatalogReader</a>&nbsp;catalogReader,
<a href="../../../../org/apache/calcite/plan/RelOptCluster.html" title="org.apache.calcite.plan中的类">RelOptCluster</a>&nbsp;cluster,
<a href="../../../../org/apache/calcite/sql2rel/SqlRexConvertletTable.html" title="org.apache.calcite.sql2rel中的接口">SqlRexConvertletTable</a>&nbsp;convertletTable)</pre>
<div class="block"><span class="deprecatedLabel">已过时。</span>&nbsp;</div>
</li>
</ul>
<a name="SqlToRelConverter-org.apache.calcite.plan.RelOptTable.ViewExpander-org.apache.calcite.sql.validate.SqlValidator-org.apache.calcite.prepare.Prepare.CatalogReader-org.apache.calcite.plan.RelOptCluster-org.apache.calcite.sql2rel.SqlRexConvertletTable-org.apache.calcite.sql2rel.SqlToRelConverter.Config-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SqlToRelConverter</h4>
<pre>public&nbsp;SqlToRelConverter(<a href="../../../../org/apache/calcite/plan/RelOptTable.ViewExpander.html" title="org.apache.calcite.plan中的接口">RelOptTable.ViewExpander</a>&nbsp;viewExpander,
<a href="../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a>&nbsp;validator,
<a href="../../../../org/apache/calcite/prepare/Prepare.CatalogReader.html" title="org.apache.calcite.prepare中的接口">Prepare.CatalogReader</a>&nbsp;catalogReader,
<a href="../../../../org/apache/calcite/plan/RelOptCluster.html" title="org.apache.calcite.plan中的类">RelOptCluster</a>&nbsp;cluster,
<a href="../../../../org/apache/calcite/sql2rel/SqlRexConvertletTable.html" title="org.apache.calcite.sql2rel中的接口">SqlRexConvertletTable</a>&nbsp;convertletTable,
<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Config.html" title="org.apache.calcite.sql2rel中的接口">SqlToRelConverter.Config</a>&nbsp;config)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>方法详细资料</h3>
<a name="getCluster--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCluster</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/plan/RelOptCluster.html" title="org.apache.calcite.plan中的类">RelOptCluster</a>&nbsp;getCluster()</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>the RelOptCluster in use.</dd>
</dl>
</li>
</ul>
<a name="getRexBuilder--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRexBuilder</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/rex/RexBuilder.html" title="org.apache.calcite.rex中的类">RexBuilder</a>&nbsp;getRexBuilder()</pre>
<div class="block">Returns the row-expression builder.</div>
</li>
</ul>
<a name="getDynamicParamCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDynamicParamCount</h4>
<pre>public&nbsp;int&nbsp;getDynamicParamCount()</pre>
<div class="block">Returns the number of dynamic parameters encountered during translation;
this must only be called after <a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertQuery-org.apache.calcite.sql.SqlNode-boolean-boolean-"><code>convertQuery(org.apache.calcite.sql.SqlNode, boolean, boolean)</code></a>.</div>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>number of dynamic parameters</dd>
</dl>
</li>
</ul>
<a name="getDynamicParamType-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDynamicParamType</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;getDynamicParamType(int&nbsp;index)</pre>
<div class="block">Returns the type inferred for a dynamic parameter.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>index</code> - 0-based index of dynamic parameter</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>inferred type, never null</dd>
</dl>
</li>
</ul>
<a name="getDynamicParamCountInExplain-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDynamicParamCountInExplain</h4>
<pre>public&nbsp;int&nbsp;getDynamicParamCountInExplain(boolean&nbsp;increment)</pre>
<div class="block">Returns the current count of the number of dynamic parameters in an
EXPLAIN PLAN statement.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>increment</code> - if true, increment the count</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>the current count before the optional increment</dd>
</dl>
</li>
</ul>
<a name="getMapConvertedNonCorrSubqs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMapConvertedNonCorrSubqs</h4>
<pre>public&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/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a>&gt;&nbsp;getMapConvertedNonCorrSubqs()</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>mapping of non-correlated sub-queries that have been converted to
the constants that they evaluate to</dd>
</dl>
</li>
</ul>
<a name="addConvertedNonCorrSubqs-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addConvertedNonCorrSubqs</h4>
<pre>public&nbsp;void&nbsp;addConvertedNonCorrSubqs(<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/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a>&gt;&nbsp;alreadyConvertedNonCorrSubqs)</pre>
<div class="block">Adds to the current map of non-correlated converted sub-queries the
elements from another map that contains non-correlated sub-queries that
have been converted by another SqlToRelConverter.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>alreadyConvertedNonCorrSubqs</code> - the other map</dd>
</dl>
</li>
</ul>
<a name="setSubQueryConverter-org.apache.calcite.sql2rel.SubQueryConverter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSubQueryConverter</h4>
<pre>public&nbsp;void&nbsp;setSubQueryConverter(<a href="../../../../org/apache/calcite/sql2rel/SubQueryConverter.html" title="org.apache.calcite.sql2rel中的接口">SubQueryConverter</a>&nbsp;converter)</pre>
<div class="block">Sets a new SubQueryConverter. To have any effect, this must be called
before any convert method.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>converter</code> - new SubQueryConverter</dd>
</dl>
</li>
</ul>
<a name="setDynamicParamCountInExplain-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDynamicParamCountInExplain</h4>
<pre>public&nbsp;void&nbsp;setDynamicParamCountInExplain(int&nbsp;explainParamCount)</pre>
<div class="block">Sets the number of dynamic parameters in the current EXPLAIN PLAN
statement.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>explainParamCount</code> - number of dynamic parameters in the statement</dd>
</dl>
</li>
</ul>
<a name="flattenTypes-org.apache.calcite.rel.RelNode-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>flattenTypes</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;flattenTypes(<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;rootRel,
boolean&nbsp;restructure)</pre>
</li>
</ul>
<a name="decorrelate-org.apache.calcite.sql.SqlNode-org.apache.calcite.rel.RelNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decorrelate</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;decorrelate(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;query,
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;rootRel)</pre>
<div class="block">If sub-query is correlated and decorrelation is enabled, performs
decorrelation.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>query</code> - Query</dd>
<dd><code>rootRel</code> - Root relational expression</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>New root relational expression after decorrelation</dd>
</dl>
</li>
</ul>
<a name="trimUnusedFields-boolean-org.apache.calcite.rel.RelNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trimUnusedFields</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;trimUnusedFields(boolean&nbsp;ordered,
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;rootRel)</pre>
<div class="block">Walks over a tree of relational expressions, replacing each
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口"><code>RelNode</code></a> with a 'slimmed down' relational expression that projects
only the fields required by its consumer.
<p>This may make things easier for the optimizer, by removing crud that
would expand the search space, but is difficult for the optimizer itself
to do it, because optimizer rules must preserve the number and type of
fields. Hence, this transform that operates on the entire tree, similar
to the <a href="../../../../org/apache/calcite/sql2rel/RelStructuredTypeFlattener.html" title="org.apache.calcite.sql2rel中的类"><code>type-flattening transform</code></a>.
<p>Currently this functionality is disabled in farrago/luciddb; the
default implementation of this method does nothing.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>ordered</code> - Whether the relational expression must produce results in
a particular order (typically because it has an ORDER BY at top level)</dd>
<dd><code>rootRel</code> - Relational expression that is at the root of the tree</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Trimmed relational expression</dd>
</dl>
</li>
</ul>
<a name="newFieldTrimmer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newFieldTrimmer</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer</a>&nbsp;newFieldTrimmer()</pre>
<div class="block">Creates a RelFieldTrimmer.</div>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Field trimmer</dd>
</dl>
</li>
</ul>
<a name="convertQuery-org.apache.calcite.sql.SqlNode-boolean-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertQuery</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/rel/RelRoot.html" title="org.apache.calcite.rel中的类">RelRoot</a>&nbsp;convertQuery(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;query,
boolean&nbsp;needsValidation,
boolean&nbsp;top)</pre>
<div class="block">Converts an unvalidated query's parse tree into a relational expression.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>query</code> - Query to convert</dd>
<dd><code>needsValidation</code> - Whether to validate the query before converting;
<code>false</code> if the query has already been
validated.</dd>
<dd><code>top</code> - Whether the query is top-level, say if its result
will become a JDBC result set; <code>false</code> if
the query will be part of a view.</dd>
</dl>
</li>
</ul>
<a name="isOrdered-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isOrdered</h4>
<pre>public static&nbsp;boolean&nbsp;isOrdered(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;query)</pre>
</li>
</ul>
<a name="convertSelect-org.apache.calcite.sql.SqlSelect-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertSelect</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;convertSelect(<a href="../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
boolean&nbsp;top)</pre>
<div class="block">Converts a SELECT statement's parse tree into a relational expression.</div>
</li>
</ul>
<a name="createBlackboard-org.apache.calcite.sql.validate.SqlValidatorScope-java.util.Map-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createBlackboard</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;createBlackboard(<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/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/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a>&gt;&nbsp;nameToNodeMap,
boolean&nbsp;top)</pre>
<div class="block">Factory method for creating translation workspace.</div>
</li>
</ul>
<a name="convertSelectImpl-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.sql.SqlSelect-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertSelectImpl</h4>
<pre>protected&nbsp;void&nbsp;convertSelectImpl(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select)</pre>
<div class="block">Implementation of <a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertSelect-org.apache.calcite.sql.SqlSelect-boolean-"><code>convertSelect(SqlSelect, boolean)</code></a>;
derived class may override.</div>
</li>
</ul>
<a name="convertOrder-org.apache.calcite.sql.SqlSelect-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.rel.RelCollation-java.util.List-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertOrder</h4>
<pre>protected&nbsp;void&nbsp;convertOrder(<a href="../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/rel/RelCollation.html" title="org.apache.calcite.rel中的接口">RelCollation</a>&nbsp;collation,
<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;orderExprList,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;offset,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;fetch)</pre>
<div class="block">Converts a query's ORDER BY clause, if any.
<p>Ignores the ORDER BY clause if the query is not top-level and FETCH or
OFFSET are not present.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>select</code> - Query</dd>
<dd><code>bb</code> - Blackboard</dd>
<dd><code>collation</code> - Collation list</dd>
<dd><code>orderExprList</code> - Method populates this list with orderBy expressions
not present in selectList</dd>
<dd><code>offset</code> - Expression for number of rows to discard before
returning first row</dd>
<dd><code>fetch</code> - Expression for number of rows to fetch</dd>
</dl>
</li>
</ul>
<a name="convertToSingleValueSubq-org.apache.calcite.sql.SqlNode-org.apache.calcite.rel.RelNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertToSingleValueSubq</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;convertToSingleValueSubq(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;query,
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;plan)</pre>
<div class="block">Converts the RelNode tree for a select statement to a select that
produces a single value.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>query</code> - the query</dd>
<dd><code>plan</code> - the original RelNode tree corresponding to the statement</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>the converted RelNode tree</dd>
</dl>
</li>
</ul>
<a name="getInSubqueryThreshold--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInSubqueryThreshold</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="java.lang中的类或接口">@Deprecated</a>
protected&nbsp;int&nbsp;getInSubqueryThreshold()</pre>
<div class="block"><span class="deprecatedLabel">已过时。</span>&nbsp;</div>
<div class="block">Gets the list size threshold under which <a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#convertInToOr-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-java.util.List-org.apache.calcite.sql.SqlNodeList-org.apache.calcite.sql.fun.SqlInOperator-"><code>convertInToOr(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard, java.util.List&lt;org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.sql.SqlNodeList, org.apache.calcite.sql.fun.SqlInOperator)</code></a> is used.
Lists of this size or greater will instead be converted to use a join
against an inline table
(<a href="../../../../org/apache/calcite/rel/logical/LogicalValues.html" title="org.apache.calcite.rel.logical中的类"><code>LogicalValues</code></a>) rather than a
predicate. A threshold of 0 forces usage of an inline table in all cases; a
threshold of Integer.MAX_VALUE forces usage of OR in all cases</div>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>threshold, default <a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#DEFAULT_IN_SUB_QUERY_THRESHOLD"><code>DEFAULT_IN_SUB_QUERY_THRESHOLD</code></a></dd>
</dl>
</li>
</ul>
<a name="convertExpression-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertExpression</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a>&nbsp;convertExpression(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node)</pre>
<div class="block">Converts an expression from <a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类"><code>SqlNode</code></a> to <a href="../../../../org/apache/calcite/rex/RexNode.html" title="org.apache.calcite.rex中的类"><code>RexNode</code></a> format.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>node</code> - Expression to translate</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Converted expression</dd>
</dl>
</li>
</ul>
<a name="convertExpression-org.apache.calcite.sql.SqlNode-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertExpression</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a>&nbsp;convertExpression(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node,
<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/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a>&gt;&nbsp;nameToNodeMap)</pre>
<div class="block">Converts an expression from <a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类"><code>SqlNode</code></a> to <a href="../../../../org/apache/calcite/rex/RexNode.html" title="org.apache.calcite.rex中的类"><code>RexNode</code></a> format,
mapping identifier references to predefined expressions.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>node</code> - Expression to translate</dd>
<dd><code>nameToNodeMap</code> - map from String to <a href="../../../../org/apache/calcite/rex/RexNode.html" title="org.apache.calcite.rex中的类"><code>RexNode</code></a>; when an
<a href="../../../../org/apache/calcite/sql/SqlIdentifier.html" title="org.apache.calcite.sql中的类"><code>SqlIdentifier</code></a> is encountered, it is used as a
key and translated to the corresponding value from
this map</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Converted expression</dd>
</dl>
</li>
</ul>
<a name="convertExtendedExpression-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertExtendedExpression</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/calcite/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a>&nbsp;convertExtendedExpression(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;node,
<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb)</pre>
<div class="block">Converts a non-standard expression.
<p>This method is an extension-point that derived classes can override. If
this method returns a null result, the normal expression translation
process will proceed. The default implementation always returns null.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>node</code> - Expression</dd>
<dd><code>bb</code> - Blackboard</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>null to proceed with the usual expression translation process</dd>
</dl>
</li>
</ul>
<a name="convertFrom-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertFrom</h4>
<pre>protected&nbsp;void&nbsp;convertFrom(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;from)</pre>
<div class="block">Converts a FROM clause into a relational expression.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>bb</code> - Scope within which to resolve identifiers</dd>
<dd><code>from</code> - FROM clause of a query. Examples include:
<ul>
<li>a single table ("SALES.EMP"),
<li>an aliased table ("EMP AS E"),
<li>a list of tables ("EMP, DEPT"),
<li>an ANSI Join expression ("EMP JOIN DEPT ON EMP.DEPTNO =
DEPT.DEPTNO"),
<li>a VALUES clause ("VALUES ('Fred', 20)"),
<li>a query ("(SELECT * FROM EMP WHERE GENDER = 'F')"),
<li>or any combination of the above.
</ul></dd>
</dl>
</li>
</ul>
<a name="convertMatchRecognize-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.sql.SqlCall-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertMatchRecognize</h4>
<pre>protected&nbsp;void&nbsp;convertMatchRecognize(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call)</pre>
</li>
</ul>
<a name="convertCollectionTable-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.sql.SqlCall-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertCollectionTable</h4>
<pre>protected&nbsp;void&nbsp;convertCollectionTable(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call)</pre>
</li>
</ul>
<a name="afterTableFunction-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.sql.SqlCall-org.apache.calcite.rel.logical.LogicalTableFunctionScan-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>afterTableFunction</h4>
<pre>protected&nbsp;void&nbsp;afterTableFunction(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call,
<a href="../../../../org/apache/calcite/rel/logical/LogicalTableFunctionScan.html" title="org.apache.calcite.rel.logical中的类">LogicalTableFunctionScan</a>&nbsp;callRel)</pre>
</li>
</ul>
<a name="createJoin-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.rel.RelNode-org.apache.calcite.rel.RelNode-org.apache.calcite.rex.RexNode-org.apache.calcite.rel.core.JoinRelType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createJoin</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;createJoin(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;leftRel,
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;rightRel,
<a href="../../../../org/apache/calcite/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a>&nbsp;joinCond,
<a href="../../../../org/apache/calcite/rel/core/JoinRelType.html" title="org.apache.calcite.rel.core中的枚举">JoinRelType</a>&nbsp;joinType)</pre>
</li>
</ul>
<a name="getSystemFields--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSystemFields</h4>
<pre>protected&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/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;getSystemFields()</pre>
<div class="block">Returns a list of fields to be prefixed to each relational expression.</div>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>List of system fields</dd>
</dl>
</li>
</ul>
<a name="convertAgg-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.sql.SqlSelect-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertAgg</h4>
<pre>protected&nbsp;void&nbsp;convertAgg(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
<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;orderExprList)</pre>
<div class="block">Converts the SELECT, GROUP BY and HAVING clauses of an aggregate query.
<p>This method extracts SELECT, GROUP BY and HAVING clauses, and creates
an <a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.AggConverter.html" title="org.apache.calcite.sql2rel中的类"><code>SqlToRelConverter.AggConverter</code></a>, then delegates to <a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.html#createAggImpl-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.sql2rel.SqlToRelConverter.AggConverter-org.apache.calcite.sql.SqlNodeList-org.apache.calcite.sql.SqlNodeList-org.apache.calcite.sql.SqlNode-java.util.List-"><code>createAggImpl(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard, org.apache.calcite.sql2rel.SqlToRelConverter.AggConverter, org.apache.calcite.sql.SqlNodeList, org.apache.calcite.sql.SqlNodeList, org.apache.calcite.sql.SqlNode, java.util.List&lt;org.apache.calcite.sql.SqlNode&gt;)</code></a>.
Derived class may override this method to change any of those clauses or
specify a different <a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.AggConverter.html" title="org.apache.calcite.sql2rel中的类"><code>SqlToRelConverter.AggConverter</code></a>.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>bb</code> - Scope within which to resolve identifiers</dd>
<dd><code>select</code> - Query</dd>
<dd><code>orderExprList</code> - Additional expressions needed to implement ORDER BY</dd>
</dl>
</li>
</ul>
<a name="createAggImpl-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.sql2rel.SqlToRelConverter.AggConverter-org.apache.calcite.sql.SqlNodeList-org.apache.calcite.sql.SqlNodeList-org.apache.calcite.sql.SqlNode-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAggImpl</h4>
<pre>protected final&nbsp;void&nbsp;createAggImpl(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.AggConverter.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.AggConverter</a>&nbsp;aggConverter,
<a href="../../../../org/apache/calcite/sql/SqlNodeList.html" title="org.apache.calcite.sql中的类">SqlNodeList</a>&nbsp;selectList,
<a href="../../../../org/apache/calcite/sql/SqlNodeList.html" title="org.apache.calcite.sql中的类">SqlNodeList</a>&nbsp;groupList,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;having,
<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;orderExprList)</pre>
</li>
</ul>
<a name="createAggregate-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.util.ImmutableBitSet-com.google.common.collect.ImmutableList-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAggregate</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;createAggregate(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;groupSet,
com.google.common.collect.ImmutableList&lt;<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&gt;&nbsp;groupSets,
<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/core/AggregateCall.html" title="org.apache.calcite.rel.core中的类">AggregateCall</a>&gt;&nbsp;aggCalls)</pre>
<div class="block">Creates an Aggregate.
<p>In case the aggregate rel changes the order in which it projects
fields, the <code>groupExprProjection</code> parameter is provided, and
the implementation of this method may modify it.
<p>The <code>sortedCount</code> parameter is the number of expressions
known to be monotonic. These expressions must be on the leading edge of
the grouping keys. The default implementation of this method ignores this
parameter.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>bb</code> - Blackboard</dd>
<dd><code>groupSet</code> - Bit set of ordinals of grouping columns</dd>
<dd><code>groupSets</code> - Grouping sets</dd>
<dd><code>aggCalls</code> - Array of calls to aggregate functions</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>LogicalAggregate</dd>
</dl>
</li>
</ul>
<a name="convertDynamicParam-org.apache.calcite.sql.SqlDynamicParam-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertDynamicParam</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/rex/RexDynamicParam.html" title="org.apache.calcite.rex中的类">RexDynamicParam</a>&nbsp;convertDynamicParam(<a href="../../../../org/apache/calcite/sql/SqlDynamicParam.html" title="org.apache.calcite.sql中的类">SqlDynamicParam</a>&nbsp;dynamicParam)</pre>
</li>
</ul>
<a name="gatherOrderExprs-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.sql.SqlSelect-org.apache.calcite.sql.SqlNodeList-java.util.List-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>gatherOrderExprs</h4>
<pre>protected&nbsp;void&nbsp;gatherOrderExprs(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
<a href="../../../../org/apache/calcite/sql/SqlNodeList.html" title="org.apache.calcite.sql中的类">SqlNodeList</a>&nbsp;orderList,
<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;extraOrderExprs,
<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/RelFieldCollation.html" title="org.apache.calcite.rel中的类">RelFieldCollation</a>&gt;&nbsp;collationList)</pre>
<div class="block">Creates a list of collations required to implement the ORDER BY clause,
if there is one. Populates <code>extraOrderExprs</code> with any sort
expressions which are not in the select clause.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>bb</code> - Scope within which to resolve identifiers</dd>
<dd><code>select</code> - Select clause. Never null, because we invent a
dummy SELECT if ORDER BY is applied to a set
operation (UNION etc.)</dd>
<dd><code>orderList</code> - Order by clause, may be null</dd>
<dd><code>extraOrderExprs</code> - Sort expressions which are not in the select
clause (output)</dd>
<dd><code>collationList</code> - List of collations (output)</dd>
</dl>
</li>
</ul>
<a name="convertOrderItem-org.apache.calcite.sql.SqlSelect-org.apache.calcite.sql.SqlNode-java.util.List-org.apache.calcite.rel.RelFieldCollation.Direction-org.apache.calcite.rel.RelFieldCollation.NullDirection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertOrderItem</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/calcite/rel/RelFieldCollation.html" title="org.apache.calcite.rel中的类">RelFieldCollation</a>&nbsp;convertOrderItem(<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;orderItem,
<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;extraExprs,
<a href="../../../../org/apache/calcite/rel/RelFieldCollation.Direction.html" title="org.apache.calcite.rel中的枚举">RelFieldCollation.Direction</a>&nbsp;direction,
<a href="../../../../org/apache/calcite/rel/RelFieldCollation.NullDirection.html" title="org.apache.calcite.rel中的枚举">RelFieldCollation.NullDirection</a>&nbsp;nullDirection)</pre>
</li>
</ul>
<a name="enableDecorrelation--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enableDecorrelation</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="java.lang中的类或接口">@Deprecated</a>
protected&nbsp;boolean&nbsp;enableDecorrelation()</pre>
<div class="block"><span class="deprecatedLabel">已过时。</span>&nbsp;</div>
</li>
</ul>
<a name="decorrelateQuery-org.apache.calcite.rel.RelNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decorrelateQuery</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;decorrelateQuery(<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;rootRel)</pre>
</li>
</ul>
<a name="isTrimUnusedFields--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTrimUnusedFields</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="java.lang中的类或接口">@Deprecated</a>
public&nbsp;boolean&nbsp;isTrimUnusedFields()</pre>
<div class="block"><span class="deprecatedLabel">已过时。</span>&nbsp;</div>
<div class="block">Returns whether to trim unused fields as part of the conversion process.</div>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Whether to trim unused fields</dd>
</dl>
</li>
</ul>
<a name="convertQueryRecursive-org.apache.calcite.sql.SqlNode-boolean-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertQueryRecursive</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/calcite/rel/RelRoot.html" title="org.apache.calcite.rel中的类">RelRoot</a>&nbsp;convertQueryRecursive(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;query,
boolean&nbsp;top,
<a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType)</pre>
<div class="block">Recursively converts a query to a relational expression.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>query</code> - Query</dd>
<dd><code>top</code> - Whether this query is the top-level query of the
statement</dd>
<dd><code>targetRowType</code> - Target row type, or null</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Relational expression</dd>
</dl>
</li>
</ul>
<a name="convertSetOp-org.apache.calcite.sql.SqlCall-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertSetOp</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;convertSetOp(<a href="../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call)</pre>
<div class="block">Converts a set operation (UNION, INTERSECT, MINUS) into relational
expressions.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>call</code> - Call to set operator</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Relational expression</dd>
</dl>
</li>
</ul>
<a name="convertInsert-org.apache.calcite.sql.SqlInsert-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertInsert</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;convertInsert(<a href="../../../../org/apache/calcite/sql/SqlInsert.html" title="org.apache.calcite.sql中的类">SqlInsert</a>&nbsp;call)</pre>
</li>
</ul>
<a name="toRel-org.apache.calcite.plan.RelOptTable-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toRel</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;toRel(<a href="../../../../org/apache/calcite/plan/RelOptTable.html" title="org.apache.calcite.plan中的接口">RelOptTable</a>&nbsp;table,
<a href="https://docs.oracle.com/javase/8/docs/api/javax/annotation/Nonnull.html?is-external=true" title="javax.annotation中的类或接口">@Nonnull</a>
<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/hint/RelHint.html" title="org.apache.calcite.rel.hint中的类">RelHint</a>&gt;&nbsp;hints)</pre>
</li>
</ul>
<a name="getTargetTable-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTargetTable</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/calcite/plan/RelOptTable.html" title="org.apache.calcite.plan中的接口">RelOptTable</a>&nbsp;getTargetTable(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&nbsp;call)</pre>
</li>
</ul>
<a name="convertColumnList-org.apache.calcite.sql.SqlInsert-org.apache.calcite.rel.RelNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertColumnList</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;convertColumnList(<a href="../../../../org/apache/calcite/sql/SqlInsert.html" title="org.apache.calcite.sql中的类">SqlInsert</a>&nbsp;call,
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;source)</pre>
<div class="block">Creates a source for an INSERT statement.
<p>If the column list is not specified, source expressions match target
columns in order.
<p>If the column list is specified, Source expressions are mapped to
target columns by name via targetColumnList, and may not cover the entire
target table. So, we'll make up a full row, using a combination of
default values and the source expressions provided.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>call</code> - Insert expression</dd>
<dd><code>source</code> - Source relational expression</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Converted INSERT statement</dd>
</dl>
</li>
</ul>
<a name="collectInsertTargets-org.apache.calcite.sql.SqlInsert-org.apache.calcite.rex.RexNode-java.util.List-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>collectInsertTargets</h4>
<pre>protected&nbsp;void&nbsp;collectInsertTargets(<a href="../../../../org/apache/calcite/sql/SqlInsert.html" title="org.apache.calcite.sql中的类">SqlInsert</a>&nbsp;call,
<a href="../../../../org/apache/calcite/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a>&nbsp;sourceRef,
<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;targetColumnNames,
<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/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a>&gt;&nbsp;columnExprs)</pre>
<div class="block">Given an INSERT statement, collects the list of names to be populated and
the expressions to put in them.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>call</code> - Insert statement</dd>
<dd><code>sourceRef</code> - Expression representing a row from the source
relational expression</dd>
<dd><code>targetColumnNames</code> - List of target column names, to be populated</dd>
<dd><code>columnExprs</code> - List of expressions, to be populated</dd>
</dl>
</li>
</ul>
<a name="adjustInputRef-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.rex.RexInputRef-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>adjustInputRef</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/calcite/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a>&nbsp;adjustInputRef(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/rex/RexInputRef.html" title="org.apache.calcite.rex中的类">RexInputRef</a>&nbsp;inputRef)</pre>
<div class="block">Adjusts the type of a reference to an input field to account for nulls
introduced by outer joins; and adjusts the offset to match the physical
implementation.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>bb</code> - Blackboard</dd>
<dd><code>inputRef</code> - Input ref</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Adjusted input ref</dd>
</dl>
</li>
</ul>
<a name="extraSelectItems-org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard-org.apache.calcite.sql.SqlSelect-java.util.List-java.util.List-java.util.Collection-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>extraSelectItems</h4>
<pre>protected&nbsp;void&nbsp;extraSelectItems(<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Blackboard.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../../../org/apache/calcite/sql/SqlSelect.html" title="org.apache.calcite.sql中的类">SqlSelect</a>&nbsp;select,
<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/rex/RexNode.html" title="org.apache.calcite.rex中的类">RexNode</a>&gt;&nbsp;exprList,
<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;nameList,
<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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&gt;&nbsp;aliasList,
<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/SqlMonotonicity.html" title="org.apache.calcite.sql.validate中的枚举">SqlMonotonicity</a>&gt;&nbsp;columnMonotonicityList)</pre>
<div class="block">Adds extra select items. The default implementation adds nothing; derived
classes may add columns to exprList, nameList, aliasList and
columnMonotonicityList.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>bb</code> - Blackboard</dd>
<dd><code>select</code> - Select statement being translated</dd>
<dd><code>exprList</code> - List of expressions in select clause</dd>
<dd><code>nameList</code> - List of names, one per column</dd>
<dd><code>aliasList</code> - Collection of aliases that have been used
already</dd>
<dd><code>columnMonotonicityList</code> - List of monotonicity, one per column</dd>
</dl>
</li>
</ul>
<a name="convertWith-org.apache.calcite.sql.SqlWith-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertWith</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/rel/RelRoot.html" title="org.apache.calcite.rel中的类">RelRoot</a>&nbsp;convertWith(<a href="../../../../org/apache/calcite/sql/SqlWith.html" title="org.apache.calcite.sql中的类">SqlWith</a>&nbsp;with,
boolean&nbsp;top)</pre>
<div class="block">Converts a WITH sub-query into a relational expression.</div>
</li>
</ul>
<a name="convertValues-org.apache.calcite.sql.SqlCall-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertValues</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;convertValues(<a href="../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;values,
<a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;targetRowType)</pre>
<div class="block">Converts a SELECT statement's parse tree into a relational expression.</div>
</li>
</ul>
<a name="configBuilder--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>configBuilder</h4>
<pre>public static&nbsp;<a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.ConfigBuilder.html" title="org.apache.calcite.sql2rel中的类">SqlToRelConverter.ConfigBuilder</a>&nbsp;configBuilder()</pre>
<div class="block">Creates a builder for a <a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.Config.html" title="org.apache.calcite.sql2rel中的接口"><code>SqlToRelConverter.Config</code></a>.</div>
</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/sql2rel/SqlRexConvertletTable.html" title="org.apache.calcite.sql2rel中的接口"><span class="typeNameLink">上一个类</span></a></li>
<li><a href="../../../../org/apache/calcite/sql2rel/SqlToRelConverter.AggConverter.html" title="org.apache.calcite.sql2rel中的类"><span class="typeNameLink">下一个类</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/calcite/sql2rel/SqlToRelConverter.html" target="_top">框架</a></li>
<li><a href="SqlToRelConverter.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>