blob: 598559f3b4a6e6edef162a2a09e2ef8c26550491 [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>RelFieldTrimmer (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="RelFieldTrimmer (Apache Calcite calcite API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10};
var tabs = {65535:["t0","所有方法"],2:["t2","实例方法"],8:["t4","具体方法"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>您的浏览器已禁用 JavaScript。</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="跳过导航链接">跳过导航链接</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="导航">
<li><a href="../../../../overview-summary.html">概览</a></li>
<li><a href="package-summary.html">程序包</a></li>
<li class="navBarCell1Rev"></li>
<li><a href="package-tree.html"></a></li>
<li><a href="../../../../deprecated-list.html">已过时</a></li>
<li><a href="../../../../index-all.html">索引</a></li>
<li><a href="../../../../help-doc.html">帮助</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/calcite/sql2rel/RelDecorrelator.CorelMapBuilder.html" title="org.apache.calcite.sql2rel中的类"><span class="typeNameLink">上一个类</span></a></li>
<li><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.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/RelFieldTrimmer.html" target="_top">框架</a></li>
<li><a href="RelFieldTrimmer.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>字段&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>字段&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="类 RelFieldTrimmer" class="title">类 RelFieldTrimmer</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.RelFieldTrimmer</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>所有已实现的接口:</dt>
<dd><a href="../../../../org/apache/calcite/util/ReflectiveVisitor.html" title="org.apache.calcite.util中的接口">ReflectiveVisitor</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">RelFieldTrimmer</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="java.lang中的类或接口">Object</a>
implements <a href="../../../../org/apache/calcite/util/ReflectiveVisitor.html" title="org.apache.calcite.util中的接口">ReflectiveVisitor</a></pre>
<div class="block">Transformer that 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 columns required by its consumer.
<p>Uses multi-methods to fire the right rule for each type of relational
expression. This allows the transformer to be extended without having to
add a new method to RelNode, and without requiring a collection of rule
classes scattered to the four winds.
<p>REVIEW: jhyde, 2009/7/28: Is sql2rel the correct package for this class?
Trimming fields is not an essential part of SQL-to-Rel translation, and
arguably belongs in the optimization phase. But this transformer does not
obey the usual pattern for planner rules; it is difficult to do so, because
each <a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口"><code>RelNode</code></a> needs to return a different set of fields after
trimming.
<p>TODO: Change 2nd arg of the <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(org.apache.calcite.rel.RelNode, org.apache.calcite.util.ImmutableBitSet, java.util.Set&lt;org.apache.calcite.rel.type.RelDataTypeField&gt;)</code></a> method from BitSet to
Mapping. Sometimes it helps the consumer if you return the columns in a
particular order. For instance, it may avoid a project at the top of the
tree just for reordering. Could ease the transition by writing methods that
convert BitSet to Mapping and vice versa.</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 static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a></span></code>
<div class="block">Result of an attempt to trim columns from a relational expression.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>构造器概要</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="构造器概要表, 列表构造器和解释">
<caption><span>构造器</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">构造器和说明</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#RelFieldTrimmer-org.apache.calcite.sql.validate.SqlValidator-org.apache.calcite.tools.RelBuilder-">RelFieldTrimmer</a></span>(<a href="../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a>&nbsp;validator,
<a href="../../../../org/apache/calcite/tools/RelBuilder.html" title="org.apache.calcite.tools中的类">RelBuilder</a>&nbsp;relBuilder)</code>
<div class="block">Creates a RelFieldTrimmer.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#RelFieldTrimmer-org.apache.calcite.sql.validate.SqlValidator-org.apache.calcite.plan.RelOptCluster-org.apache.calcite.rel.core.RelFactories.ProjectFactory-org.apache.calcite.rel.core.RelFactories.FilterFactory-org.apache.calcite.rel.core.RelFactories.JoinFactory-org.apache.calcite.rel.core.RelFactories.SortFactory-org.apache.calcite.rel.core.RelFactories.AggregateFactory-org.apache.calcite.rel.core.RelFactories.SetOpFactory-">RelFieldTrimmer</a></span>(<a href="../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a>&nbsp;validator,
<a href="../../../../org/apache/calcite/plan/RelOptCluster.html" title="org.apache.calcite.plan中的类">RelOptCluster</a>&nbsp;cluster,
<a href="../../../../org/apache/calcite/rel/core/RelFactories.ProjectFactory.html" title="org.apache.calcite.rel.core中的接口">RelFactories.ProjectFactory</a>&nbsp;projectFactory,
<a href="../../../../org/apache/calcite/rel/core/RelFactories.FilterFactory.html" title="org.apache.calcite.rel.core中的接口">RelFactories.FilterFactory</a>&nbsp;filterFactory,
<a href="../../../../org/apache/calcite/rel/core/RelFactories.JoinFactory.html" title="org.apache.calcite.rel.core中的接口">RelFactories.JoinFactory</a>&nbsp;joinFactory,
<a href="../../../../org/apache/calcite/rel/core/RelFactories.SortFactory.html" title="org.apache.calcite.rel.core中的接口">RelFactories.SortFactory</a>&nbsp;sortFactory,
<a href="../../../../org/apache/calcite/rel/core/RelFactories.AggregateFactory.html" title="org.apache.calcite.rel.core中的接口">RelFactories.AggregateFactory</a>&nbsp;aggregateFactory,
<a href="../../../../org/apache/calcite/rel/core/RelFactories.SetOpFactory.html" title="org.apache.calcite.rel.core中的接口">RelFactories.SetOpFactory</a>&nbsp;setOpFactory)</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="t2" class="tableTab"><span><a href="javascript:show(2);">实例方法</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">具体方法</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">限定符和类型</th>
<th class="colLast" scope="col">方法和说明</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/util/mapping/Mapping.html" title="org.apache.calcite.util.mapping中的接口">Mapping</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#createMapping-org.apache.calcite.util.ImmutableBitSet-int-">createMapping</a></span>(<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
int&nbsp;fieldCount)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#dispatchTrimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">dispatchTrimFields</a></span>(<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;rel,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</code>
<div class="block">Invokes <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(org.apache.calcite.rel.RelNode, org.apache.calcite.util.ImmutableBitSet, java.util.Set&lt;org.apache.calcite.rel.type.RelDataTypeField&gt;)</code></a>, or the appropriate method for the type
of the rel parameter, using multi-method dispatch.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#dummyProject-int-org.apache.calcite.rel.RelNode-">dummyProject</a></span>(int&nbsp;fieldCount,
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;input)</code>
<div class="block">Creates a project with a dummy column, to protect the parts of the system
that cannot handle a relational expression with no columns.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#result-org.apache.calcite.rel.RelNode-org.apache.calcite.util.mapping.Mapping-">result</a></span>(<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;r,
<a href="../../../../org/apache/calcite/util/mapping/Mapping.html" title="org.apache.calcite.util.mapping中的接口">Mapping</a>&nbsp;mapping)</code>&nbsp;</td>
</tr>
<tr id="i4" 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/RelFieldTrimmer.html#trim-org.apache.calcite.rel.RelNode-">trim</a></span>(<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;root)</code>
<div class="block">Trims unused fields from a relational expression.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimChild-org.apache.calcite.rel.RelNode-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">trimChild</a></span>(<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;rel,
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;input,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</code>
<div class="block">Trims the fields of an input relational expression.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimChildRestore-org.apache.calcite.rel.RelNode-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">trimChildRestore</a></span>(<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;rel,
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;input,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</code>
<div class="block">Trims a child relational expression, then adds back a dummy project to
restore the fields that were removed.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.core.Aggregate-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">trimFields</a></span>(<a href="../../../../org/apache/calcite/rel/core/Aggregate.html" title="org.apache.calcite.rel.core中的类">Aggregate</a>&nbsp;aggregate,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</code>
<div class="block">Variant of <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(RelNode, ImmutableBitSet, Set)</code></a> for
<a href="../../../../org/apache/calcite/rel/logical/LogicalAggregate.html" title="org.apache.calcite.rel.logical中的类"><code>LogicalAggregate</code></a>.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.core.Filter-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">trimFields</a></span>(<a href="../../../../org/apache/calcite/rel/core/Filter.html" title="org.apache.calcite.rel.core中的类">Filter</a>&nbsp;filter,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</code>
<div class="block">Variant of <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(RelNode, ImmutableBitSet, Set)</code></a> for
<a href="../../../../org/apache/calcite/rel/logical/LogicalFilter.html" title="org.apache.calcite.rel.logical中的类"><code>LogicalFilter</code></a>.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.core.Join-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">trimFields</a></span>(<a href="../../../../org/apache/calcite/rel/core/Join.html" title="org.apache.calcite.rel.core中的类">Join</a>&nbsp;join,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</code>
<div class="block">Variant of <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(RelNode, ImmutableBitSet, Set)</code></a> for
<a href="../../../../org/apache/calcite/rel/logical/LogicalJoin.html" title="org.apache.calcite.rel.logical中的类"><code>LogicalJoin</code></a>.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.logical.LogicalTableFunctionScan-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">trimFields</a></span>(<a href="../../../../org/apache/calcite/rel/logical/LogicalTableFunctionScan.html" title="org.apache.calcite.rel.logical中的类">LogicalTableFunctionScan</a>&nbsp;tabFun,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</code>
<div class="block">Variant of <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(RelNode, ImmutableBitSet, Set)</code></a> for
<a href="../../../../org/apache/calcite/rel/logical/LogicalTableFunctionScan.html" title="org.apache.calcite.rel.logical中的类"><code>LogicalTableFunctionScan</code></a>.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.logical.LogicalTableModify-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">trimFields</a></span>(<a href="../../../../org/apache/calcite/rel/logical/LogicalTableModify.html" title="org.apache.calcite.rel.logical中的类">LogicalTableModify</a>&nbsp;modifier,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</code>
<div class="block">Variant of <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(RelNode, ImmutableBitSet, Set)</code></a> for
<a href="../../../../org/apache/calcite/rel/logical/LogicalTableModify.html" title="org.apache.calcite.rel.logical中的类"><code>LogicalTableModify</code></a>.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.logical.LogicalValues-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">trimFields</a></span>(<a href="../../../../org/apache/calcite/rel/logical/LogicalValues.html" title="org.apache.calcite.rel.logical中的类">LogicalValues</a>&nbsp;values,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</code>
<div class="block">Variant of <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(RelNode, ImmutableBitSet, Set)</code></a> for
<a href="../../../../org/apache/calcite/rel/logical/LogicalValues.html" title="org.apache.calcite.rel.logical中的类"><code>LogicalValues</code></a>.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.core.Project-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">trimFields</a></span>(<a href="../../../../org/apache/calcite/rel/core/Project.html" title="org.apache.calcite.rel.core中的类">Project</a>&nbsp;project,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</code>
<div class="block">Variant of <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(RelNode, ImmutableBitSet, Set)</code></a> for
<a href="../../../../org/apache/calcite/rel/logical/LogicalProject.html" title="org.apache.calcite.rel.logical中的类"><code>LogicalProject</code></a>.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">trimFields</a></span>(<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;rel,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</code>
<div class="block">Visit method, per <a href="../../../../org/apache/calcite/util/ReflectiveVisitor.html" title="org.apache.calcite.util中的接口"><code>ReflectiveVisitor</code></a>.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.core.SetOp-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">trimFields</a></span>(<a href="../../../../org/apache/calcite/rel/core/SetOp.html" title="org.apache.calcite.rel.core中的类">SetOp</a>&nbsp;setOp,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</code>
<div class="block">Variant of <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(RelNode, ImmutableBitSet, Set)</code></a> for
<a href="../../../../org/apache/calcite/rel/core/SetOp.html" title="org.apache.calcite.rel.core中的类"><code>SetOp</code></a> (including UNION and UNION ALL).</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.core.Sort-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">trimFields</a></span>(<a href="../../../../org/apache/calcite/rel/core/Sort.html" title="org.apache.calcite.rel.core中的类">Sort</a>&nbsp;sort,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</code>
<div class="block">Variant of <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(RelNode, ImmutableBitSet, Set)</code></a> for
<a href="../../../../org/apache/calcite/rel/core/Sort.html" title="org.apache.calcite.rel.core中的类"><code>Sort</code></a>.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.core.TableScan-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">trimFields</a></span>(<a href="../../../../org/apache/calcite/rel/core/TableScan.html" title="org.apache.calcite.rel.core中的类">TableScan</a>&nbsp;tableAccessRel,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</code>
<div class="block">Variant of <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(RelNode, ImmutableBitSet, Set)</code></a> for
<a href="../../../../org/apache/calcite/rel/logical/LogicalTableScan.html" title="org.apache.calcite.rel.logical中的类"><code>LogicalTableScan</code></a>.</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">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>构造器详细资料</h3>
<a name="RelFieldTrimmer-org.apache.calcite.sql.validate.SqlValidator-org.apache.calcite.tools.RelBuilder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RelFieldTrimmer</h4>
<pre>public&nbsp;RelFieldTrimmer(<a href="../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a>&nbsp;validator,
<a href="../../../../org/apache/calcite/tools/RelBuilder.html" title="org.apache.calcite.tools中的类">RelBuilder</a>&nbsp;relBuilder)</pre>
<div class="block">Creates a RelFieldTrimmer.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>validator</code> - Validator</dd>
</dl>
</li>
</ul>
<a name="RelFieldTrimmer-org.apache.calcite.sql.validate.SqlValidator-org.apache.calcite.plan.RelOptCluster-org.apache.calcite.rel.core.RelFactories.ProjectFactory-org.apache.calcite.rel.core.RelFactories.FilterFactory-org.apache.calcite.rel.core.RelFactories.JoinFactory-org.apache.calcite.rel.core.RelFactories.SortFactory-org.apache.calcite.rel.core.RelFactories.AggregateFactory-org.apache.calcite.rel.core.RelFactories.SetOpFactory-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>RelFieldTrimmer</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;RelFieldTrimmer(<a href="../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a>&nbsp;validator,
<a href="../../../../org/apache/calcite/plan/RelOptCluster.html" title="org.apache.calcite.plan中的类">RelOptCluster</a>&nbsp;cluster,
<a href="../../../../org/apache/calcite/rel/core/RelFactories.ProjectFactory.html" title="org.apache.calcite.rel.core中的接口">RelFactories.ProjectFactory</a>&nbsp;projectFactory,
<a href="../../../../org/apache/calcite/rel/core/RelFactories.FilterFactory.html" title="org.apache.calcite.rel.core中的接口">RelFactories.FilterFactory</a>&nbsp;filterFactory,
<a href="../../../../org/apache/calcite/rel/core/RelFactories.JoinFactory.html" title="org.apache.calcite.rel.core中的接口">RelFactories.JoinFactory</a>&nbsp;joinFactory,
<a href="../../../../org/apache/calcite/rel/core/RelFactories.SortFactory.html" title="org.apache.calcite.rel.core中的接口">RelFactories.SortFactory</a>&nbsp;sortFactory,
<a href="../../../../org/apache/calcite/rel/core/RelFactories.AggregateFactory.html" title="org.apache.calcite.rel.core中的接口">RelFactories.AggregateFactory</a>&nbsp;aggregateFactory,
<a href="../../../../org/apache/calcite/rel/core/RelFactories.SetOpFactory.html" title="org.apache.calcite.rel.core中的接口">RelFactories.SetOpFactory</a>&nbsp;setOpFactory)</pre>
<div class="block"><span class="deprecatedLabel">已过时。</span>&nbsp;</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>方法详细资料</h3>
<a name="trim-org.apache.calcite.rel.RelNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trim</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;trim(<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;root)</pre>
<div class="block">Trims unused fields from a relational expression.
<p>We presume that all fields of the relational expression are wanted by
its consumer, so only trim fields that are not used within the tree.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>root</code> - Root node of relational expression</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Trimmed relational expression</dd>
</dl>
</li>
</ul>
<a name="trimChild-org.apache.calcite.rel.RelNode-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trimChild</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a>&nbsp;trimChild(<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;rel,
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;input,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</pre>
<div class="block">Trims the fields of an input relational expression.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>rel</code> - Relational expression</dd>
<dd><code>input</code> - Input relational expression, whose fields to trim</dd>
<dd><code>fieldsUsed</code> - Bitmap of fields needed by the consumer</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>New relational expression and its field mapping</dd>
</dl>
</li>
</ul>
<a name="trimChildRestore-org.apache.calcite.rel.RelNode-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trimChildRestore</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a>&nbsp;trimChildRestore(<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;rel,
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;input,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</pre>
<div class="block">Trims a child relational expression, then adds back a dummy project to
restore the fields that were removed.
<p>Sounds pointless? It causes unused fields to be removed
further down the tree (towards the leaves), but it ensure that the
consuming relational expression continues to see the same fields.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>rel</code> - Relational expression</dd>
<dd><code>input</code> - Input relational expression, whose fields to trim</dd>
<dd><code>fieldsUsed</code> - Bitmap of fields needed by the consumer</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>New relational expression and its field mapping</dd>
</dl>
</li>
</ul>
<a name="dispatchTrimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dispatchTrimFields</h4>
<pre>protected final&nbsp;<a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a>&nbsp;dispatchTrimFields(<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;rel,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</pre>
<div class="block">Invokes <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(org.apache.calcite.rel.RelNode, org.apache.calcite.util.ImmutableBitSet, java.util.Set&lt;org.apache.calcite.rel.type.RelDataTypeField&gt;)</code></a>, or the appropriate method for the type
of the rel parameter, using multi-method dispatch.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>rel</code> - Relational expression</dd>
<dd><code>fieldsUsed</code> - Bitmap of fields needed by the consumer</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>New relational expression and its field mapping</dd>
</dl>
</li>
</ul>
<a name="result-org.apache.calcite.rel.RelNode-org.apache.calcite.util.mapping.Mapping-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>result</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a>&nbsp;result(<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;r,
<a href="../../../../org/apache/calcite/util/mapping/Mapping.html" title="org.apache.calcite.util.mapping中的接口">Mapping</a>&nbsp;mapping)</pre>
</li>
</ul>
<a name="trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trimFields</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a>&nbsp;trimFields(<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;rel,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</pre>
<div class="block">Visit method, per <a href="../../../../org/apache/calcite/util/ReflectiveVisitor.html" title="org.apache.calcite.util中的接口"><code>ReflectiveVisitor</code></a>.
<p>This method is invoked reflectively, so there may not be any apparent
calls to it. The class (or derived classes) may contain overloads of
this method with more specific types for the <code>rel</code> parameter.
<p>Returns a pair: the relational expression created, and the mapping
between the original fields and the fields of the newly created
relational expression.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>rel</code> - Relational expression</dd>
<dd><code>fieldsUsed</code> - Fields needed by the consumer</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>relational expression and mapping</dd>
</dl>
</li>
</ul>
<a name="trimFields-org.apache.calcite.rel.core.Project-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trimFields</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a>&nbsp;trimFields(<a href="../../../../org/apache/calcite/rel/core/Project.html" title="org.apache.calcite.rel.core中的类">Project</a>&nbsp;project,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</pre>
<div class="block">Variant of <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(RelNode, ImmutableBitSet, Set)</code></a> for
<a href="../../../../org/apache/calcite/rel/logical/LogicalProject.html" title="org.apache.calcite.rel.logical中的类"><code>LogicalProject</code></a>.</div>
</li>
</ul>
<a name="dummyProject-int-org.apache.calcite.rel.RelNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dummyProject</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a>&nbsp;dummyProject(int&nbsp;fieldCount,
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口">RelNode</a>&nbsp;input)</pre>
<div class="block">Creates a project with a dummy column, to protect the parts of the system
that cannot handle a relational expression with no columns.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>fieldCount</code> - Number of fields in the original relational expression</dd>
<dd><code>input</code> - Trimmed input</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Dummy project, or null if no dummy is required</dd>
</dl>
</li>
</ul>
<a name="trimFields-org.apache.calcite.rel.core.Filter-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trimFields</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a>&nbsp;trimFields(<a href="../../../../org/apache/calcite/rel/core/Filter.html" title="org.apache.calcite.rel.core中的类">Filter</a>&nbsp;filter,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</pre>
<div class="block">Variant of <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(RelNode, ImmutableBitSet, Set)</code></a> for
<a href="../../../../org/apache/calcite/rel/logical/LogicalFilter.html" title="org.apache.calcite.rel.logical中的类"><code>LogicalFilter</code></a>.</div>
</li>
</ul>
<a name="trimFields-org.apache.calcite.rel.core.Sort-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trimFields</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a>&nbsp;trimFields(<a href="../../../../org/apache/calcite/rel/core/Sort.html" title="org.apache.calcite.rel.core中的类">Sort</a>&nbsp;sort,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</pre>
<div class="block">Variant of <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(RelNode, ImmutableBitSet, Set)</code></a> for
<a href="../../../../org/apache/calcite/rel/core/Sort.html" title="org.apache.calcite.rel.core中的类"><code>Sort</code></a>.</div>
</li>
</ul>
<a name="trimFields-org.apache.calcite.rel.core.Join-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trimFields</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a>&nbsp;trimFields(<a href="../../../../org/apache/calcite/rel/core/Join.html" title="org.apache.calcite.rel.core中的类">Join</a>&nbsp;join,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</pre>
<div class="block">Variant of <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(RelNode, ImmutableBitSet, Set)</code></a> for
<a href="../../../../org/apache/calcite/rel/logical/LogicalJoin.html" title="org.apache.calcite.rel.logical中的类"><code>LogicalJoin</code></a>.</div>
</li>
</ul>
<a name="trimFields-org.apache.calcite.rel.core.SetOp-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trimFields</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a>&nbsp;trimFields(<a href="../../../../org/apache/calcite/rel/core/SetOp.html" title="org.apache.calcite.rel.core中的类">SetOp</a>&nbsp;setOp,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</pre>
<div class="block">Variant of <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(RelNode, ImmutableBitSet, Set)</code></a> for
<a href="../../../../org/apache/calcite/rel/core/SetOp.html" title="org.apache.calcite.rel.core中的类"><code>SetOp</code></a> (including UNION and UNION ALL).</div>
</li>
</ul>
<a name="trimFields-org.apache.calcite.rel.core.Aggregate-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trimFields</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a>&nbsp;trimFields(<a href="../../../../org/apache/calcite/rel/core/Aggregate.html" title="org.apache.calcite.rel.core中的类">Aggregate</a>&nbsp;aggregate,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</pre>
<div class="block">Variant of <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(RelNode, ImmutableBitSet, Set)</code></a> for
<a href="../../../../org/apache/calcite/rel/logical/LogicalAggregate.html" title="org.apache.calcite.rel.logical中的类"><code>LogicalAggregate</code></a>.</div>
</li>
</ul>
<a name="trimFields-org.apache.calcite.rel.logical.LogicalTableModify-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trimFields</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a>&nbsp;trimFields(<a href="../../../../org/apache/calcite/rel/logical/LogicalTableModify.html" title="org.apache.calcite.rel.logical中的类">LogicalTableModify</a>&nbsp;modifier,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</pre>
<div class="block">Variant of <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(RelNode, ImmutableBitSet, Set)</code></a> for
<a href="../../../../org/apache/calcite/rel/logical/LogicalTableModify.html" title="org.apache.calcite.rel.logical中的类"><code>LogicalTableModify</code></a>.</div>
</li>
</ul>
<a name="trimFields-org.apache.calcite.rel.logical.LogicalTableFunctionScan-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trimFields</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a>&nbsp;trimFields(<a href="../../../../org/apache/calcite/rel/logical/LogicalTableFunctionScan.html" title="org.apache.calcite.rel.logical中的类">LogicalTableFunctionScan</a>&nbsp;tabFun,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</pre>
<div class="block">Variant of <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(RelNode, ImmutableBitSet, Set)</code></a> for
<a href="../../../../org/apache/calcite/rel/logical/LogicalTableFunctionScan.html" title="org.apache.calcite.rel.logical中的类"><code>LogicalTableFunctionScan</code></a>.</div>
</li>
</ul>
<a name="trimFields-org.apache.calcite.rel.logical.LogicalValues-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trimFields</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a>&nbsp;trimFields(<a href="../../../../org/apache/calcite/rel/logical/LogicalValues.html" title="org.apache.calcite.rel.logical中的类">LogicalValues</a>&nbsp;values,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</pre>
<div class="block">Variant of <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(RelNode, ImmutableBitSet, Set)</code></a> for
<a href="../../../../org/apache/calcite/rel/logical/LogicalValues.html" title="org.apache.calcite.rel.logical中的类"><code>LogicalValues</code></a>.</div>
</li>
</ul>
<a name="createMapping-org.apache.calcite.util.ImmutableBitSet-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createMapping</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/calcite/util/mapping/Mapping.html" title="org.apache.calcite.util.mapping中的接口">Mapping</a>&nbsp;createMapping(<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
int&nbsp;fieldCount)</pre>
</li>
</ul>
<a name="trimFields-org.apache.calcite.rel.core.TableScan-org.apache.calcite.util.ImmutableBitSet-java.util.Set-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>trimFields</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.html" title="org.apache.calcite.sql2rel中的类">RelFieldTrimmer.TrimResult</a>&nbsp;trimFields(<a href="../../../../org/apache/calcite/rel/core/TableScan.html" title="org.apache.calcite.rel.core中的类">TableScan</a>&nbsp;tableAccessRel,
<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="org.apache.calcite.util中的类">ImmutableBitSet</a>&nbsp;fieldsUsed,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="java.util中的类或接口">Set</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeField.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeField</a>&gt;&nbsp;extraFields)</pre>
<div class="block">Variant of <a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.html#trimFields-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.Set-"><code>trimFields(RelNode, ImmutableBitSet, Set)</code></a> for
<a href="../../../../org/apache/calcite/rel/logical/LogicalTableScan.html" title="org.apache.calcite.rel.logical中的类"><code>LogicalTableScan</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/RelDecorrelator.CorelMapBuilder.html" title="org.apache.calcite.sql2rel中的类"><span class="typeNameLink">上一个类</span></a></li>
<li><a href="../../../../org/apache/calcite/sql2rel/RelFieldTrimmer.TrimResult.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/RelFieldTrimmer.html" target="_top">框架</a></li>
<li><a href="RelFieldTrimmer.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>字段&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>字段&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>