blob: 36d16be9d67fb65ebce773765051d08455e6058c [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>org.apache.calcite.plan (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="org.apache.calcite.plan (Apache Calcite calcite API)";
}
}
catch(err) {
}
//-->
</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 class="navBarCell1Rev">程序包</li>
<li></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/piglet/package-summary.html">上一个程序包</a></li>
<li><a href="../../../../org/apache/calcite/plan/hep/package-summary.html">下一个程序包</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/calcite/plan/package-summary.html" target="_top">框架</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="程序包" class="title">程序包&nbsp;org.apache.calcite.plan</h1>
<div class="docSummary">
<div class="block">Defines interfaces for constructing rule-based optimizers of
relational expressions.</div>
</div>
<p>请参阅:&nbsp;<a href="#package.description">说明</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" 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>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/Context.html" title="org.apache.calcite.plan中的接口">Context</a></td>
<td class="colLast">
<div class="block">Provides library users a way to store data within the planner session and
access it within rules.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/Convention.html" title="org.apache.calcite.plan中的接口">Convention</a></td>
<td class="colLast">
<div class="block">Calling convention trait.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelHintsPropagator.html" title="org.apache.calcite.plan中的接口">RelHintsPropagator</a></td>
<td class="colLast">
<div class="block">Customize the propagation of the <a href="../../../../org/apache/calcite/rel/hint/RelHint.html" title="org.apache.calcite.rel.hint中的类"><code>RelHint</code></a>s
from the root relational expression of a rule call <a href="../../../../org/apache/calcite/plan/RelOptRuleCall.html" title="org.apache.calcite.plan中的类"><code>RelOptRuleCall</code></a> to
the new equivalent expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelImplementor.html" title="org.apache.calcite.plan中的接口">RelImplementor</a></td>
<td class="colLast">
<div class="block">This is a marker interface for a callback used to convert a tree of
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口"><code>relational expressions</code></a> into a plan.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelMultipleTrait.html" title="org.apache.calcite.plan中的接口">RelMultipleTrait</a></td>
<td class="colLast">
<div class="block">Trait for which a given relational expression can have multiple values.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptConnection.html" title="org.apache.calcite.plan中的接口">RelOptConnection</a></td>
<td class="colLast">
<div class="block">The planner's view of a connection to a database.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptCost.html" title="org.apache.calcite.plan中的接口">RelOptCost</a></td>
<td class="colLast">
<div class="block">RelOptCost defines an interface for optimizer cost in terms of number of rows
processed, CPU cost, and I/O cost.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptCostFactory.html" title="org.apache.calcite.plan中的接口">RelOptCostFactory</a></td>
<td class="colLast">
<div class="block">Cost model for query planning.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptListener.html" title="org.apache.calcite.plan中的接口">RelOptListener</a></td>
<td class="colLast">
<div class="block">RelOptListener defines an interface for listening to events which occur
during the optimization process.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptNode.html" title="org.apache.calcite.plan中的接口">RelOptNode</a></td>
<td class="colLast">
<div class="block">Node in a planner.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptPlanner.html" title="org.apache.calcite.plan中的接口">RelOptPlanner</a></td>
<td class="colLast">
<div class="block">A <code>RelOptPlanner</code> is a query optimizer: it transforms a relational
expression into a semantically equivalent relational expression, according to
a given set of rules and a cost model.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptPlanner.Executor.html" title="org.apache.calcite.plan中的接口">RelOptPlanner.Executor</a></td>
<td class="colLast">已过时
<div class="block"><span class="deprecationComment">Use <a href="../../../../org/apache/calcite/rex/RexExecutor.html" title="org.apache.calcite.rex中的接口"><code>RexExecutor</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptSchema.html" title="org.apache.calcite.plan中的接口">RelOptSchema</a></td>
<td class="colLast">
<div class="block">A <code>RelOptSchema</code> is a set of <a href="../../../../org/apache/calcite/plan/RelOptTable.html" title="org.apache.calcite.plan中的接口"><code>RelOptTable</code></a> objects.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptSchemaWithSampling.html" title="org.apache.calcite.plan中的接口">RelOptSchemaWithSampling</a></td>
<td class="colLast">
<div class="block">Extension to <a href="../../../../org/apache/calcite/plan/RelOptSchema.html" title="org.apache.calcite.plan中的接口"><code>RelOptSchema</code></a> with support for sample data-sets.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptTable.html" title="org.apache.calcite.plan中的接口">RelOptTable</a></td>
<td class="colLast">
<div class="block">Represents a relational dataset in a <a href="../../../../org/apache/calcite/plan/RelOptSchema.html" title="org.apache.calcite.plan中的接口"><code>RelOptSchema</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptTable.ToRelContext.html" title="org.apache.calcite.plan中的接口">RelOptTable.ToRelContext</a></td>
<td class="colLast">
<div class="block">Contains the context needed to convert a a table into a relational
expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptTable.ViewExpander.html" title="org.apache.calcite.plan中的接口">RelOptTable.ViewExpander</a></td>
<td class="colLast">
<div class="block">Can expand a view into relational expressions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelTrait.html" title="org.apache.calcite.plan中的接口">RelTrait</a></td>
<td class="colLast">
<div class="block">RelTrait represents the manifestation of a relational expression trait within
a trait definition.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" 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>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/AbstractRelOptPlanner.html" title="org.apache.calcite.plan中的类">AbstractRelOptPlanner</a></td>
<td class="colLast">
<div class="block">Abstract base for implementations of the <a href="../../../../org/apache/calcite/plan/RelOptPlanner.html" title="org.apache.calcite.plan中的接口"><code>RelOptPlanner</code></a> interface.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/CommonRelSubExprRule.html" title="org.apache.calcite.plan中的类">CommonRelSubExprRule</a></td>
<td class="colLast">
<div class="block">A <code>CommonRelSubExprRule</code> is an abstract base class for rules
that are fired only on relational expressions that appear more than once
in a query tree.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/Contexts.html" title="org.apache.calcite.plan中的类">Contexts</a></td>
<td class="colLast">
<div class="block">Utilities for <a href="../../../../org/apache/calcite/plan/Context.html" title="org.apache.calcite.plan中的接口"><code>Context</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/Convention.Impl.html" title="org.apache.calcite.plan中的类">Convention.Impl</a></td>
<td class="colLast">
<div class="block">Default implementation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/ConventionTraitDef.html" title="org.apache.calcite.plan中的类">ConventionTraitDef</a></td>
<td class="colLast">
<div class="block">Definition of the convention trait.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/MaterializedViewSubstitutionVisitor.html" title="org.apache.calcite.plan中的类">MaterializedViewSubstitutionVisitor</a></td>
<td class="colLast">已过时</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/MulticastRelOptListener.html" title="org.apache.calcite.plan中的类">MulticastRelOptListener</a></td>
<td class="colLast">
<div class="block">MulticastRelOptListener implements the <a href="../../../../org/apache/calcite/plan/RelOptListener.html" title="org.apache.calcite.plan中的接口"><code>RelOptListener</code></a> interface by
forwarding events on to a collection of other listeners.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptAbstractTable.html" title="org.apache.calcite.plan中的类">RelOptAbstractTable</a></td>
<td class="colLast">
<div class="block">Partial implementation of <a href="../../../../org/apache/calcite/plan/RelOptTable.html" title="org.apache.calcite.plan中的接口"><code>RelOptTable</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptCluster.html" title="org.apache.calcite.plan中的类">RelOptCluster</a></td>
<td class="colLast">
<div class="block">An environment for related relational expressions during the
optimization of a query.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptCostImpl.html" title="org.apache.calcite.plan中的类">RelOptCostImpl</a></td>
<td class="colLast">
<div class="block">RelOptCostImpl provides a default implementation for the <a href="../../../../org/apache/calcite/plan/RelOptCost.html" title="org.apache.calcite.plan中的接口"><code>RelOptCost</code></a>
interface.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptLattice.html" title="org.apache.calcite.plan中的类">RelOptLattice</a></td>
<td class="colLast">
<div class="block">Use of a lattice by the query optimizer.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptListener.RelChosenEvent.html" title="org.apache.calcite.plan中的类">RelOptListener.RelChosenEvent</a></td>
<td class="colLast">
<div class="block">Event indicating that a relational expression has been chosen.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptListener.RelDiscardedEvent.html" title="org.apache.calcite.plan中的类">RelOptListener.RelDiscardedEvent</a></td>
<td class="colLast">
<div class="block">Event indicating that a relational expression has been discarded.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptListener.RelEquivalenceEvent.html" title="org.apache.calcite.plan中的类">RelOptListener.RelEquivalenceEvent</a></td>
<td class="colLast">
<div class="block">Event indicating that a relational expression has been found to
be equivalent to an equivalence class.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptListener.RelEvent.html" title="org.apache.calcite.plan中的类">RelOptListener.RelEvent</a></td>
<td class="colLast">
<div class="block">Event class for abstract event dealing with a relational expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptListener.RuleAttemptedEvent.html" title="org.apache.calcite.plan中的类">RelOptListener.RuleAttemptedEvent</a></td>
<td class="colLast">
<div class="block">Event indicating that a planner rule has been attempted.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptListener.RuleEvent.html" title="org.apache.calcite.plan中的类">RelOptListener.RuleEvent</a></td>
<td class="colLast">
<div class="block">Event indicating that a planner rule has fired.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptListener.RuleProductionEvent.html" title="org.apache.calcite.plan中的类">RelOptListener.RuleProductionEvent</a></td>
<td class="colLast">
<div class="block">Event indicating that a planner rule has produced a result.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptMaterialization.html" title="org.apache.calcite.plan中的类">RelOptMaterialization</a></td>
<td class="colLast">
<div class="block">Records that a particular query is materialized by a particular table.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptMaterializations.html" title="org.apache.calcite.plan中的类">RelOptMaterializations</a></td>
<td class="colLast">
<div class="block">Utility methods for using
materialized views and lattices for queries.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptPredicateList.html" title="org.apache.calcite.plan中的类">RelOptPredicateList</a></td>
<td class="colLast">
<div class="block">Predicates that are known to hold in the output of a particular relational
expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptQuery.html" title="org.apache.calcite.plan中的类">RelOptQuery</a></td>
<td class="colLast">
<div class="block">A <code>RelOptQuery</code> represents a set of
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口"><code>relational expressions</code></a> which derive from the same
<code>select</code> statement.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptRule.html" title="org.apache.calcite.plan中的类">RelOptRule</a></td>
<td class="colLast">
<div class="block">A <code>RelOptRule</code> transforms an expression into another.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptRuleCall.html" title="org.apache.calcite.plan中的类">RelOptRuleCall</a></td>
<td class="colLast">
<div class="block">A <code>RelOptRuleCall</code> is an invocation of a <a href="../../../../org/apache/calcite/plan/RelOptRule.html" title="org.apache.calcite.plan中的类"><code>RelOptRule</code></a> with a
set of <a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口"><code>relational expression</code></a>s as arguments.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptRuleOperand.html" title="org.apache.calcite.plan中的类">RelOptRuleOperand</a></td>
<td class="colLast">
<div class="block">Operand that determines whether a <a href="../../../../org/apache/calcite/plan/RelOptRule.html" title="org.apache.calcite.plan中的类"><code>RelOptRule</code></a>
can be applied to a particular expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptRuleOperandChildren.html" title="org.apache.calcite.plan中的类">RelOptRuleOperandChildren</a></td>
<td class="colLast">
<div class="block">Children of a <a href="../../../../org/apache/calcite/plan/RelOptRuleOperand.html" title="org.apache.calcite.plan中的类"><code>RelOptRuleOperand</code></a> and the
policy for matching them.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptRules.html" title="org.apache.calcite.plan中的类">RelOptRules</a></td>
<td class="colLast">
<div class="block">A utility class for organizing built-in rules and rule related
methods.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptSamplingParameters.html" title="org.apache.calcite.plan中的类">RelOptSamplingParameters</a></td>
<td class="colLast">
<div class="block">RelOptSamplingParameters represents the parameters necessary to produce a
sample of a relation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptUtil.html" title="org.apache.calcite.plan中的类">RelOptUtil</a></td>
<td class="colLast">
<div class="block"><code>RelOptUtil</code> defines static utility methods for use in optimizing
<a href="../../../../org/apache/calcite/rel/RelNode.html" title="org.apache.calcite.rel中的接口"><code>RelNode</code></a>s.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptUtil.Exists.html" title="org.apache.calcite.plan中的类">RelOptUtil.Exists</a></td>
<td class="colLast">
<div class="block">Result of calling
<a href="../../../../org/apache/calcite/plan/RelOptUtil.html#createExistsPlan-org.apache.calcite.plan.RelOptCluster-org.apache.calcite.rel.RelNode-java.util.List-org.apache.calcite.rex.RexLiteral-java.lang.String-"><code>RelOptUtil.createExistsPlan(org.apache.calcite.plan.RelOptCluster, org.apache.calcite.rel.RelNode, java.util.List&lt;org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexLiteral, java.lang.String)</code></a></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptUtil.InputFinder.html" title="org.apache.calcite.plan中的类">RelOptUtil.InputFinder</a></td>
<td class="colLast">
<div class="block">Visitor which builds a bitmap of the inputs used by an expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptUtil.InputReferencedVisitor.html" title="org.apache.calcite.plan中的类">RelOptUtil.InputReferencedVisitor</a></td>
<td class="colLast">
<div class="block">Shuttle that finds the set of inputs that are used.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptUtil.RexInputConverter.html" title="org.apache.calcite.plan中的类">RelOptUtil.RexInputConverter</a></td>
<td class="colLast">
<div class="block">Walks an expression tree, converting the index of RexInputRefs based on
some adjustment factor.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptUtil.TypeDumper.html" title="org.apache.calcite.plan中的类">RelOptUtil.TypeDumper</a></td>
<td class="colLast">
<div class="block">Converts types to descriptive strings.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptUtil.VariableUsedVisitor.html" title="org.apache.calcite.plan中的类">RelOptUtil.VariableUsedVisitor</a></td>
<td class="colLast">
<div class="block">Visitor that finds all variables used in an expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelTraitDef.html" title="org.apache.calcite.plan中的类">RelTraitDef</a>&lt;T extends <a href="../../../../org/apache/calcite/plan/RelTrait.html" title="org.apache.calcite.plan中的接口">RelTrait</a>&gt;</td>
<td class="colLast">
<div class="block">RelTraitDef represents a class of <a href="../../../../org/apache/calcite/plan/RelTrait.html" title="org.apache.calcite.plan中的接口"><code>RelTrait</code></a>s.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelTraitPropagationVisitor.html" title="org.apache.calcite.plan中的类">RelTraitPropagationVisitor</a></td>
<td class="colLast">已过时
<div class="block"><span class="deprecationComment">As of 1.19, if you need to perform certain assertions regarding a RelNode tree and
the contained traits you are encouraged to implement your own RelVisitor or
<a href="../../../../org/apache/calcite/rel/RelShuttle.html" title="org.apache.calcite.rel中的接口"><code>RelShuttle</code></a> directly.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelTraitSet.html" title="org.apache.calcite.plan中的类">RelTraitSet</a></td>
<td class="colLast">
<div class="block">RelTraitSet represents an ordered set of <a href="../../../../org/apache/calcite/plan/RelTrait.html" title="org.apache.calcite.plan中的接口"><code>RelTrait</code></a>s.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RexImplicationChecker.html" title="org.apache.calcite.plan中的类">RexImplicationChecker</a></td>
<td class="colLast">
<div class="block">Checks whether one condition logically implies another.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/Strong.html" title="org.apache.calcite.plan中的类">Strong</a></td>
<td class="colLast">
<div class="block">Utilities for strong predicates.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/SubstitutionVisitor.html" title="org.apache.calcite.plan中的类">SubstitutionVisitor</a></td>
<td class="colLast">
<div class="block">Substitutes part of a tree of relational expressions with another tree.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/SubstitutionVisitor.AbstractUnifyRule.html" title="org.apache.calcite.plan中的类">SubstitutionVisitor.AbstractUnifyRule</a></td>
<td class="colLast">
<div class="block">Abstract base class for implementing <a href="../../../../org/apache/calcite/plan/SubstitutionVisitor.UnifyRule.html" title="org.apache.calcite.plan中的类"><code>SubstitutionVisitor.UnifyRule</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/SubstitutionVisitor.Operand.html" title="org.apache.calcite.plan中的类">SubstitutionVisitor.Operand</a></td>
<td class="colLast">
<div class="block">Operand to a <a href="../../../../org/apache/calcite/plan/SubstitutionVisitor.UnifyRule.html" title="org.apache.calcite.plan中的类"><code>SubstitutionVisitor.UnifyRule</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/SubstitutionVisitor.UnifyResult.html" title="org.apache.calcite.plan中的类">SubstitutionVisitor.UnifyResult</a></td>
<td class="colLast">
<div class="block">Result of an application of a <a href="../../../../org/apache/calcite/plan/SubstitutionVisitor.UnifyRule.html" title="org.apache.calcite.plan中的类"><code>SubstitutionVisitor.UnifyRule</code></a> indicating that the
rule successfully matched <code>query</code> against <code>target</code> and
generated a <code>result</code> that is equivalent to <code>query</code> and
contains <code>target</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/SubstitutionVisitor.UnifyRule.html" title="org.apache.calcite.plan中的类">SubstitutionVisitor.UnifyRule</a></td>
<td class="colLast">
<div class="block">Rule that attempts to match a query relational expression
against a target relational expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/TableAccessMap.html" title="org.apache.calcite.plan中的类">TableAccessMap</a></td>
<td class="colLast">
<div class="block"><code>TableAccessMap</code> represents the tables accessed by a query plan,
with READ/WRITE information.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/ViewExpanders.html" title="org.apache.calcite.plan中的类">ViewExpanders</a></td>
<td class="colLast">
<div class="block">Utilities for <a href="../../../../org/apache/calcite/plan/RelOptTable.ViewExpander.html" title="org.apache.calcite.plan中的接口"><code>RelOptTable.ViewExpander</code></a> and
<a href="../../../../org/apache/calcite/plan/RelOptTable.ToRelContext.html" title="org.apache.calcite.plan中的接口"><code>RelOptTable.ToRelContext</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/VisitorDataContext.html" title="org.apache.calcite.plan中的类">VisitorDataContext</a></td>
<td class="colLast">
<div class="block">DataContext for evaluating an RexExpression</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" 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>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptRuleOperandChildPolicy.html" title="org.apache.calcite.plan中的枚举">RelOptRuleOperandChildPolicy</a></td>
<td class="colLast">
<div class="block">Policy by which operands will be matched by relational expressions with
any number of children.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptUtil.Logic.html" title="org.apache.calcite.plan中的枚举">RelOptUtil.Logic</a></td>
<td class="colLast">
<div class="block">Policies for handling two- and three-valued boolean logic.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptUtil.SubQueryType.html" title="org.apache.calcite.plan中的枚举">RelOptUtil.SubQueryType</a></td>
<td class="colLast">
<div class="block">What kind of sub-query.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/Strong.Policy.html" title="org.apache.calcite.plan中的枚举">Strong.Policy</a></td>
<td class="colLast">
<div class="block">How whether an operator's operands are null affects whether a call to
that operator evaluates to null.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/TableAccessMap.Mode.html" title="org.apache.calcite.plan中的枚举">TableAccessMap.Mode</a></td>
<td class="colLast">
<div class="block">Access mode.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" 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>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/RelOptPlanner.CannotPlanException.html" title="org.apache.calcite.plan中的类">RelOptPlanner.CannotPlanException</a></td>
<td class="colLast">
<div class="block">Thrown by <a href="../../../../org/apache/calcite/plan/RelOptPlanner.html#findBestExp--"><code>RelOptPlanner.findBestExp()</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/plan/SubstitutionVisitor.MatchFailed.html" title="org.apache.calcite.plan中的类">SubstitutionVisitor.MatchFailed</a></td>
<td class="colLast">
<div class="block">Exception thrown to exit a matcher.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!-- -->
</a>
<h2 title="程序包org.apache.calcite.plan的说明">程序包org.apache.calcite.plan的说明</h2>
<div class="block">Defines interfaces for constructing rule-based optimizers of
relational expressions.</div>
</div>
<!-- ======= 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 class="navBarCell1Rev">程序包</li>
<li></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/piglet/package-summary.html">上一个程序包</a></li>
<li><a href="../../../../org/apache/calcite/plan/hep/package-summary.html">下一个程序包</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/calcite/plan/package-summary.html" target="_top">框架</a></li>
<li><a href="package-summary.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>
<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>