blob: ed8f231ef5e0677fab8a87414dae2fd806858a95 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Uses of Class org.apache.calcite.plan.RelOptRuleCall (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="Uses of Class org.apache.calcite.plan.RelOptRuleCall (Apache Calcite API)";
}
}
catch(err) {
}
//-->
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><a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">Class</a></li>
<li class="navBarCell1Rev">Use</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>
<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>
<main role="main">
<div class="header">
<h2 title="Uses of Class org.apache.calcite.plan.RelOptRuleCall" class="title">Uses of Class<br>org.apache.calcite.plan.RelOptRuleCall</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">
<li class="blockList">
<table class="useSummary">
<caption><span>Packages that use <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.adapter.cassandra">org.apache.calcite.adapter.cassandra</a></th>
<td class="colLast">
<div class="block">Cassandra query provider.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.adapter.csv">org.apache.calcite.adapter.csv</a></th>
<td class="colLast">
<div class="block">Calcite query provider that reads from CSV (comma-separated value) files.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.adapter.druid">org.apache.calcite.adapter.druid</a></th>
<td class="colLast">
<div class="block">Query provider based on a Druid database.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.adapter.enumerable">org.apache.calcite.adapter.enumerable</a></th>
<td class="colLast">
<div class="block">Query optimizer rules for Java calling convention.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.adapter.geode.rel">org.apache.calcite.adapter.geode.rel</a></th>
<td class="colLast">
<div class="block">Query provider based on Apache Geode (Gemfire) In Memory Data Grid</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.adapter.splunk">org.apache.calcite.adapter.splunk</a></th>
<td class="colLast">
<div class="block">Splunk query provider.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.interpreter">org.apache.calcite.interpreter</a></th>
<td class="colLast">
<div class="block">Provides an implementation of relational expressions using an interpreter.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.plan">org.apache.calcite.plan</a></th>
<td class="colLast">
<div class="block">Defines interfaces for constructing rule-based optimizers of
relational expressions.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.plan.hep">org.apache.calcite.plan.hep</a></th>
<td class="colLast">
<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>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.plan.volcano">org.apache.calcite.plan.volcano</a></th>
<td class="colLast">
<div class="block">Optimizes relational expressions.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.rel.convert">org.apache.calcite.rel.convert</a></th>
<td class="colLast">
<div class="block">Defines relational expressions and rules for converting between calling
conventions.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.rel.rules">org.apache.calcite.rel.rules</a></th>
<td class="colLast">
<div class="block">Provides a core set of planner rules.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.rel.stream">org.apache.calcite.rel.stream</a></th>
<td class="colLast">
<div class="block">Defines relational expressions for streaming.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.sql2rel">org.apache.calcite.sql2rel</a></th>
<td class="colLast">
<div class="block">Translates a SQL parse tree to relational expression.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<ul class="blockList">
<li class="blockList">
<section role="region"><a id="org.apache.calcite.adapter.cassandra">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a> in <a href="../../adapter/cassandra/package-summary.html">org.apache.calcite.adapter.cassandra</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/cassandra/package-summary.html">org.apache.calcite.adapter.cassandra</a> with parameters of type <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraRules.CassandraFilterRule.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraRules.CassandraFilterRule.html#matches(org.apache.calcite.plan.RelOptRuleCall)">matches</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraRules.CassandraProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraRules.CassandraProjectRule.html#matches(org.apache.calcite.plan.RelOptRuleCall)">matches</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraRules.CassandraSortRule.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraRules.CassandraSortRule.html#matches(org.apache.calcite.plan.RelOptRuleCall)">matches</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraRules.CassandraFilterRule.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraRules.CassandraFilterRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraRules.CassandraLimitRule.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraRules.CassandraLimitRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraRules.CassandraSortRule.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraRules.CassandraSortRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.adapter.csv">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a> in <a href="../../adapter/csv/package-summary.html">org.apache.calcite.adapter.csv</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/csv/package-summary.html">org.apache.calcite.adapter.csv</a> with parameters of type <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CsvProjectTableScanRule.</span><code><span class="memberNameLink"><a href="../../adapter/csv/CsvProjectTableScanRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.adapter.druid">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a> in <a href="../../adapter/druid/package-summary.html">org.apache.calcite.adapter.druid</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/druid/package-summary.html">org.apache.calcite.adapter.druid</a> with parameters of type <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidRules.DruidAggregateProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidAggregateProjectRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidRules.DruidAggregateRule.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidAggregateRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidRules.DruidFilterRule.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidFilterRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidRules.DruidHavingFilterRule.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidHavingFilterRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidRules.DruidPostAggregationProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidPostAggregationProjectRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidRules.DruidProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidProjectRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidRules.DruidSortRule.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidSortRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid">DruidQuery</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidRules.DruidAggregateProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidAggregateProjectRule.html#optimizeFilteredAggregations(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.adapter.druid.DruidQuery,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.core.Aggregate)">optimizeFilteredAggregations</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../../adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid">DruidQuery</a>&nbsp;query,
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;project,
<a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate)</code></th>
<td class="colLast">
<div class="block">Attempts to optimize any aggregations with filters in the DruidQuery.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.adapter.enumerable">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a> in <a href="../../adapter/enumerable/package-summary.html">org.apache.calcite.adapter.enumerable</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/enumerable/package-summary.html">org.apache.calcite.adapter.enumerable</a> with parameters of type <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableFilterToCalcRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableFilterToCalcRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableLimitRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableLimitRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableProjectToCalcRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableProjectToCalcRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.adapter.geode.rel">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a> in <a href="../../adapter/geode/rel/package-summary.html">org.apache.calcite.adapter.geode.rel</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/geode/rel/package-summary.html">org.apache.calcite.adapter.geode.rel</a> with parameters of type <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeRules.GeodeFilterRule.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeRules.GeodeFilterRule.html#matches(org.apache.calcite.plan.RelOptRuleCall)">matches</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeRules.GeodeProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeRules.GeodeProjectRule.html#matches(org.apache.calcite.plan.RelOptRuleCall)">matches</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeRules.GeodeFilterRule.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeRules.GeodeFilterRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeRules.GeodeSortLimitRule.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeRules.GeodeSortLimitRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.adapter.splunk">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a> in <a href="../../adapter/splunk/package-summary.html">org.apache.calcite.adapter.splunk</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/splunk/package-summary.html">org.apache.calcite.adapter.splunk</a> with parameters of type <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SplunkPushDownRule.</span><code><span class="memberNameLink"><a href="../../adapter/splunk/SplunkPushDownRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SplunkPushDownRule.</span><code><span class="memberNameLink"><a href="../../adapter/splunk/SplunkPushDownRule.html#transformToFarragoUdxRel(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.adapter.splunk.SplunkTableScan,org.apache.calcite.rel.logical.LogicalFilter,org.apache.calcite.rel.logical.LogicalProject,org.apache.calcite.rel.logical.LogicalProject)">transformToFarragoUdxRel</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../../adapter/splunk/SplunkTableScan.html" title="class in org.apache.calcite.adapter.splunk">SplunkTableScan</a>&nbsp;splunkRel,
<a href="../../rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a>&nbsp;filter,
<a href="../../rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a>&nbsp;topProj,
<a href="../../rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a>&nbsp;bottomProj)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.interpreter">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a> in <a href="../../interpreter/package-summary.html">org.apache.calcite.interpreter</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../interpreter/package-summary.html">org.apache.calcite.interpreter</a> with parameters of type <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableTableScanRule.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableTableScanRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.plan">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a> in <a href="../package-summary.html">org.apache.calcite.plan</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../package-summary.html">org.apache.calcite.plan</a> declared as <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a></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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptListener.RuleEvent.</span><code><span class="memberNameLink"><a href="../RelOptListener.RuleEvent.html#ruleCall">ruleCall</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../package-summary.html">org.apache.calcite.plan</a> that return <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptListener.RuleEvent.</span><code><span class="memberNameLink"><a href="../RelOptListener.RuleEvent.html#getRuleCall()">getRuleCall</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../package-summary.html">org.apache.calcite.plan</a> with parameters of type <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelOptPlanner.</span><code><span class="memberNameLink"><a href="../AbstractRelOptPlanner.html#fireRule(org.apache.calcite.plan.RelOptRuleCall)">fireRule</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;ruleCall)</code></th>
<td class="colLast">
<div class="block">Fires a rule, taking care of tracing and listener notification.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRule.</span><code><span class="memberNameLink"><a href="../RelOptRule.html#matches(org.apache.calcite.plan.RelOptRuleCall)">matches</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">
<div class="block">Returns whether this rule could possibly match the given operands.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelOptPlanner.</span><code><span class="memberNameLink"><a href="../AbstractRelOptPlanner.html#notifyTransformation(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.RelNode,boolean)">notifyTransformation</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;ruleCall,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newRel,
boolean&nbsp;before)</code></th>
<td class="colLast">
<div class="block">Takes care of tracing and listener notification when a rule's
transformation is applied.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRule.</span><code><span class="memberNameLink"><a href="../RelOptRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">
<div class="block">Receives notification about a rule match.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubstitutionVisitor.FilterOnProjectRule.</span><code><span class="memberNameLink"><a href="../SubstitutionVisitor.FilterOnProjectRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../package-summary.html">org.apache.calcite.plan</a> with parameters of type <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../RelOptListener.RuleAttemptedEvent.html#%3Cinit%3E(java.lang.Object,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelOptRuleCall,boolean)">RuleAttemptedEvent</a></span>&#8203;(java.lang.Object&nbsp;eventSource,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;ruleCall,
boolean&nbsp;before)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../RelOptListener.RuleEvent.html#%3Cinit%3E(java.lang.Object,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelOptRuleCall)">RuleEvent</a></span>&#8203;(java.lang.Object&nbsp;eventSource,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;ruleCall)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../RelOptListener.RuleProductionEvent.html#%3Cinit%3E(java.lang.Object,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelOptRuleCall,boolean)">RuleProductionEvent</a></span>&#8203;(java.lang.Object&nbsp;eventSource,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;ruleCall,
boolean&nbsp;before)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.plan.hep">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a> in <a href="../hep/package-summary.html">org.apache.calcite.plan.hep</a></h3>
<table class="useSummary">
<caption><span>Subclasses of <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a> in <a href="../hep/package-summary.html">org.apache.calcite.plan.hep</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../hep/HepRuleCall.html" title="class in org.apache.calcite.plan.hep">HepRuleCall</a></span></code></th>
<td class="colLast">
<div class="block">HepRuleCall implements <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan"><code>RelOptRuleCall</code></a> for a <a href="../hep/HepPlanner.html" title="class in org.apache.calcite.plan.hep"><code>HepPlanner</code></a>.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.plan.volcano">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a> in <a href="../volcano/package-summary.html">org.apache.calcite.plan.volcano</a></h3>
<table class="useSummary">
<caption><span>Subclasses of <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a> in <a href="../volcano/package-summary.html">org.apache.calcite.plan.volcano</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../volcano/VolcanoPlanner.DeferringRuleCall.html" title="class in org.apache.calcite.plan.volcano">VolcanoPlanner.DeferringRuleCall</a></span></code></th>
<td class="colLast">
<div class="block">A rule call which defers its actions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../volcano/VolcanoRuleCall.html" title="class in org.apache.calcite.plan.volcano">VolcanoRuleCall</a></span></code></th>
<td class="colLast">
<div class="block"><code>VolcanoRuleCall</code> implements the <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan"><code>RelOptRuleCall</code></a> interface
for VolcanoPlanner.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../volcano/VolcanoRuleMatch.html" title="class in org.apache.calcite.plan.volcano">VolcanoRuleMatch</a></span></code></th>
<td class="colLast">
<div class="block">A match of a rule to a particular set of target relational expressions,
frozen in time.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../volcano/package-summary.html">org.apache.calcite.plan.volcano</a> with parameters of type <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractConverter.ExpandConversionRule.</span><code><span class="memberNameLink"><a href="../volcano/AbstractConverter.ExpandConversionRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rel.convert">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a> in <a href="../../rel/convert/package-summary.html">org.apache.calcite.rel.convert</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../rel/convert/package-summary.html">org.apache.calcite.rel.convert</a> with parameters of type <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ConverterRule.</span><code><span class="memberNameLink"><a href="../../rel/convert/ConverterRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">TraitMatchingRule.</span><code><span class="memberNameLink"><a href="../../rel/convert/TraitMatchingRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rel.rules">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a> in <a href="../../rel/rules/package-summary.html">org.apache.calcite.rel.rules</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../rel/rules/package-summary.html">org.apache.calcite.rel.rules</a> with parameters of type <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateProjectMergeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateProjectMergeRule.html#apply(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Aggregate,org.apache.calcite.rel.core.Project)">apply</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate,
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;project)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateStarTableRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateStarTableRule.html#apply(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.core.Aggregate,org.apache.calcite.schema.impl.StarTable.StarTableScan)">apply</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;postProject,
<a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate,
<a href="../../schema/impl/StarTable.StarTableScan.html" title="class in org.apache.calcite.schema.impl">StarTable.StarTableScan</a>&nbsp;scan)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">FilterTableScanRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/FilterTableScanRule.html#apply(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Filter,org.apache.calcite.rel.core.TableScan)">apply</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../../rel/core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a>&nbsp;filter,
<a href="../../rel/core/TableScan.html" title="class in org.apache.calcite.rel.core">TableScan</a>&nbsp;scan)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MaterializedViewFilterScanRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/MaterializedViewFilterScanRule.html#apply(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Filter,org.apache.calcite.rel.core.TableScan)">apply</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../../rel/core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a>&nbsp;filter,
<a href="../../rel/core/TableScan.html" title="class in org.apache.calcite.rel.core">TableScan</a>&nbsp;scan)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ProjectTableScanRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ProjectTableScanRule.html#apply(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.core.TableScan)">apply</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;project,
<a href="../../rel/core/TableScan.html" title="class in org.apache.calcite.rel.core">TableScan</a>&nbsp;scan)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ValuesReduceRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ValuesReduceRule.html#apply(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.logical.LogicalProject,org.apache.calcite.rel.logical.LogicalFilter,org.apache.calcite.rel.logical.LogicalValues)">apply</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../../rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a>&nbsp;project,
<a href="../../rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a>&nbsp;filter,
<a href="../../rel/logical/LogicalValues.html" title="class in org.apache.calcite.rel.logical">LogicalValues</a>&nbsp;values)</code></th>
<td class="colLast">
<div class="block">Does the work.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReduceExpressionsRule.CalcReduceExpressionsRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ReduceExpressionsRule.CalcReduceExpressionsRule.html#createEmptyRelOrEquivalent(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Calc)">createEmptyRelOrEquivalent</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../../rel/core/Calc.html" title="class in org.apache.calcite.rel.core">Calc</a>&nbsp;input)</code></th>
<td class="colLast">
<div class="block">For static schema systems, a filter that is always false or null can be
replaced by a values operator that produces no rows, as the schema
information can just be taken from the input Rel.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReduceExpressionsRule.FilterReduceExpressionsRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ReduceExpressionsRule.FilterReduceExpressionsRule.html#createEmptyRelOrEquivalent(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Filter)">createEmptyRelOrEquivalent</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../../rel/core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a>&nbsp;input)</code></th>
<td class="colLast">
<div class="block">For static schema systems, a filter that is always false or null can be
replaced by a values operator that produces no rows, as the schema
information can just be taken from the input Rel.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptOptimizeJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/LoptOptimizeJoinRule.html#findBestOrderings(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.rules.LoptMultiJoin,org.apache.calcite.rel.rules.LoptSemiJoinOptimizer,org.apache.calcite.plan.RelOptRuleCall)">findBestOrderings</a></span>&#8203;(<a href="../../rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/rules/LoptMultiJoin.html" title="class in org.apache.calcite.rel.rules">LoptMultiJoin</a>&nbsp;multiJoin,
<a href="../../rel/rules/LoptSemiJoinOptimizer.html" title="class in org.apache.calcite.rel.rules">LoptSemiJoinOptimizer</a>&nbsp;semiJoinOpt,
<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">
<div class="block">Generates N optimal join orderings.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinProjectTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/JoinProjectTransposeRule.html#getProjectChild(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Project,boolean)">getProjectChild</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;project,
boolean&nbsp;leftChild)</code></th>
<td class="colLast">
<div class="block">Returns the child of the project that will be used as input into the new
LogicalJoin once the projects are pulled above the LogicalJoin.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MultiJoinProjectTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/MultiJoinProjectTransposeRule.html#getProjectChild(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Project,boolean)">getProjectChild</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;project,
boolean&nbsp;leftChild)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinProjectTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/JoinProjectTransposeRule.html#getRightChild(org.apache.calcite.plan.RelOptRuleCall)">getRightChild</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MultiJoinProjectTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/MultiJoinProjectTransposeRule.html#getRightChild(org.apache.calcite.plan.RelOptRuleCall)">getRightChild</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinProjectTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/JoinProjectTransposeRule.html#hasLeftChild(org.apache.calcite.plan.RelOptRuleCall)">hasLeftChild</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MultiJoinProjectTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/MultiJoinProjectTransposeRule.html#hasLeftChild(org.apache.calcite.plan.RelOptRuleCall)">hasLeftChild</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinProjectTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/JoinProjectTransposeRule.html#hasRightChild(org.apache.calcite.plan.RelOptRuleCall)">hasRightChild</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MultiJoinProjectTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/MultiJoinProjectTransposeRule.html#hasRightChild(org.apache.calcite.plan.RelOptRuleCall)">hasRightChild</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateReduceFunctionsRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateReduceFunctionsRule.html#matches(org.apache.calcite.plan.RelOptRuleCall)">matches</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ExchangeRemoveConstantKeysRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ExchangeRemoveConstantKeysRule.html#matches(org.apache.calcite.plan.RelOptRuleCall)">matches</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ExchangeRemoveConstantKeysRule.SortExchangeRemoveConstantKeysRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ExchangeRemoveConstantKeysRule.SortExchangeRemoveConstantKeysRule.html#matches(org.apache.calcite.plan.RelOptRuleCall)">matches</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinToCorrelateRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/JoinToCorrelateRule.html#matches(org.apache.calcite.plan.RelOptRuleCall)">matches</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SortJoinTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SortJoinTransposeRule.html#matches(org.apache.calcite.plan.RelOptRuleCall)">matches</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SortUnionTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SortUnionTransposeRule.html#matches(org.apache.calcite.plan.RelOptRuleCall)">matches</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractJoinExtractFilterRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractJoinExtractFilterRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewOnlyAggregateRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractMaterializedViewRule.MaterializedViewOnlyAggregateRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewOnlyFilterRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractMaterializedViewRule.MaterializedViewOnlyFilterRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewOnlyJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractMaterializedViewRule.MaterializedViewOnlyJoinRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewProjectAggregateRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractMaterializedViewRule.MaterializedViewProjectAggregateRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewProjectFilterRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractMaterializedViewRule.MaterializedViewProjectFilterRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewProjectJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractMaterializedViewRule.MaterializedViewProjectJoinRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateExpandDistinctAggregatesRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateExpandDistinctAggregatesRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateExtractProjectRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateExtractProjectRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateFilterTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateFilterTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateJoinJoinRemoveRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateJoinJoinRemoveRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateJoinRemoveRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateJoinRemoveRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateJoinTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateJoinTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateMergeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateMergeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateProjectMergeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateProjectMergeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateProjectPullUpConstantsRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateProjectPullUpConstantsRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateReduceFunctionsRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateReduceFunctionsRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;ruleCall)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateRemoveRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateRemoveRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateStarTableRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateStarTableRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateUnionAggregateRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateUnionAggregateRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateUnionTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateUnionTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateValuesRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateValuesRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcMergeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/CalcMergeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcRemoveRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/CalcRemoveRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcSplitRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/CalcSplitRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CoerceInputsRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/CoerceInputsRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DateRangeRules.FilterDateRangeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/DateRangeRules.FilterDateRangeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ExchangeRemoveConstantKeysRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ExchangeRemoveConstantKeysRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ExchangeRemoveConstantKeysRule.SortExchangeRemoveConstantKeysRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ExchangeRemoveConstantKeysRule.SortExchangeRemoveConstantKeysRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">FilterAggregateTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/FilterAggregateTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">FilterCalcMergeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/FilterCalcMergeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">FilterCorrelateRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/FilterCorrelateRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">FilterJoinRule.FilterIntoJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/FilterJoinRule.FilterIntoJoinRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">FilterJoinRule.JoinConditionPushRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/FilterJoinRule.JoinConditionPushRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">FilterMergeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/FilterMergeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">FilterMultiJoinMergeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/FilterMultiJoinMergeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">FilterProjectTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/FilterProjectTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">FilterRemoveIsNotDistinctFromRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/FilterRemoveIsNotDistinctFromRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">FilterSetOpTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/FilterSetOpTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">FilterTableFunctionTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/FilterTableFunctionTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">FilterToCalcRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/FilterToCalcRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">IntersectToDistinctRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/IntersectToDistinctRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinAddRedundantSemiJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/JoinAddRedundantSemiJoinRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinAssociateRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/JoinAssociateRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinCommuteRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/JoinCommuteRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinProjectTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/JoinProjectTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinPushExpressionsRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/JoinPushExpressionsRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinPushThroughJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/JoinPushThroughJoinRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinPushTransitivePredicatesRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/JoinPushTransitivePredicatesRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinToCorrelateRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/JoinToCorrelateRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinToMultiJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/JoinToMultiJoinRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinUnionTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/JoinUnionTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptOptimizeJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/LoptOptimizeJoinRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MaterializedViewFilterScanRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/MaterializedViewFilterScanRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MultiJoinOptimizeBushyRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/MultiJoinOptimizeBushyRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ProjectCalcMergeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ProjectCalcMergeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ProjectCorrelateTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ProjectCorrelateTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ProjectFilterTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ProjectFilterTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ProjectJoinJoinRemoveRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ProjectJoinJoinRemoveRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ProjectJoinRemoveRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ProjectJoinRemoveRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ProjectJoinTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ProjectJoinTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ProjectMergeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ProjectMergeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ProjectMultiJoinMergeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ProjectMultiJoinMergeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ProjectRemoveRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ProjectRemoveRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ProjectSetOpTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ProjectSetOpTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ProjectSortTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ProjectSortTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ProjectToCalcRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ProjectToCalcRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ProjectToWindowRule.CalcToWindowRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ProjectToWindowRule.CalcToWindowRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ProjectToWindowRule.ProjectToLogicalProjectAndWindowRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ProjectToWindowRule.ProjectToLogicalProjectAndWindowRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ProjectWindowTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ProjectWindowTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PruneEmptyRules.RemoveEmptySingleRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/PruneEmptyRules.RemoveEmptySingleRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReduceDecimalsRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ReduceDecimalsRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReduceExpressionsRule.CalcReduceExpressionsRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ReduceExpressionsRule.CalcReduceExpressionsRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReduceExpressionsRule.FilterReduceExpressionsRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ReduceExpressionsRule.FilterReduceExpressionsRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReduceExpressionsRule.JoinReduceExpressionsRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ReduceExpressionsRule.JoinReduceExpressionsRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReduceExpressionsRule.ProjectReduceExpressionsRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ReduceExpressionsRule.ProjectReduceExpressionsRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReduceExpressionsRule.WindowReduceExpressionsRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ReduceExpressionsRule.WindowReduceExpressionsRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SemiJoinFilterTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SemiJoinFilterTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SemiJoinJoinTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SemiJoinJoinTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SemiJoinProjectTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SemiJoinProjectTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SemiJoinRemoveRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SemiJoinRemoveRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SemiJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SemiJoinRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SemiJoinRule.ProjectToSemiJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SemiJoinRule.ProjectToSemiJoinRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SortJoinTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SortJoinTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SortProjectTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SortProjectTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SortRemoveConstantKeysRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SortRemoveConstantKeysRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SortRemoveRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SortRemoveRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SortUnionTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SortUnionTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubQueryRemoveRule.SubQueryFilterRemoveRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SubQueryRemoveRule.SubQueryFilterRemoveRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubQueryRemoveRule.SubQueryJoinRemoveRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SubQueryRemoveRule.SubQueryJoinRemoveRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubQueryRemoveRule.SubQueryProjectRemoveRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SubQueryRemoveRule.SubQueryProjectRemoveRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">TableScanRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/TableScanRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UnionEliminatorRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/UnionEliminatorRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UnionMergeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/UnionMergeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UnionPullUpConstantsRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/UnionPullUpConstantsRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UnionToDistinctRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/UnionToDistinctRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinPushThroughJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/JoinPushThroughJoinRule.html#onMatchLeft(org.apache.calcite.plan.RelOptRuleCall)">onMatchLeft</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">
<div class="block">Similar to <a href="../../rel/rules/JoinPushThroughJoinRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)"><code>JoinPushThroughJoinRule.onMatch(org.apache.calcite.plan.RelOptRuleCall)</code></a>, but swaps the upper sibling with the left
of the two lower siblings, rather than the right.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinPushThroughJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/JoinPushThroughJoinRule.html#onMatchRight(org.apache.calcite.plan.RelOptRuleCall)">onMatchRight</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractMaterializedViewRule.html#perform(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode)">perform</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Rewriting logic is based on "Optimizing Queries Using Materialized Views:
A Practical, Scalable Solution" by Goldstein and Larson.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">FilterJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/FilterJoinRule.html#perform(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Filter,org.apache.calcite.rel.core.Join)">perform</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../../rel/core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a>&nbsp;filter,
<a href="../../rel/core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;join)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SemiJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SemiJoinRule.html#perform(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.core.Join,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Aggregate)">perform</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;project,
<a href="../../rel/core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;join,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateReduceFunctionsRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateReduceFunctionsRule.html#reduceAggs(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Aggregate)">reduceAggs</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;ruleCall,
<a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;oldAggRel)</code></th>
<td class="colLast">
<div class="block">Reduces calls to functions AVG, SUM, STDDEV_POP, STDDEV_SAMP, VAR_POP,
VAR_SAMP, COVAR_POP, COVAR_SAMP, REGR_SXX, REGR_SYY if the function is
present in <a href="../../rel/rules/AggregateReduceFunctionsRule.html#functionsToReduce"><code>AggregateReduceFunctionsRule.functionsToReduce</code></a></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReduceExpressionsRule.FilterReduceExpressionsRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ReduceExpressionsRule.FilterReduceExpressionsRule.html#reduceNotNullableFilter(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Filter,org.apache.calcite.rex.RexNode,boolean)">reduceNotNullableFilter</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../../rel/core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a>&nbsp;filter,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;rexNode,
boolean&nbsp;reverse)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateExpandDistinctAggregatesRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateExpandDistinctAggregatesRule.html#rewriteUsingGroupingSets(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Aggregate)">rewriteUsingGroupingSets</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">FilterProjectTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/FilterProjectTransposeRule.html#simplifyFilterCondition(org.apache.calcite.rex.RexNode,org.apache.calcite.plan.RelOptRuleCall)">simplifyFilterCondition</a></span>&#8203;(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">
<div class="block">Simplifies the filter condition using a simplifier created by the
information in the current call.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rel.stream">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a> in <a href="../../rel/stream/package-summary.html">org.apache.calcite.rel.stream</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../rel/stream/package-summary.html">org.apache.calcite.rel.stream</a> with parameters of type <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StreamRules.DeltaAggregateTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/stream/StreamRules.DeltaAggregateTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StreamRules.DeltaFilterTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/stream/StreamRules.DeltaFilterTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StreamRules.DeltaJoinTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/stream/StreamRules.DeltaJoinTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StreamRules.DeltaProjectTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/stream/StreamRules.DeltaProjectTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StreamRules.DeltaSortTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/stream/StreamRules.DeltaSortTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StreamRules.DeltaTableScanRule.</span><code><span class="memberNameLink"><a href="../../rel/stream/StreamRules.DeltaTableScanRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StreamRules.DeltaTableScanToEmptyRule.</span><code><span class="memberNameLink"><a href="../../rel/stream/StreamRules.DeltaTableScanToEmptyRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StreamRules.DeltaUnionTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/stream/StreamRules.DeltaUnionTransposeRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.sql2rel">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a> in <a href="../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a> with parameters of type <a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.AdjustProjectForCountAggregateRule.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.AdjustProjectForCountAggregateRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.RemoveCorrelationForScalarAggregateRule.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.RemoveCorrelationForScalarAggregateRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.RemoveCorrelationForScalarProjectRule.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.RemoveCorrelationForScalarProjectRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.RemoveSingleAggregateRule.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.RemoveSingleAggregateRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.AdjustProjectForCountAggregateRule.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.AdjustProjectForCountAggregateRule.html#onMatch2(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.logical.LogicalCorrelate,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.logical.LogicalProject,org.apache.calcite.rel.logical.LogicalAggregate)">onMatch2</a></span>&#8203;(<a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../../rel/logical/LogicalCorrelate.html" title="class in org.apache.calcite.rel.logical">LogicalCorrelate</a>&nbsp;correlate,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;leftInput,
<a href="../../rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a>&nbsp;aggOutputProject,
<a href="../../rel/logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical">LogicalAggregate</a>&nbsp;aggregate)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
</ul>
</li>
</ul>
</div>
</main>
<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><a href="../RelOptRuleCall.html" title="class in org.apache.calcite.plan">Class</a></li>
<li class="navBarCell1Rev">Use</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>
<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>