<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>RelOptPlanner (Apache Calcite API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="RelOptPlanner (Apache Calcite API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":38,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":38,"i31":6,"i32":6,"i33":6,"i34":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/RelOptPlanner.html">Use</a></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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.plan</a></div>
<h2 title="Interface RelOptPlanner" class="title">Interface RelOptPlanner</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="AbstractRelOptPlanner.html" title="class in org.apache.calcite.plan">AbstractRelOptPlanner</a></code>, <code><a href="hep/HepPlanner.html" title="class in org.apache.calcite.plan.hep">HepPlanner</a></code>, <code><a href="volcano/VolcanoPlanner.html" title="class in org.apache.calcite.plan.volcano">VolcanoPlanner</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">RelOptPlanner</span></pre>
<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>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelOptPlanner.CannotPlanException.html" title="class in org.apache.calcite.plan">RelOptPlanner.CannotPlanException</a></span></code></th>
<td class="colLast">
<div class="block">Thrown by <a href="#findBestExp()"><code>findBestExp()</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelOptPlanner.Executor.html" title="interface in org.apache.calcite.plan">RelOptPlanner.Executor</a></span></code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="../rex/RexExecutor.html" title="interface in org.apache.calcite.rex"><code>RexExecutor</code></a></div>
</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static org.slf4j.Logger</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#LOGGER">LOGGER</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addLattice(org.apache.calcite.plan.RelOptLattice)">addLattice</a></span>&#8203;(<a href="RelOptLattice.html" title="class in org.apache.calcite.plan">RelOptLattice</a>&nbsp;lattice)</code></th>
<td class="colLast">
<div class="block">Defines a lattice.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addListener(org.apache.calcite.plan.RelOptListener)">addListener</a></span>&#8203;(<a href="RelOptListener.html" title="interface in org.apache.calcite.plan">RelOptListener</a>&nbsp;newListener)</code></th>
<td class="colLast">
<div class="block">Adds a listener to this planner.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addMaterialization(org.apache.calcite.plan.RelOptMaterialization)">addMaterialization</a></span>&#8203;(<a href="RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&nbsp;materialization)</code></th>
<td class="colLast">
<div class="block">Defines a pair of relational expressions that are equivalent.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addRelTraitDef(org.apache.calcite.plan.RelTraitDef)">addRelTraitDef</a></span>&#8203;(<a href="RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a>&nbsp;relTraitDef)</code></th>
<td class="colLast">
<div class="block">Registers a rel trait definition.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addRule(org.apache.calcite.plan.RelOptRule)">addRule</a></span>&#8203;(<a href="RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&nbsp;rule)</code></th>
<td class="colLast">
<div class="block">Registers a rule.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#changeTraits(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet)">changeTraits</a></span>&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
            <a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;toTraits)</code></th>
<td class="colLast">
<div class="block">Changes a relational expression to an equivalent one with a different set
 of traits.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#chooseDelegate()">chooseDelegate</a></span>()</code></th>
<td class="colLast">
<div class="block">Negotiates an appropriate planner to deal with distributed queries.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clear()">clear</a></span>()</code></th>
<td class="colLast">
<div class="block">Removes all internal state, including all registered rules,
 materialized views, and lattices.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clearRelTraitDefs()">clearRelTraitDefs</a></span>()</code></th>
<td class="colLast">
<div class="block">Clear all the registered RelTraitDef.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#emptyTraitSet()">emptyTraitSet</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates an empty trait set.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ensureRegistered(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">ensureRegistered</a></span>&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
                <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;equivRel)</code></th>
<td class="colLast">
<div class="block">Registers a relational expression if it is not already registered.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#findBestExp()">findBestExp</a></span>()</code></th>
<td class="colLast">
<div class="block">Finds the most efficient expression to implement this query.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="Context.html" title="interface in org.apache.calcite.plan">Context</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getContext()">getContext</a></span>()</code></th>
<td class="colLast">
<div class="block">Provides the Context created when this planner was constructed.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCost(org.apache.calcite.rel.RelNode)">getCost</a></span>&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#getCost(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)"><code>getCost(RelNode, RelMetadataQuery)</code></a>
 or, better, call <a href="../rel/metadata/RelMetadataQuery.html#getCumulativeCost(org.apache.calcite.rel.RelNode)"><code>RelMetadataQuery.getCumulativeCost(RelNode)</code></a>.</div>
</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCost(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getCost</a></span>&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
       <a href="../rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">
<div class="block">Computes the cost of a RelNode.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="RelOptCostFactory.html" title="interface in org.apache.calcite.plan">RelOptCostFactory</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCostFactory()">getCostFactory</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the factory that creates
 <a href="RelOptCost.html" title="interface in org.apache.calcite.plan"><code>RelOptCost</code></a>s.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="../rex/RexExecutor.html" title="interface in org.apache.calcite.rex">RexExecutor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getExecutor()">getExecutor</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the executor used to evaluate constant expressions.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="RelOptLattice.html" title="class in org.apache.calcite.plan">RelOptLattice</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLattice(org.apache.calcite.plan.RelOptTable)">getLattice</a></span>&#8203;(<a href="RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;table)</code></th>
<td class="colLast">
<div class="block">Retrieves a lattice, given its star table.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaterializations()">getMaterializations</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the materializations that have been registered with the planner.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRelMetadataTimestamp(org.apache.calcite.rel.RelNode)">getRelMetadataTimestamp</a></span>&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Gets a timestamp for a given rel's metadata.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRelTraitDefs()">getRelTraitDefs</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the list of active trait types.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRoot()">getRoot</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the root node of this query.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRules()">getRules</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the list of all registered rules.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isRegistered(org.apache.calcite.rel.RelNode)">isRegistered</a></span>&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Determines whether a relational expression has been registered.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onCopy(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">onCopy</a></span>&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
      <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newRel)</code></th>
<td class="colLast">
<div class="block">Called when a relational expression is copied to a similar expression.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#register(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">register</a></span>&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
        <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;equivRel)</code></th>
<td class="colLast">
<div class="block">Registers a relational expression in the expression bank.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#registerClass(org.apache.calcite.rel.RelNode)">registerClass</a></span>&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Registers a class of RelNode.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#registerMetadataProviders(java.util.List)">registerMetadataProviders</a></span>&#8203;(java.util.List&lt;<a href="../rel/metadata/RelMetadataProvider.html" title="interface in org.apache.calcite.rel.metadata">RelMetadataProvider</a>&gt;&nbsp;list)</code></th>
<td class="colLast">
<div class="block">Gives this planner a chance to register one or more
 <a href="../rel/metadata/RelMetadataProvider.html" title="interface in org.apache.calcite.rel.metadata"><code>RelMetadataProvider</code></a>s in the chain which will be used to answer
 metadata queries.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#registerSchema(org.apache.calcite.plan.RelOptSchema)">registerSchema</a></span>&#8203;(<a href="RelOptSchema.html" title="interface in org.apache.calcite.plan">RelOptSchema</a>&nbsp;schema)</code></th>
<td class="colLast">
<div class="block">Tells this planner that a schema exists.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeRule(org.apache.calcite.plan.RelOptRule)">removeRule</a></span>&#8203;(<a href="RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&nbsp;rule)</code></th>
<td class="colLast">
<div class="block">Removes a rule.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCancelFlag(org.apache.calcite.util.CancelFlag)">setCancelFlag</a></span>&#8203;(<a href="../util/CancelFlag.html" title="class in org.apache.calcite.util">CancelFlag</a>&nbsp;cancelFlag)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Previously, this method installed the cancellation-checking
 flag for this planner, but is now deprecated.</div>
</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setExecutor(org.apache.calcite.rex.RexExecutor)">setExecutor</a></span>&#8203;(<a href="../rex/RexExecutor.html" title="interface in org.apache.calcite.rex">RexExecutor</a>&nbsp;executor)</code></th>
<td class="colLast">
<div class="block">Sets the object that can execute scalar expressions.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setImportance(org.apache.calcite.rel.RelNode,double)">setImportance</a></span>&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
             double&nbsp;importance)</code></th>
<td class="colLast">
<div class="block">Sets the importance of a relational expression.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRoot(org.apache.calcite.rel.RelNode)">setRoot</a></span>&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Sets the root node of this query.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRuleDescExclusionFilter(java.util.regex.Pattern)">setRuleDescExclusionFilter</a></span>&#8203;(java.util.regex.Pattern&nbsp;exclusionFilter)</code></th>
<td class="colLast">
<div class="block">Sets the exclusion filter to use for this planner.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a id="LOGGER">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LOGGER</h4>
<pre>static final&nbsp;org.slf4j.Logger LOGGER</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="setRoot(org.apache.calcite.rel.RelNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRoot</h4>
<pre class="methodSignature">void&nbsp;setRoot&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</pre>
<div class="block">Sets the root node of this query.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rel</code> - Relational expression</dd>
</dl>
</li>
</ul>
<a id="getRoot()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRoot</h4>
<pre class="methodSignature"><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;getRoot()</pre>
<div class="block">Returns the root node of this query.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Root node</dd>
</dl>
</li>
</ul>
<a id="addRelTraitDef(org.apache.calcite.plan.RelTraitDef)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addRelTraitDef</h4>
<pre class="methodSignature">boolean&nbsp;addRelTraitDef&#8203;(<a href="RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a>&nbsp;relTraitDef)</pre>
<div class="block">Registers a rel trait definition. If the <a href="RelTraitDef.html" title="class in org.apache.calcite.plan"><code>RelTraitDef</code></a> has already
 been registered, does nothing.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether the RelTraitDef was added, as per
 <code>Collection.add(E)</code></dd>
</dl>
</li>
</ul>
<a id="clearRelTraitDefs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearRelTraitDefs</h4>
<pre class="methodSignature">void&nbsp;clearRelTraitDefs()</pre>
<div class="block">Clear all the registered RelTraitDef.</div>
</li>
</ul>
<a id="getRelTraitDefs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRelTraitDefs</h4>
<pre class="methodSignature">java.util.List&lt;<a href="RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a>&gt;&nbsp;getRelTraitDefs()</pre>
<div class="block">Returns the list of active trait types.</div>
</li>
</ul>
<a id="clear()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clear</h4>
<pre class="methodSignature">void&nbsp;clear()</pre>
<div class="block">Removes all internal state, including all registered rules,
 materialized views, and lattices.</div>
</li>
</ul>
<a id="getRules()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRules</h4>
<pre class="methodSignature">java.util.List&lt;<a href="RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;&nbsp;getRules()</pre>
<div class="block">Returns the list of all registered rules.</div>
</li>
</ul>
<a id="addRule(org.apache.calcite.plan.RelOptRule)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addRule</h4>
<pre class="methodSignature">boolean&nbsp;addRule&#8203;(<a href="RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&nbsp;rule)</pre>
<div class="block">Registers a rule.

 <p>If the rule has already been registered, does nothing.
 This method determines if the given rule is a
 <a href="../rel/convert/ConverterRule.html" title="class in org.apache.calcite.rel.convert"><code>ConverterRule</code></a> and pass the
 ConverterRule to all
 <a href="#addRelTraitDef(org.apache.calcite.plan.RelTraitDef)"><code>registered</code></a> RelTraitDef
 instances.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether the rule was added, as per
 <code>Collection.add(E)</code></dd>
</dl>
</li>
</ul>
<a id="removeRule(org.apache.calcite.plan.RelOptRule)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeRule</h4>
<pre class="methodSignature">boolean&nbsp;removeRule&#8203;(<a href="RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&nbsp;rule)</pre>
<div class="block">Removes a rule.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the rule was present, as per
 <code>Collection.remove(Object)</code></dd>
</dl>
</li>
</ul>
<a id="getContext()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContext</h4>
<pre class="methodSignature"><a href="Context.html" title="interface in org.apache.calcite.plan">Context</a>&nbsp;getContext()</pre>
<div class="block">Provides the Context created when this planner was constructed.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Never null; either an externally defined context, or a dummy
 context that returns null for each requested interface</dd>
</dl>
</li>
</ul>
<a id="setRuleDescExclusionFilter(java.util.regex.Pattern)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRuleDescExclusionFilter</h4>
<pre class="methodSignature">void&nbsp;setRuleDescExclusionFilter&#8203;(java.util.regex.Pattern&nbsp;exclusionFilter)</pre>
<div class="block">Sets the exclusion filter to use for this planner. Rules which match the
 given pattern will not be fired regardless of whether or when they are
 added to the planner.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>exclusionFilter</code> - pattern to match for exclusion; null to disable
                        filtering</dd>
</dl>
</li>
</ul>
<a id="setCancelFlag(org.apache.calcite.util.CancelFlag)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCancelFlag</h4>
<pre class="methodSignature">@Deprecated
void&nbsp;setCancelFlag&#8203;(<a href="../util/CancelFlag.html" title="class in org.apache.calcite.util">CancelFlag</a>&nbsp;cancelFlag)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Previously, this method installed the cancellation-checking
 flag for this planner, but is now deprecated. Now, you should add a
 <a href="../util/CancelFlag.html" title="class in org.apache.calcite.util"><code>CancelFlag</code></a> to the <a href="Context.html" title="interface in org.apache.calcite.plan"><code>Context</code></a> passed to the constructor.</div>
</div>
<div class="block">Does nothing.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cancelFlag</code> - flag which the planner should periodically check</dd>
</dl>
</li>
</ul>
<a id="changeTraits(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>changeTraits</h4>
<pre class="methodSignature"><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;changeTraits&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
                     <a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;toTraits)</pre>
<div class="block">Changes a relational expression to an equivalent one with a different set
 of traits.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rel</code> - Relational expression (may or may not have been registered; must
   not have the desired traits)</dd>
<dd><code>toTraits</code> - Trait set to convert the relational expression to</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Relational expression with desired traits. Never null, but may be
   abstract</dd>
</dl>
</li>
</ul>
<a id="chooseDelegate()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>chooseDelegate</h4>
<pre class="methodSignature"><a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;chooseDelegate()</pre>
<div class="block">Negotiates an appropriate planner to deal with distributed queries. The
 idea is that the schemas decide among themselves which has the most
 knowledge. Right now, the local planner retains control.</div>
</li>
</ul>
<a id="addMaterialization(org.apache.calcite.plan.RelOptMaterialization)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addMaterialization</h4>
<pre class="methodSignature">void&nbsp;addMaterialization&#8203;(<a href="RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&nbsp;materialization)</pre>
<div class="block">Defines a pair of relational expressions that are equivalent.

 <p>Typically <code>tableRel</code> is a
 <a href="../rel/logical/LogicalTableScan.html" title="class in org.apache.calcite.rel.logical"><code>LogicalTableScan</code></a> representing a
 table that is a materialized view and <code>queryRel</code> is the SQL
 expression that populates that view. The intention is that
 <code>tableRel</code> is cheaper to evaluate and therefore if the query being
 optimized uses (or can be rewritten to use) <code>queryRel</code> as a
 sub-expression then it can be optimized by using <code>tableRel</code>
 instead.</p></div>
</li>
</ul>
<a id="getMaterializations()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaterializations</h4>
<pre class="methodSignature">java.util.List&lt;<a href="RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&gt;&nbsp;getMaterializations()</pre>
<div class="block">Returns the materializations that have been registered with the planner.</div>
</li>
</ul>
<a id="addLattice(org.apache.calcite.plan.RelOptLattice)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addLattice</h4>
<pre class="methodSignature">void&nbsp;addLattice&#8203;(<a href="RelOptLattice.html" title="class in org.apache.calcite.plan">RelOptLattice</a>&nbsp;lattice)</pre>
<div class="block">Defines a lattice.

 <p>The lattice may have materializations; it is not necessary to call
 <a href="#addMaterialization(org.apache.calcite.plan.RelOptMaterialization)"><code>addMaterialization(org.apache.calcite.plan.RelOptMaterialization)</code></a> for these; they are registered implicitly.</div>
</li>
</ul>
<a id="getLattice(org.apache.calcite.plan.RelOptTable)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLattice</h4>
<pre class="methodSignature"><a href="RelOptLattice.html" title="class in org.apache.calcite.plan">RelOptLattice</a>&nbsp;getLattice&#8203;(<a href="RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;table)</pre>
<div class="block">Retrieves a lattice, given its star table.</div>
</li>
</ul>
<a id="findBestExp()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findBestExp</h4>
<pre class="methodSignature"><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;findBestExp()</pre>
<div class="block">Finds the most efficient expression to implement this query.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="RelOptPlanner.CannotPlanException.html" title="class in org.apache.calcite.plan">RelOptPlanner.CannotPlanException</a></code> - if cannot find a plan</dd>
</dl>
</li>
</ul>
<a id="getCostFactory()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCostFactory</h4>
<pre class="methodSignature"><a href="RelOptCostFactory.html" title="interface in org.apache.calcite.plan">RelOptCostFactory</a>&nbsp;getCostFactory()</pre>
<div class="block">Returns the factory that creates
 <a href="RelOptCost.html" title="interface in org.apache.calcite.plan"><code>RelOptCost</code></a>s.</div>
</li>
</ul>
<a id="getCost(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCost</h4>
<pre class="methodSignature"><a href="RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a>&nbsp;getCost&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
                   <a href="../rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</pre>
<div class="block">Computes the cost of a RelNode. In most cases, this just dispatches to
 <a href="../rel/metadata/RelMetadataQuery.html#getCumulativeCost(org.apache.calcite.rel.RelNode)"><code>RelMetadataQuery.getCumulativeCost(org.apache.calcite.rel.RelNode)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rel</code> - Relational expression of interest</dd>
<dd><code>mq</code> - Metadata query</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>estimated cost</dd>
</dl>
</li>
</ul>
<a id="getCost(org.apache.calcite.rel.RelNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCost</h4>
<pre class="methodSignature">@Deprecated
<a href="RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a>&nbsp;getCost&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#getCost(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)"><code>getCost(RelNode, RelMetadataQuery)</code></a>
 or, better, call <a href="../rel/metadata/RelMetadataQuery.html#getCumulativeCost(org.apache.calcite.rel.RelNode)"><code>RelMetadataQuery.getCumulativeCost(RelNode)</code></a>.</div>
</div>
</li>
</ul>
<a id="register(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>register</h4>
<pre class="methodSignature"><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;register&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
                 <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;equivRel)</pre>
<div class="block">Registers a relational expression in the expression bank.

 <p>After it has been registered, you may not modify it.

 <p>The expression must not already have been registered. If you are not
 sure whether it has been registered, call
 <a href="#ensureRegistered(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)"><code>ensureRegistered(RelNode, RelNode)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rel</code> - Relational expression to register (must not already be
                 registered)</dd>
<dd><code>equivRel</code> - Relational expression it is equivalent to (may be null)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the same expression, or an equivalent existing expression</dd>
</dl>
</li>
</ul>
<a id="ensureRegistered(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ensureRegistered</h4>
<pre class="methodSignature"><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;ensureRegistered&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
                         <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;equivRel)</pre>
<div class="block">Registers a relational expression if it is not already registered.

 <p>If <code>equivRel</code> is specified, <code>rel</code> is placed in the same
 equivalence set. It is OK if <code>equivRel</code> has different traits;
 <code>rel</code> will end up in a different subset of the same set.

 <p>It is OK if <code>rel</code> is a subset.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rel</code> - Relational expression to register</dd>
<dd><code>equivRel</code> - Relational expression it is equivalent to (may be null)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Registered relational expression</dd>
</dl>
</li>
</ul>
<a id="isRegistered(org.apache.calcite.rel.RelNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRegistered</h4>
<pre class="methodSignature">boolean&nbsp;isRegistered&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</pre>
<div class="block">Determines whether a relational expression has been registered.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rel</code> - expression to test</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether rel has been registered</dd>
</dl>
</li>
</ul>
<a id="registerSchema(org.apache.calcite.plan.RelOptSchema)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerSchema</h4>
<pre class="methodSignature">void&nbsp;registerSchema&#8203;(<a href="RelOptSchema.html" title="interface in org.apache.calcite.plan">RelOptSchema</a>&nbsp;schema)</pre>
<div class="block">Tells this planner that a schema exists. This is the schema's chance to
 tell the planner about all of the special transformation rules.</div>
</li>
</ul>
<a id="addListener(org.apache.calcite.plan.RelOptListener)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addListener</h4>
<pre class="methodSignature">void&nbsp;addListener&#8203;(<a href="RelOptListener.html" title="interface in org.apache.calcite.plan">RelOptListener</a>&nbsp;newListener)</pre>
<div class="block">Adds a listener to this planner.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>newListener</code> - new listener to be notified of events</dd>
</dl>
</li>
</ul>
<a id="registerMetadataProviders(java.util.List)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerMetadataProviders</h4>
<pre class="methodSignature">void&nbsp;registerMetadataProviders&#8203;(java.util.List&lt;<a href="../rel/metadata/RelMetadataProvider.html" title="interface in org.apache.calcite.rel.metadata">RelMetadataProvider</a>&gt;&nbsp;list)</pre>
<div class="block">Gives this planner a chance to register one or more
 <a href="../rel/metadata/RelMetadataProvider.html" title="interface in org.apache.calcite.rel.metadata"><code>RelMetadataProvider</code></a>s in the chain which will be used to answer
 metadata queries.

 <p>Planners which use their own relational expressions internally
 to represent concepts such as equivalence classes will generally need to
 supply corresponding metadata providers.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>list</code> - receives planner's custom providers, if any</dd>
</dl>
</li>
</ul>
<a id="getRelMetadataTimestamp(org.apache.calcite.rel.RelNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRelMetadataTimestamp</h4>
<pre class="methodSignature">long&nbsp;getRelMetadataTimestamp&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</pre>
<div class="block">Gets a timestamp for a given rel's metadata. This timestamp is used by
 <a href="../rel/metadata/CachingRelMetadataProvider.html" title="class in org.apache.calcite.rel.metadata"><code>CachingRelMetadataProvider</code></a> to decide whether cached metadata has
 gone stale.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rel</code> - rel of interest</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>timestamp of last change which might affect metadata derivation</dd>
</dl>
</li>
</ul>
<a id="setImportance(org.apache.calcite.rel.RelNode,double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setImportance</h4>
<pre class="methodSignature">void&nbsp;setImportance&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
                   double&nbsp;importance)</pre>
<div class="block">Sets the importance of a relational expression.

 <p>An important use of this method is when a <a href="RelOptRule.html" title="class in org.apache.calcite.plan"><code>RelOptRule</code></a> has
 created a relational expression which is indisputably better than the
 original relational expression. The rule set the original relational
 expression's importance to zero, to reduce the search space. Pending rule
 calls are cancelled, and future rules will not fire.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rel</code> - Relational expression</dd>
<dd><code>importance</code> - Importance</dd>
</dl>
</li>
</ul>
<a id="registerClass(org.apache.calcite.rel.RelNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerClass</h4>
<pre class="methodSignature">void&nbsp;registerClass&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</pre>
<div class="block">Registers a class of RelNode. If this class of RelNode has been seen
 before, does nothing.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - Relational expression</dd>
</dl>
</li>
</ul>
<a id="emptyTraitSet()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>emptyTraitSet</h4>
<pre class="methodSignature"><a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;emptyTraitSet()</pre>
<div class="block">Creates an empty trait set. It contains all registered traits, and the
 default values of any traits that have them.

 <p>The empty trait set acts as the prototype (a kind of factory) for all
 subsequently created trait sets.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Empty trait set</dd>
</dl>
</li>
</ul>
<a id="setExecutor(org.apache.calcite.rex.RexExecutor)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setExecutor</h4>
<pre class="methodSignature">void&nbsp;setExecutor&#8203;(<a href="../rex/RexExecutor.html" title="interface in org.apache.calcite.rex">RexExecutor</a>&nbsp;executor)</pre>
<div class="block">Sets the object that can execute scalar expressions.</div>
</li>
</ul>
<a id="getExecutor()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExecutor</h4>
<pre class="methodSignature"><a href="../rex/RexExecutor.html" title="interface in org.apache.calcite.rex">RexExecutor</a>&nbsp;getExecutor()</pre>
<div class="block">Returns the executor used to evaluate constant expressions.</div>
</li>
</ul>
<a id="onCopy(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>onCopy</h4>
<pre class="methodSignature">void&nbsp;onCopy&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
            <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newRel)</pre>
<div class="block">Called when a relational expression is copied to a similar expression.</div>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/RelOptPlanner.html">Use</a></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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
