blob: bdb0bc3020161e04da71355febf986f16790388b [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>org.apache.calcite.plan (Apache Calcite API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.calcite.plan">
<meta name="generator" content="javadoc/PackageWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="package-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<div class="about-language"><b>Apache Calcite</b></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">Package</li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html#package">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Package:&nbsp;</li>
<li><a href="#package-description">Description</a>&nbsp;|&nbsp;</li>
<li><a href="#related-package-summary">Related Packages</a>&nbsp;|&nbsp;</li>
<li><a href="#class-summary">Classes and Interfaces</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="Package org.apache.calcite.plan" class="title">Package org.apache.calcite.plan</h1>
</div>
<hr>
<div class="package-signature"><span class="annotations">@DefaultQualifier(value=org.checkerframework.checker.nullness.qual.NonNull.class,locations=FIELD) @DefaultQualifier(value=org.checkerframework.checker.nullness.qual.NonNull.class,locations=PARAMETER) @DefaultQualifier(value=org.checkerframework.checker.nullness.qual.NonNull.class,locations=RETURN)
</span>package <span class="element-name">org.apache.calcite.plan</span></div>
<section class="package-description" id="package-description">
<div class="block">Defines interfaces for constructing rule-based optimizers of
relational expressions.</div>
</section>
<section class="summary">
<ul class="summary-list">
<li>
<div id="related-package-summary">
<div class="caption"><span>Related Packages</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="../package-summary.html">org.apache.calcite</a></div>
<div class="col-last even-row-color">
<div class="block">Main package for Calcite, the dynamic data management platform.</div>
</div>
<div class="col-first odd-row-color"><a href="hep/package-summary.html">org.apache.calcite.plan.hep</a></div>
<div class="col-last odd-row-color">
<div class="block">Provides a heuristic planner implementation for the interfaces in
<a href="package-summary.html"><code>org.apache.calcite.plan</code></a>.</div>
</div>
<div class="col-first even-row-color"><a href="visualizer/package-summary.html">org.apache.calcite.plan.visualizer</a></div>
<div class="col-last even-row-color">
<div class="block">A visualizer showing how the rules are applied step-by-step.</div>
</div>
<div class="col-first odd-row-color"><a href="volcano/package-summary.html">org.apache.calcite.plan.volcano</a></div>
<div class="col-last odd-row-color">
<div class="block">Optimizes relational expressions.</div>
</div>
</div>
</div>
</li>
<li>
<div id="class-summary">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="class-summary-tab0" role="tab" aria-selected="true" aria-controls="class-summary.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="class-summary-tab1" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab1', 2)" class="table-tab">Interfaces</button><button id="class-summary-tab2" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab2', 2)" class="table-tab">Classes</button><button id="class-summary-tab3" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab3', 2)" class="table-tab">Enums</button><button id="class-summary-tab5" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab5', 2)" class="table-tab">Exceptions</button></div>
<div id="class-summary.tabpanel" role="tabpanel">
<div class="summary-table two-column-summary" aria-labelledby="class-summary-tab0">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="AbstractRelOptPlanner.html" title="class in org.apache.calcite.plan">AbstractRelOptPlanner</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Abstract base for implementations of the <a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan"><code>RelOptPlanner</code></a> interface.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="CommonRelSubExprRule.html" title="class in org.apache.calcite.plan">CommonRelSubExprRule</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<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>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="CommonRelSubExprRule.Config.html" title="interface in org.apache.calcite.plan">CommonRelSubExprRule.Config</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Rule configuration.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="Context.html" title="interface in org.apache.calcite.plan">Context</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Provides library users a way to store data within the planner session and
access it within rules.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="Contexts.html" title="class in org.apache.calcite.plan">Contexts</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Utilities for <a href="Context.html" title="interface in org.apache.calcite.plan"><code>Context</code></a>.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="Convention.html" title="interface in org.apache.calcite.plan">Convention</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Calling convention trait.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="Convention.Impl.html" title="class in org.apache.calcite.plan">Convention.Impl</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Default implementation.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ConventionTraitDef.html" title="class in org.apache.calcite.plan">ConventionTraitDef</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Definition of the convention trait.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab3"><a href="DeriveMode.html" title="enum in org.apache.calcite.plan">DeriveMode</a></div>
<div class="col-last even-row-color class-summary class-summary-tab3">
<div class="block">The mode of trait derivation.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="MaterializedViewSubstitutionVisitor.html" title="class in org.apache.calcite.plan">MaterializedViewSubstitutionVisitor</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">Deprecated.</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="MulticastRelOptListener.html" title="class in org.apache.calcite.plan">MulticastRelOptListener</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">MulticastRelOptListener implements the <a href="RelOptListener.html" title="interface in org.apache.calcite.plan"><code>RelOptListener</code></a> interface by
forwarding events on to a collection of other listeners.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="RelDigest.html" title="interface in org.apache.calcite.plan">RelDigest</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">The digest is the exact representation of the corresponding <code>RelNode</code>,
at anytime, anywhere.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="RelHintsPropagator.html" title="interface in org.apache.calcite.plan">RelHintsPropagator</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Customize the propagation of the <a href="../rel/hint/RelHint.html" title="class in org.apache.calcite.rel.hint"><code>RelHint</code></a>s
from the root relational expression of a rule call <a href="RelOptRuleCall.html" title="class in org.apache.calcite.plan"><code>RelOptRuleCall</code></a> to
the new equivalent expression.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="RelImplementor.html" title="interface in org.apache.calcite.plan">RelImplementor</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">This is a marker interface for a callback used to convert a tree of
<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>relational expressions</code></a> into a plan.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="RelMultipleTrait.html" title="interface in org.apache.calcite.plan">RelMultipleTrait</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Trait for which a given relational expression can have multiple values.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelOptAbstractTable.html" title="class in org.apache.calcite.plan">RelOptAbstractTable</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Partial implementation of <a href="RelOptTable.html" title="interface in org.apache.calcite.plan"><code>RelOptTable</code></a>.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">An environment for related relational expressions during the
optimization of a query.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="RelOptConnection.html" title="interface in org.apache.calcite.plan">RelOptConnection</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">The planner's view of a connection to a database.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">RelOptCost defines an interface for optimizer cost in terms of number of rows
processed, CPU cost, and I/O cost.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="RelOptCostFactory.html" title="interface in org.apache.calcite.plan">RelOptCostFactory</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Cost model for query planning.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelOptCostImpl.html" title="class in org.apache.calcite.plan">RelOptCostImpl</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">RelOptCostImpl provides a default implementation for the <a href="RelOptCost.html" title="interface in org.apache.calcite.plan"><code>RelOptCost</code></a>
interface.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelOptLattice.html" title="class in org.apache.calcite.plan">RelOptLattice</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Use of a lattice by the query optimizer.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="RelOptListener.html" title="interface in org.apache.calcite.plan">RelOptListener</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">RelOptListener defines an interface for listening to events which occur
during the optimization process.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelOptListener.RelChosenEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RelChosenEvent</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Event indicating that a relational expression has been chosen.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelOptListener.RelDiscardedEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RelDiscardedEvent</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Event indicating that a relational expression has been discarded.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelOptListener.RelEquivalenceEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RelEquivalenceEvent</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Event indicating that a relational expression has been found to
be equivalent to an equivalence class.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelOptListener.RelEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RelEvent</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Event class for abstract event dealing with a relational expression.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelOptListener.RuleAttemptedEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RuleAttemptedEvent</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Event indicating that a planner rule has been attempted.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelOptListener.RuleEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RuleEvent</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Event indicating that a planner rule has fired.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelOptListener.RuleProductionEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RuleProductionEvent</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Event indicating that a planner rule has produced a result.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Records that a particular query is materialized by a particular table.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelOptMaterializations.html" title="class in org.apache.calcite.plan">RelOptMaterializations</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Utility methods for using
materialized views and lattices for queries.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="RelOptNode.html" title="interface in org.apache.calcite.plan">RelOptNode</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Node in a planner.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<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>
</div>
<div class="col-first even-row-color class-summary class-summary-tab5"><a href="RelOptPlanner.CannotPlanException.html" title="class in org.apache.calcite.plan">RelOptPlanner.CannotPlanException</a></div>
<div class="col-last even-row-color class-summary class-summary-tab5">
<div class="block">Thrown by <a href="RelOptPlanner.html#findBestExp()"><code>RelOptPlanner.findBestExp()</code></a>.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="RelOptPlanner.Executor.html" title="interface in org.apache.calcite.plan">RelOptPlanner.Executor</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">Deprecated.
<div class="deprecation-comment">Use <a href="../rex/RexExecutor.html" title="interface in org.apache.calcite.rex"><code>RexExecutor</code></a></div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Predicates that are known to hold in the output of a particular relational
expression.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelOptQuery.html" title="class in org.apache.calcite.plan">RelOptQuery</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">A <code>RelOptQuery</code> represents a set of
<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>relational expressions</code></a> which derive from the same
<code>select</code> statement.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">A <code>RelOptRule</code> transforms an expression into another.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelOptRule.ConverterRelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRule.ConverterRelOptRuleOperand</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Operand to an instance of the converter rule.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">A <code>RelOptRuleCall</code> is an invocation of a <a href="RelOptRule.html" title="class in org.apache.calcite.plan"><code>RelOptRule</code></a> with a
set of <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>relational expression</code></a>s as arguments.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Operand that determines whether a <a href="RelOptRule.html" title="class in org.apache.calcite.plan"><code>RelOptRule</code></a>
can be applied to a particular expression.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab3"><a href="RelOptRuleOperandChildPolicy.html" title="enum in org.apache.calcite.plan">RelOptRuleOperandChildPolicy</a></div>
<div class="col-last even-row-color class-summary class-summary-tab3">
<div class="block">Policy by which operands will be matched by relational expressions with
any number of children.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelOptRuleOperandChildren.html" title="class in org.apache.calcite.plan">RelOptRuleOperandChildren</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">Deprecated.
<div class="deprecation-comment">Use <a href="RelRule.OperandBuilder.html" title="interface in org.apache.calcite.plan"><code>RelRule.OperandBuilder</code></a></div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelOptRules.html" title="class in org.apache.calcite.plan">RelOptRules</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">A utility class for organizing built-in rules and rule related
methods.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelOptSamplingParameters.html" title="class in org.apache.calcite.plan">RelOptSamplingParameters</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">RelOptSamplingParameters represents the parameters necessary to produce a
sample of a relation.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="RelOptSchema.html" title="interface in org.apache.calcite.plan">RelOptSchema</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">A <code>RelOptSchema</code> is a set of <a href="RelOptTable.html" title="interface in org.apache.calcite.plan"><code>RelOptTable</code></a> objects.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="RelOptSchemaWithSampling.html" title="interface in org.apache.calcite.plan">RelOptSchemaWithSampling</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Extension to <a href="RelOptSchema.html" title="interface in org.apache.calcite.plan"><code>RelOptSchema</code></a> with support for sample data-sets.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Represents a relational dataset in a <a href="RelOptSchema.html" title="interface in org.apache.calcite.plan"><code>RelOptSchema</code></a>.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Contains the context needed to convert a a table into a relational
expression.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="RelOptTable.ViewExpander.html" title="interface in org.apache.calcite.plan">RelOptTable.ViewExpander</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Can expand a view into relational expressions.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelOptUtil.html" title="class in org.apache.calcite.plan">RelOptUtil</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block"><code>RelOptUtil</code> defines static utility methods for use in optimizing
<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>s.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelOptUtil.Exists.html" title="class in org.apache.calcite.plan">RelOptUtil.Exists</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Result of calling
<a href="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>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelOptUtil.InputFinder.html" title="class in org.apache.calcite.plan">RelOptUtil.InputFinder</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Visitor which builds a bitmap of the inputs used by an expression.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelOptUtil.InputReferencedVisitor.html" title="class in org.apache.calcite.plan">RelOptUtil.InputReferencedVisitor</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Shuttle that finds the set of inputs that are used.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab3"><a href="RelOptUtil.Logic.html" title="enum in org.apache.calcite.plan">RelOptUtil.Logic</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab3">
<div class="block">Policies for handling two- and three-valued boolean logic.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelOptUtil.RexInputConverter.html" title="class in org.apache.calcite.plan">RelOptUtil.RexInputConverter</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Walks an expression tree, converting the index of RexInputRefs based on
some adjustment factor.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab3"><a href="RelOptUtil.SubQueryType.html" title="enum in org.apache.calcite.plan">RelOptUtil.SubQueryType</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab3">
<div class="block">What kind of sub-query.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelOptUtil.TypeDumper.html" title="class in org.apache.calcite.plan">RelOptUtil.TypeDumper</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Converts types to descriptive strings.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelOptUtil.VariableUsedVisitor.html" title="class in org.apache.calcite.plan">RelOptUtil.VariableUsedVisitor</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Visitor that finds all variables used in an expression.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelRule.html" title="class in org.apache.calcite.plan">RelRule</a>&lt;C extends <a href="RelRule.Config.html" title="interface in org.apache.calcite.plan">RelRule.Config</a>&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Rule that is parameterized via a configuration.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="RelRule.Config.html" title="interface in org.apache.calcite.plan">RelRule.Config</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Rule configuration.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="RelRule.Done.html" title="interface in org.apache.calcite.plan">RelRule.Done</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Indicates that an operand is complete.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="RelRule.MatchHandler.html" title="interface in org.apache.calcite.plan">RelRule.MatchHandler</a>&lt;R extends <a href="RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Callback interface that helps you avoid creating sub-classes of
<a href="RelRule.html" title="class in org.apache.calcite.plan"><code>RelRule</code></a> that differ only in implementations of
<a href="RelOptRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)"><code>RelOptRule.onMatch(RelOptRuleCall)</code></a> method.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="RelRule.OperandBuilder.html" title="interface in org.apache.calcite.plan">RelRule.OperandBuilder</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Callback to create an operand.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="RelRule.OperandDetailBuilder.html" title="interface in org.apache.calcite.plan">RelRule.OperandDetailBuilder</a>&lt;R extends <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Add details about an operand, such as its inputs.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="RelRule.OperandTransform.html" title="interface in org.apache.calcite.plan">RelRule.OperandTransform</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Function that creates an operand.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">RelTrait represents the manifestation of a relational expression trait within
a trait definition.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a>&lt;T extends <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">RelTraitDef represents a class of <a href="RelTrait.html" title="interface in org.apache.calcite.plan"><code>RelTrait</code></a>s.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelTraitPropagationVisitor.html" title="class in org.apache.calcite.plan">RelTraitPropagationVisitor</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">Deprecated.
<div class="deprecation-comment">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="../rel/RelShuttle.html" title="interface in org.apache.calcite.rel"><code>RelShuttle</code></a> directly.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">RelTraitSet represents an ordered set of <a href="RelTrait.html" title="interface in org.apache.calcite.plan"><code>RelTrait</code></a>s.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RexImplicationChecker.html" title="class in org.apache.calcite.plan">RexImplicationChecker</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Checks whether one condition logically implies another.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RuleEventLogger.html" title="class in org.apache.calcite.plan">RuleEventLogger</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Listener for logging useful debugging information on certain rule events.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="Strong.html" title="class in org.apache.calcite.plan">Strong</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Utilities for strong predicates.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab3"><a href="Strong.Policy.html" title="enum in org.apache.calcite.plan">Strong.Policy</a></div>
<div class="col-last even-row-color class-summary class-summary-tab3">
<div class="block">How whether an operator's operands are null affects whether a call to
that operator evaluates to null.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="SubstitutionVisitor.html" title="class in org.apache.calcite.plan">SubstitutionVisitor</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Substitutes part of a tree of relational expressions with another tree.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="SubstitutionVisitor.AbstractUnifyRule.html" title="class in org.apache.calcite.plan">SubstitutionVisitor.AbstractUnifyRule</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Abstract base class for implementing <a href="SubstitutionVisitor.UnifyRule.html" title="class in org.apache.calcite.plan"><code>SubstitutionVisitor.UnifyRule</code></a>.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab5"><a href="SubstitutionVisitor.MatchFailed.html" title="class in org.apache.calcite.plan">SubstitutionVisitor.MatchFailed</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab5">
<div class="block">Exception thrown to exit a matcher.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="SubstitutionVisitor.Operand.html" title="class in org.apache.calcite.plan">SubstitutionVisitor.Operand</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Operand to a <a href="SubstitutionVisitor.UnifyRule.html" title="class in org.apache.calcite.plan"><code>SubstitutionVisitor.UnifyRule</code></a>.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="SubstitutionVisitor.UnifyResult.html" title="class in org.apache.calcite.plan">SubstitutionVisitor.UnifyResult</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Result of an application of a <a href="SubstitutionVisitor.UnifyRule.html" title="class in 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>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="SubstitutionVisitor.UnifyRule.html" title="class in org.apache.calcite.plan">SubstitutionVisitor.UnifyRule</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Rule that attempts to match a query relational expression
against a target relational expression.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="TableAccessMap.html" title="class in org.apache.calcite.plan">TableAccessMap</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">Deprecated.
<div class="deprecation-comment">As of 1.30.0, if you need to know how tables in a plan are accessed you are
encouraged to implement your own logic (using a RelNode visitor or other).</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab3"><a href="TableAccessMap.Mode.html" title="enum in org.apache.calcite.plan">TableAccessMap.Mode</a></div>
<div class="col-last even-row-color class-summary class-summary-tab3">
<div class="block">Access mode.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ViewExpanders.html" title="class in org.apache.calcite.plan">ViewExpanders</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Utilities for <a href="RelOptTable.ViewExpander.html" title="interface in org.apache.calcite.plan"><code>RelOptTable.ViewExpander</code></a> and
<a href="RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan"><code>RelOptTable.ToRelContext</code></a>.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="VisitorDataContext.html" title="class in org.apache.calcite.plan">VisitorDataContext</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">DataContext for evaluating a RexExpression.</div>
</div>
</div>
</div>
</div>
</li>
</ul>
</section>
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &copy; 2012-2023 Apache Software Foundation. All Rights Reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>