blob: cdbf35ec6a8636fc8e60b696cf3e441251b1aab6 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Uses of Class org.apache.calcite.plan.RelOptRule (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.RelOptRule (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="../RelOptRule.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.RelOptRule" class="title">Uses of Class<br>org.apache.calcite.plan.RelOptRule</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">
<li class="blockList">
<table class="useSummary">
<caption><span>Packages that use <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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.elasticsearch">org.apache.calcite.adapter.elasticsearch</a></th>
<td class="colLast">
<div class="block">Query provider based on an Elasticsearch2 DB.</div>
</td>
</tr>
<tr class="altColor">
<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="rowColor">
<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="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.adapter.jdbc">org.apache.calcite.adapter.jdbc</a></th>
<td class="colLast">
<div class="block">Query provider based on a JDBC data source.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.adapter.mongodb">org.apache.calcite.adapter.mongodb</a></th>
<td class="colLast">
<div class="block">Query provider based on a MongoDB database.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.adapter.pig">org.apache.calcite.adapter.pig</a></th>
<td class="colLast">
<div class="block">Pig query provider.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.adapter.spark">org.apache.calcite.adapter.spark</a></th>
<td class="colLast">
<div class="block">Adapter based on the Apache Spark data management system.</div>
</td>
</tr>
<tr class="altColor">
<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="rowColor">
<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="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.jdbc">org.apache.calcite.jdbc</a></th>
<td class="colLast">
<div class="block">JDBC driver for Calcite.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.piglet">org.apache.calcite.piglet</a></th>
<td class="colLast">
<div class="block">Piglet, a Pig-like language.</div>
</td>
</tr>
<tr class="altColor">
<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="rowColor">
<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="altColor">
<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="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.prepare">org.apache.calcite.prepare</a></th>
<td class="colLast">
<div class="block">Preparation of queries (parsing, planning and implementation).</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>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.tools">org.apache.calcite.tools</a></th>
<td class="colLast">
<div class="block">Provides utility classes.</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="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/cassandra/package-summary.html">org.apache.calcite.adapter.cassandra</a></h3>
<table class="useSummary">
<caption><span>Subclasses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/cassandra/package-summary.html">org.apache.calcite.adapter.cassandra</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>(package private) static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraRules.CassandraConverterRule.html" title="class in org.apache.calcite.adapter.cassandra">CassandraRules.CassandraConverterRule</a></span></code></th>
<td class="colLast">
<div class="block">Base class for planner rules that convert a relational expression to
Cassandra calling convention.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraRules.CassandraFilterRule.html" title="class in org.apache.calcite.adapter.cassandra">CassandraRules.CassandraFilterRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical"><code>LogicalFilter</code></a> to a
<a href="../../adapter/cassandra/CassandraFilter.html" title="class in org.apache.calcite.adapter.cassandra"><code>CassandraFilter</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraRules.CassandraLimitRule.html" title="class in org.apache.calcite.adapter.cassandra">CassandraRules.CassandraLimitRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../adapter/enumerable/EnumerableLimit.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableLimit</code></a> to a
<a href="../../adapter/cassandra/CassandraLimit.html" title="class in org.apache.calcite.adapter.cassandra"><code>CassandraLimit</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraRules.CassandraProjectRule.html" title="class in org.apache.calcite.adapter.cassandra">CassandraRules.CassandraProjectRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a>
to a <a href="../../adapter/cassandra/CassandraProject.html" title="class in org.apache.calcite.adapter.cassandra"><code>CassandraProject</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraRules.CassandraSortRule.html" title="class in org.apache.calcite.adapter.cassandra">CassandraRules.CassandraSortRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> to a
<a href="../../adapter/cassandra/CassandraSort.html" title="class in org.apache.calcite.adapter.cassandra"><code>CassandraSort</code></a>.</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="../../adapter/cassandra/CassandraToEnumerableConverterRule.html" title="class in org.apache.calcite.adapter.cassandra">CassandraToEnumerableConverterRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a relational expression from
<a href="../../adapter/cassandra/CassandraRel.html#CONVENTION"><code>CassandraRel.CONVENTION</code></a> to <a href="../../adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>EnumerableConvention</code></a>.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../../adapter/cassandra/package-summary.html">org.apache.calcite.adapter.cassandra</a> declared as <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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>static <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraRules.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraRules.html#RULES">RULES</a></span></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="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/csv/package-summary.html">org.apache.calcite.adapter.csv</a></h3>
<table class="useSummary">
<caption><span>Subclasses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/csv/package-summary.html">org.apache.calcite.adapter.csv</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="../../adapter/csv/CsvProjectTableScanRule.html" title="class in org.apache.calcite.adapter.csv">CsvProjectTableScanRule</a></span></code></th>
<td class="colLast">
<div class="block">Planner rule that projects from a <a href="../../adapter/csv/CsvTableScan.html" title="class in org.apache.calcite.adapter.csv"><code>CsvTableScan</code></a> scan just the columns
needed to satisfy a projection.</div>
</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="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/druid/package-summary.html">org.apache.calcite.adapter.druid</a></h3>
<table class="useSummary">
<caption><span>Subclasses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/druid/package-summary.html">org.apache.calcite.adapter.druid</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>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidAggregateExtractProjectRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidAggregateExtractProjectRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to extract a <a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> from
<a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> on top of
<a href="../../adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a> based on the fields
used in the aggregate.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidAggregateFilterTransposeRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidAggregateFilterTransposeRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to push an <a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>
past a <a href="../../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>
when <code>Filter</code> is on top of a <a href="../../adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidAggregateProjectRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidAggregateProjectRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to push an <a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> and
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> into a <a href="../../adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidAggregateRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidAggregateRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to push an <a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> into a <a href="../../adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidFilterAggregateTransposeRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidFilterAggregateTransposeRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to push an <a href="../../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>
past an <a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>
when <code>Aggregate</code> is on top of a <a href="../../adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidFilterProjectTransposeRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidFilterProjectTransposeRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to push a <a href="../../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>
past a <a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>
when <code>Project</code> is on top of a <a href="../../adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidFilterRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidFilterRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to push a <a href="../../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> into a <a href="../../adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidHavingFilterRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidHavingFilterRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to Push a Having <a href="../../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> into a <a href="../../adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidPostAggregationProjectRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidPostAggregationProjectRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to push a <a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> into a <a href="../../adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a> as a
Post aggregator.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidProjectFilterTransposeRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidProjectFilterTransposeRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to push a <a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>
past a <a href="../../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>
when <code>Filter</code> is on top of a <a href="../../adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidProjectRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidProjectRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to push a <a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> into a <a href="../../adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidProjectSortTransposeRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidProjectSortTransposeRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to push back <a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> through a
<a href="../../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidSortProjectTransposeRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidSortProjectTransposeRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to push an <a href="../../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> through a
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidSortRule.html" title="class in org.apache.calcite.adapter.druid">DruidRules.DruidSortRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to push a <a href="../../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a>
into a <a href="../../adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid"><code>DruidQuery</code></a>.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../../adapter/druid/package-summary.html">org.apache.calcite.adapter.druid</a> with type parameters of type <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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>static java.util.List&lt;<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidRules.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.html#RULES">RULES</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.adapter.elasticsearch">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/elasticsearch/package-summary.html">org.apache.calcite.adapter.elasticsearch</a></h3>
<table class="useSummary">
<caption><span>Subclasses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/elasticsearch/package-summary.html">org.apache.calcite.adapter.elasticsearch</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="../../adapter/elasticsearch/ElasticsearchRules.ElasticsearchAggregateRule.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchRules.ElasticsearchAggregateRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert an <a href="../../rel/logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical"><code>LogicalAggregate</code></a>
to an <a href="../../adapter/elasticsearch/ElasticsearchAggregate.html" title="class in org.apache.calcite.adapter.elasticsearch"><code>ElasticsearchAggregate</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchRules.ElasticsearchConverterRule.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchRules.ElasticsearchConverterRule</a></span></code></th>
<td class="colLast">
<div class="block">Base class for planner rules that convert a relational expression to
Elasticsearch calling convention.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchRules.ElasticsearchFilterRule.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchRules.ElasticsearchFilterRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical"><code>LogicalFilter</code></a> to an
<a href="../../adapter/elasticsearch/ElasticsearchFilter.html" title="class in org.apache.calcite.adapter.elasticsearch"><code>ElasticsearchFilter</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchRules.ElasticsearchProjectRule.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchRules.ElasticsearchProjectRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a>
to an <a href="../../adapter/elasticsearch/ElasticsearchProject.html" title="class in org.apache.calcite.adapter.elasticsearch"><code>ElasticsearchProject</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchRules.ElasticsearchSortRule.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchRules.ElasticsearchSortRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> to an
<a href="../../adapter/elasticsearch/ElasticsearchSort.html" title="class in org.apache.calcite.adapter.elasticsearch"><code>ElasticsearchSort</code></a>.</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="../../adapter/elasticsearch/ElasticsearchToEnumerableConverterRule.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchToEnumerableConverterRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a relational expression from
<a href="../../adapter/elasticsearch/ElasticsearchRel.html#CONVENTION"><code>ElasticsearchRel.CONVENTION</code></a> to <a href="../../adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>EnumerableConvention</code></a>.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../../adapter/elasticsearch/package-summary.html">org.apache.calcite.adapter.elasticsearch</a> declared as <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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>(package private) static <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ElasticsearchRules.ElasticsearchAggregateRule.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchRules.ElasticsearchAggregateRule.html#INSTANCE">INSTANCE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) static <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ElasticsearchRules.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchRules.html#RULES">RULES</a></span></code></th>
<td class="colLast">&nbsp;</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="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/enumerable/package-summary.html">org.apache.calcite.adapter.enumerable</a></h3>
<table class="useSummary">
<caption><span>Subclasses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/enumerable/package-summary.html">org.apache.calcite.adapter.enumerable</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>(package private) class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableAggregateRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableAggregateRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical"><code>LogicalAggregate</code></a>
to an <a href="../../adapter/enumerable/EnumerableAggregate.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableAggregate</code></a>.</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="../../adapter/enumerable/EnumerableBatchNestedLoopJoinRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableBatchNestedLoopJoinRule</a></span></code></th>
<td class="colLast">
<div class="block">Planner rule that converts a
<a href="../../rel/logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical"><code>LogicalJoin</code></a> into an
<a href="../../adapter/enumerable/EnumerableBatchNestedLoopJoin.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableBatchNestedLoopJoin</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableBindable.EnumerableToBindableConverterRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableBindable.EnumerableToBindableConverterRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule that converts any enumerable relational expression to bindable.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableCalcRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableCalcRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalCalc.html" title="class in org.apache.calcite.rel.logical"><code>LogicalCalc</code></a> to an
<a href="../../adapter/enumerable/EnumerableCalc.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableCalc</code></a>.</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="../../adapter/enumerable/EnumerableCollectRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableCollectRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert an <a href="../../rel/core/Collect.html" title="class in org.apache.calcite.rel.core"><code>Collect</code></a> to an
<a href="../../adapter/enumerable/EnumerableCollect.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableCollect</code></a>.</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="../../adapter/enumerable/EnumerableCorrelateRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableCorrelateRule</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of nested loops over enumerable inputs.</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="../../adapter/enumerable/EnumerableFilterRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableFilterRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical"><code>LogicalFilter</code></a> to an
<a href="../../adapter/enumerable/EnumerableFilter.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableFilter</code></a>.</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="../../adapter/enumerable/EnumerableFilterToCalcRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableFilterToCalcRule</a></span></code></th>
<td class="colLast">
<div class="block">Variant of <a href="../../rel/rules/FilterToCalcRule.html" title="class in org.apache.calcite.rel.rules"><code>FilterToCalcRule</code></a> for
<a href="../../adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableInterpreterRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableInterpreterRule</a></span></code></th>
<td class="colLast">
<div class="block">Planner rule that converts <a href="../../interpreter/BindableRel.html" title="interface in org.apache.calcite.interpreter"><code>BindableRel</code></a>
to <a href="../../adapter/enumerable/EnumerableRel.html" title="interface in org.apache.calcite.adapter.enumerable"><code>EnumerableRel</code></a> by creating
an <a href="../../adapter/enumerable/EnumerableInterpreter.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableInterpreter</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableIntersectRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableIntersectRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a
<a href="../../rel/logical/LogicalIntersect.html" title="class in org.apache.calcite.rel.logical"><code>LogicalIntersect</code></a> to an
<a href="../../adapter/enumerable/EnumerableIntersect.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableIntersect</code></a>.</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="../../adapter/enumerable/EnumerableJoinRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableJoinRule</a></span></code></th>
<td class="colLast">
<div class="block">Planner rule that converts a
<a href="../../rel/logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical"><code>LogicalJoin</code></a> relational expression
<a href="../../adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableLimitRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableLimitRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert an <a href="../../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> that has
<code>offset</code> or <code>fetch</code> set to an
<a href="../../adapter/enumerable/EnumerableLimit.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableLimit</code></a>
on top of a "pure" <code>Sort</code> that has no offset or fetch.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableMatchRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableMatchRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalMatch.html" title="class in org.apache.calcite.rel.logical"><code>LogicalMatch</code></a> to an
<a href="../../adapter/enumerable/EnumerableMatch.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableMatch</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableMergeJoinRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableMergeJoinRule</a></span></code></th>
<td class="colLast">
<div class="block">Planner rule that converts a
<a href="../../rel/logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical"><code>LogicalJoin</code></a> relational expression
<a href="../../adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</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="../../adapter/enumerable/EnumerableMinusRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableMinusRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert an <a href="../../rel/logical/LogicalMinus.html" title="class in org.apache.calcite.rel.logical"><code>LogicalMinus</code></a> to an
<a href="../../adapter/enumerable/EnumerableMinus.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableMinus</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableProjectRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableProjectRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a> to an
<a href="../../adapter/enumerable/EnumerableProject.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableProject</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableProjectToCalcRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableProjectToCalcRule</a></span></code></th>
<td class="colLast">
<div class="block">Variant of <a href="../../rel/rules/ProjectToCalcRule.html" title="class in org.apache.calcite.rel.rules"><code>ProjectToCalcRule</code></a> for
<a href="../../adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</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="../../adapter/enumerable/EnumerableRepeatUnionRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableRepeatUnionRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalRepeatUnion.html" title="class in org.apache.calcite.rel.logical"><code>LogicalRepeatUnion</code></a> into an <a href="../../adapter/enumerable/EnumerableRepeatUnion.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableRepeatUnion</code></a>.</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="../../adapter/enumerable/EnumerableSortRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableSortRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert an <a href="../../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> to an
<a href="../../adapter/enumerable/EnumerableSort.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableSort</code></a>.</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="../../adapter/enumerable/EnumerableTableFunctionScanRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableTableFunctionScanRule</a></span></code></th>
<td class="colLast">
<div class="block">Planner rule that converts a
<a href="../../rel/logical/LogicalTableFunctionScan.html" title="class in org.apache.calcite.rel.logical"><code>LogicalTableFunctionScan</code></a>
relational expression
<a href="../../adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableTableModifyRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableTableModifyRule</a></span></code></th>
<td class="colLast">
<div class="block">Planner rule that converts a
<a href="../../rel/logical/LogicalTableModify.html" title="class in org.apache.calcite.rel.logical"><code>LogicalTableModify</code></a>
relational expression
<a href="../../adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</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="../../adapter/enumerable/EnumerableTableScanRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableTableScanRule</a></span></code></th>
<td class="colLast">
<div class="block">Planner rule that converts a
<a href="../../rel/logical/LogicalTableFunctionScan.html" title="class in org.apache.calcite.rel.logical"><code>LogicalTableFunctionScan</code></a>
relational expression
<a href="../../adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableTableSpoolRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableTableSpoolRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalTableSpool.html" title="class in org.apache.calcite.rel.logical"><code>LogicalTableSpool</code></a> into an
<a href="../../adapter/enumerable/EnumerableTableSpool.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableTableSpool</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableUncollectRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableUncollectRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert an <a href="../../rel/core/Uncollect.html" title="class in org.apache.calcite.rel.core"><code>Uncollect</code></a> to an
<a href="../../adapter/enumerable/EnumerableUncollect.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableUncollect</code></a>.</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="../../adapter/enumerable/EnumerableUnionRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableUnionRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert an <a href="../../rel/logical/LogicalUnion.html" title="class in org.apache.calcite.rel.logical"><code>LogicalUnion</code></a> to an
<a href="../../adapter/enumerable/EnumerableUnion.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableUnion</code></a>.</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="../../adapter/enumerable/EnumerableValuesRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableValuesRule</a></span></code></th>
<td class="colLast">
<div class="block">Planner rule that converts a
<a href="../../rel/logical/LogicalValues.html" title="class in org.apache.calcite.rel.logical"><code>LogicalValues</code></a>
relational expression
<a href="../../adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</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="../../adapter/enumerable/EnumerableWindowRule.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableWindowRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalWindow.html" title="class in org.apache.calcite.rel.logical"><code>LogicalWindow</code></a> to
an <a href="../../adapter/enumerable/EnumerableWindow.html" title="class in org.apache.calcite.adapter.enumerable"><code>EnumerableWindow</code></a>.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../../adapter/enumerable/package-summary.html">org.apache.calcite.adapter.enumerable</a> declared as <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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>static <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableRules.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableRules.html#ENUMERABLE_BATCH_NESTED_LOOP_JOIN_RULE">ENUMERABLE_BATCH_NESTED_LOOP_JOIN_RULE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableRules.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableRules.html#ENUMERABLE_CORRELATE_RULE">ENUMERABLE_CORRELATE_RULE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableRules.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableRules.html#ENUMERABLE_JOIN_RULE">ENUMERABLE_JOIN_RULE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableRules.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableRules.html#ENUMERABLE_MERGE_JOIN_RULE">ENUMERABLE_MERGE_JOIN_RULE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../../adapter/enumerable/package-summary.html">org.apache.calcite.adapter.enumerable</a> with type parameters of type <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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>static java.util.List&lt;<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableRules.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableRules.html#ENUMERABLE_RULES">ENUMERABLE_RULES</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/enumerable/package-summary.html">org.apache.calcite.adapter.enumerable</a> that return types with arguments of type <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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 java.util.List&lt;<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableRules.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableRules.html#rules()">rules</a></span>()</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="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/geode/rel/package-summary.html">org.apache.calcite.adapter.geode.rel</a></h3>
<table class="useSummary">
<caption><span>Subclasses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/geode/rel/package-summary.html">org.apache.calcite.adapter.geode.rel</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="../../adapter/geode/rel/GeodeRules.GeodeAggregateRule.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeRules.GeodeAggregateRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert <a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> to a
<a href="../../adapter/geode/rel/GeodeAggregate.html" title="class in org.apache.calcite.adapter.geode.rel"><code>GeodeAggregate</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeRules.GeodeConverterRule.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeRules.GeodeConverterRule</a></span></code></th>
<td class="colLast">
<div class="block">Base class for planner rules that convert a relational
expression to Geode calling convention.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeRules.GeodeFilterRule.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeRules.GeodeFilterRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical"><code>LogicalFilter</code></a> to a
<a href="../../adapter/geode/rel/GeodeFilter.html" title="class in org.apache.calcite.adapter.geode.rel"><code>GeodeFilter</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeRules.GeodeProjectRule.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeRules.GeodeProjectRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a> to a <a href="../../adapter/geode/rel/GeodeProject.html" title="class in org.apache.calcite.adapter.geode.rel"><code>GeodeProject</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeRules.GeodeSortLimitRule.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeRules.GeodeSortLimitRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert the Limit in <a href="../../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> to a
<a href="../../adapter/geode/rel/GeodeSort.html" title="class in org.apache.calcite.adapter.geode.rel"><code>GeodeSort</code></a>.</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="../../adapter/geode/rel/GeodeToEnumerableConverterRule.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeToEnumerableConverterRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a relational expression from
<a href="../../adapter/geode/rel/GeodeRel.html#CONVENTION"><code>GeodeRel.CONVENTION</code></a> to <a href="../../adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>EnumerableConvention</code></a>.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../../adapter/geode/rel/package-summary.html">org.apache.calcite.adapter.geode.rel</a> declared as <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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>(package private) static <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeRules.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeRules.html#RULES">RULES</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.adapter.jdbc">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/jdbc/package-summary.html">org.apache.calcite.adapter.jdbc</a></h3>
<table class="useSummary">
<caption><span>Subclasses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/jdbc/package-summary.html">org.apache.calcite.adapter.jdbc</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>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcAggregateRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcAggregateRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>
to a <a href="../../adapter/jdbc/JdbcRules.JdbcAggregate.html" title="class in org.apache.calcite.adapter.jdbc"><code>JdbcRules.JdbcAggregate</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcCalcRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcCalcRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/core/Calc.html" title="class in org.apache.calcite.rel.core"><code>Calc</code></a> to an
<a href="../../adapter/jdbc/JdbcRules.JdbcCalc.html" title="class in org.apache.calcite.adapter.jdbc"><code>JdbcRules.JdbcCalc</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcConverterRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcConverterRule</a></span></code></th>
<td class="colLast">
<div class="block">Abstract base class for rule that converts to JDBC.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcFilterRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcFilterRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> to
an <a href="../../adapter/jdbc/JdbcRules.JdbcFilter.html" title="class in org.apache.calcite.adapter.jdbc"><code>JdbcRules.JdbcFilter</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcIntersectRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcIntersectRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/core/Intersect.html" title="class in org.apache.calcite.rel.core"><code>Intersect</code></a>
to a <a href="../../adapter/jdbc/JdbcRules.JdbcIntersect.html" title="class in org.apache.calcite.adapter.jdbc"><code>JdbcRules.JdbcIntersect</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcJoinRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcJoinRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule that converts a join to JDBC.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcMinusRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcMinusRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/core/Minus.html" title="class in org.apache.calcite.rel.core"><code>Minus</code></a> to a
<a href="../../adapter/jdbc/JdbcRules.JdbcMinus.html" title="class in org.apache.calcite.adapter.jdbc"><code>JdbcRules.JdbcMinus</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcProjectRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcProjectRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> to
an <a href="../../adapter/jdbc/JdbcRules.JdbcProject.html" title="class in org.apache.calcite.adapter.jdbc"><code>JdbcRules.JdbcProject</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcSortRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcSortRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> to an
<a href="../../adapter/jdbc/JdbcRules.JdbcSort.html" title="class in org.apache.calcite.adapter.jdbc"><code>JdbcRules.JdbcSort</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcTableModificationRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcTableModificationRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule that converts a table-modification to JDBC.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcUnionRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcUnionRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert an <a href="../../rel/core/Union.html" title="class in org.apache.calcite.rel.core"><code>Union</code></a> to a
<a href="../../adapter/jdbc/JdbcRules.JdbcUnion.html" title="class in org.apache.calcite.adapter.jdbc"><code>JdbcRules.JdbcUnion</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcValuesRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcValuesRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule that converts a values operator to JDBC.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcToEnumerableConverterRule.html" title="class in org.apache.calcite.adapter.jdbc">JdbcToEnumerableConverterRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a relational expression from
<a href="../../adapter/jdbc/JdbcConvention.html" title="class in org.apache.calcite.adapter.jdbc"><code>JdbcConvention</code></a> to
<a href="../../adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>EnumerableConvention</code></a>.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/jdbc/package-summary.html">org.apache.calcite.adapter.jdbc</a> that return types with arguments of type <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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 java.util.List&lt;<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.html#rules(org.apache.calcite.adapter.jdbc.JdbcConvention)">rules</a></span>&#8203;(<a href="../../adapter/jdbc/JdbcConvention.html" title="class in org.apache.calcite.adapter.jdbc">JdbcConvention</a>&nbsp;out)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.html#rules(org.apache.calcite.adapter.jdbc.JdbcConvention,org.apache.calcite.tools.RelBuilderFactory)">rules</a></span>&#8203;(<a href="../../adapter/jdbc/JdbcConvention.html" title="class in org.apache.calcite.adapter.jdbc">JdbcConvention</a>&nbsp;out,
<a href="../../tools/RelBuilderFactory.html" title="interface in org.apache.calcite.tools">RelBuilderFactory</a>&nbsp;relBuilderFactory)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.adapter.mongodb">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/mongodb/package-summary.html">org.apache.calcite.adapter.mongodb</a></h3>
<table class="useSummary">
<caption><span>Subclasses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/mongodb/package-summary.html">org.apache.calcite.adapter.mongodb</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="../../adapter/mongodb/MongoRules.MongoAggregateRule.html" title="class in org.apache.calcite.adapter.mongodb">MongoRules.MongoAggregateRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert an <a href="../../rel/logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical"><code>LogicalAggregate</code></a>
to an <a href="../../adapter/mongodb/MongoAggregate.html" title="class in org.apache.calcite.adapter.mongodb"><code>MongoAggregate</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoRules.MongoConverterRule.html" title="class in org.apache.calcite.adapter.mongodb">MongoRules.MongoConverterRule</a></span></code></th>
<td class="colLast">
<div class="block">Base class for planner rules that convert a relational expression to
MongoDB calling convention.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoRules.MongoFilterRule.html" title="class in org.apache.calcite.adapter.mongodb">MongoRules.MongoFilterRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical"><code>LogicalFilter</code></a> to a
<a href="../../adapter/mongodb/MongoFilter.html" title="class in org.apache.calcite.adapter.mongodb"><code>MongoFilter</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoRules.MongoProjectRule.html" title="class in org.apache.calcite.adapter.mongodb">MongoRules.MongoProjectRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a>
to a <a href="../../adapter/mongodb/MongoProject.html" title="class in org.apache.calcite.adapter.mongodb"><code>MongoProject</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoRules.MongoSortRule.html" title="class in org.apache.calcite.adapter.mongodb">MongoRules.MongoSortRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> to a
<a href="../../adapter/mongodb/MongoSort.html" title="class in org.apache.calcite.adapter.mongodb"><code>MongoSort</code></a>.</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="../../adapter/mongodb/MongoToEnumerableConverterRule.html" title="class in org.apache.calcite.adapter.mongodb">MongoToEnumerableConverterRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a relational expression from
<a href="../../adapter/mongodb/MongoRel.html#CONVENTION"><code>MongoRel.CONVENTION</code></a> to <a href="../../adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>EnumerableConvention</code></a>.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../../adapter/mongodb/package-summary.html">org.apache.calcite.adapter.mongodb</a> declared as <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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>static <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MongoRules.MongoAggregateRule.</span><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoRules.MongoAggregateRule.html#INSTANCE">INSTANCE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MongoRules.</span><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoRules.html#RULES">RULES</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.adapter.pig">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/pig/package-summary.html">org.apache.calcite.adapter.pig</a></h3>
<table class="useSummary">
<caption><span>Subclasses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/pig/package-summary.html">org.apache.calcite.adapter.pig</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="../../adapter/pig/PigRules.PigAggregateRule.html" title="class in org.apache.calcite.adapter.pig">PigRules.PigAggregateRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical"><code>LogicalAggregate</code></a> to a
<a href="../../adapter/pig/PigAggregate.html" title="class in org.apache.calcite.adapter.pig"><code>PigAggregate</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/pig/PigRules.PigFilterRule.html" title="class in org.apache.calcite.adapter.pig">PigRules.PigFilterRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical"><code>LogicalFilter</code></a> to a
<a href="../../adapter/pig/PigFilter.html" title="class in org.apache.calcite.adapter.pig"><code>PigFilter</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/pig/PigRules.PigJoinRule.html" title="class in org.apache.calcite.adapter.pig">PigRules.PigJoinRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical"><code>LogicalJoin</code></a> to
a <a href="../../adapter/pig/PigJoin.html" title="class in org.apache.calcite.adapter.pig"><code>PigJoin</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/pig/PigRules.PigProjectRule.html" title="class in org.apache.calcite.adapter.pig">PigRules.PigProjectRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a> to
a <a href="../../adapter/pig/PigProject.html" title="class in org.apache.calcite.adapter.pig"><code>PigProject</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/pig/PigRules.PigTableScanRule.html" title="class in org.apache.calcite.adapter.pig">PigRules.PigTableScanRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalTableScan.html" title="class in org.apache.calcite.rel.logical"><code>LogicalTableScan</code></a>
to a <a href="../../adapter/pig/PigTableScan.html" title="class in org.apache.calcite.adapter.pig"><code>PigTableScan</code></a>.</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="../../adapter/pig/PigToEnumerableConverterRule.html" title="class in org.apache.calcite.adapter.pig">PigToEnumerableConverterRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a relational expression from
<a href="../../adapter/pig/PigRel.html#CONVENTION"><code>PigRel.CONVENTION</code></a> to <a href="../../adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>EnumerableConvention</code></a>.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.adapter.spark">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/spark/package-summary.html">org.apache.calcite.adapter.spark</a></h3>
<table class="useSummary">
<caption><span>Subclasses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/spark/package-summary.html">org.apache.calcite.adapter.spark</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="../../adapter/spark/EnumerableToSparkConverterRule.html" title="class in org.apache.calcite.adapter.spark">EnumerableToSparkConverterRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a relational expression from
<a href="../../adapter/jdbc/JdbcConvention.html" title="class in org.apache.calcite.adapter.jdbc"><code>JdbcConvention</code></a> to
<a href="../../adapter/spark/SparkRel.html#CONVENTION"><code>Spark convention</code></a>.</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="../../adapter/spark/JdbcToSparkConverterRule.html" title="class in org.apache.calcite.adapter.spark">JdbcToSparkConverterRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a relational expression from
<a href="../../adapter/jdbc/JdbcConvention.html" title="class in org.apache.calcite.adapter.jdbc"><code>JdbcConvention</code></a> to
<a href="../../adapter/spark/SparkRel.html#CONVENTION"><code>Spark convention</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRules.EnumerableToSparkConverterRule.html" title="class in org.apache.calcite.adapter.spark">SparkRules.EnumerableToSparkConverterRule</a></span></code></th>
<td class="colLast">
<div class="block">Planner rule that converts from enumerable to Spark convention.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRules.SparkCalcRule.html" title="class in org.apache.calcite.adapter.spark">SparkRules.SparkCalcRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalCalc.html" title="class in org.apache.calcite.rel.logical"><code>LogicalCalc</code></a> to an
<a href="../../adapter/spark/SparkRules.SparkCalc.html" title="class in org.apache.calcite.adapter.spark"><code>SparkRules.SparkCalc</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRules.SparkToEnumerableConverterRule.html" title="class in org.apache.calcite.adapter.spark">SparkRules.SparkToEnumerableConverterRule</a></span></code></th>
<td class="colLast">
<div class="block">Planner rule that converts from Spark to enumerable convention.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRules.SparkValuesRule.html" title="class in org.apache.calcite.adapter.spark">SparkRules.SparkValuesRule</a></span></code></th>
<td class="colLast">
<div class="block">Planner rule that implements VALUES operator in Spark convention.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/spark/package-summary.html">org.apache.calcite.adapter.spark</a> that return types with arguments of type <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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 java.util.List&lt;<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SparkRules.</span><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRules.html#rules()">rules</a></span>()</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="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/splunk/package-summary.html">org.apache.calcite.adapter.splunk</a></h3>
<table class="useSummary">
<caption><span>Subclasses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../adapter/splunk/package-summary.html">org.apache.calcite.adapter.splunk</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="../../adapter/splunk/SplunkPushDownRule.html" title="class in org.apache.calcite.adapter.splunk">SplunkPushDownRule</a></span></code></th>
<td class="colLast">
<div class="block">Planner rule to push filters and projections to Splunk.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.interpreter">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../interpreter/package-summary.html">org.apache.calcite.interpreter</a></h3>
<table class="useSummary">
<caption><span>Subclasses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../interpreter/package-summary.html">org.apache.calcite.interpreter</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>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableAggregateRule.html" title="class in org.apache.calcite.interpreter">Bindables.BindableAggregateRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule that converts an <a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> to bindable convention.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableFilterRule.html" title="class in org.apache.calcite.interpreter">Bindables.BindableFilterRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule that converts a <a href="../../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> to bindable convention.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableJoinRule.html" title="class in org.apache.calcite.interpreter">Bindables.BindableJoinRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical"><code>LogicalJoin</code></a>
to a <a href="../../interpreter/Bindables.BindableJoin.html" title="class in org.apache.calcite.interpreter"><code>Bindables.BindableJoin</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableMatchRule.html" title="class in org.apache.calcite.interpreter">Bindables.BindableMatchRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalMatch.html" title="class in org.apache.calcite.rel.logical"><code>LogicalMatch</code></a>
to a <a href="../../interpreter/Bindables.BindableMatch.html" title="class in org.apache.calcite.interpreter"><code>Bindables.BindableMatch</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableProjectRule.html" title="class in org.apache.calcite.interpreter">Bindables.BindableProjectRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a>
to a <a href="../../interpreter/Bindables.BindableProject.html" title="class in org.apache.calcite.interpreter"><code>Bindables.BindableProject</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableSortRule.html" title="class in org.apache.calcite.interpreter">Bindables.BindableSortRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert an <a href="../../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> to a
<a href="../../interpreter/Bindables.BindableSort.html" title="class in org.apache.calcite.interpreter"><code>Bindables.BindableSort</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableTableScanRule.html" title="class in org.apache.calcite.interpreter">Bindables.BindableTableScanRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule that converts a <a href="../../rel/core/TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a>
to bindable convention.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableUnionRule.html" title="class in org.apache.calcite.interpreter">Bindables.BindableUnionRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert an <a href="../../rel/logical/LogicalUnion.html" title="class in org.apache.calcite.rel.logical"><code>LogicalUnion</code></a>
to a <a href="../../interpreter/Bindables.BindableUnion.html" title="class in org.apache.calcite.interpreter"><code>Bindables.BindableUnion</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableValuesRule.html" title="class in org.apache.calcite.interpreter">Bindables.BindableValuesRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule that converts a <a href="../../rel/core/Values.html" title="class in org.apache.calcite.rel.core"><code>Values</code></a> to bindable convention.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableWindowRule.html" title="class in org.apache.calcite.interpreter">Bindables.BindableWindowRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a <a href="../../rel/logical/LogicalWindow.html" title="class in org.apache.calcite.rel.logical"><code>LogicalWindow</code></a>
to a <a href="../../interpreter/Bindables.BindableWindow.html" title="class in org.apache.calcite.interpreter"><code>Bindables.BindableWindow</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/NoneToBindableConverterRule.html" title="class in org.apache.calcite.interpreter">NoneToBindableConverterRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule to convert a relational expression from
<a href="../Convention.html#NONE"><code>Convention.NONE</code></a>
to <a href="../../interpreter/BindableConvention.html" title="enum in org.apache.calcite.interpreter"><code>BindableConvention</code></a>.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../../interpreter/package-summary.html">org.apache.calcite.interpreter</a> declared as <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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>static <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.html#BINDABLE_AGGREGATE_RULE">BINDABLE_AGGREGATE_RULE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.html#BINDABLE_FILTER_RULE">BINDABLE_FILTER_RULE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.html#BINDABLE_JOIN_RULE">BINDABLE_JOIN_RULE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.html#BINDABLE_MATCH_RULE">BINDABLE_MATCH_RULE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.html#BINDABLE_PROJECT_RULE">BINDABLE_PROJECT_RULE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.html#BINDABLE_SORT_RULE">BINDABLE_SORT_RULE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.html#BINDABLE_TABLE_SCAN_RULE">BINDABLE_TABLE_SCAN_RULE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.html#BINDABLE_UNION_RULE">BINDABLE_UNION_RULE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.html#BINDABLE_VALUES_RULE">BINDABLE_VALUES_RULE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.html#BINDABLE_WINDOW_RULE">BINDABLE_WINDOW_RULE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../../interpreter/package-summary.html">org.apache.calcite.interpreter</a> with type parameters of type <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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>static com.google.common.collect.ImmutableList&lt;<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.html#RULES">RULES</a></span></code></th>
<td class="colLast">
<div class="block">All rules that convert logical relational expression to bindable.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.jdbc">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../jdbc/package-summary.html">org.apache.calcite.jdbc</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../jdbc/package-summary.html">org.apache.calcite.jdbc</a> with parameters of type <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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">CalcitePrepare.SparkHandler.RuleSetBuilder.</span><code><span class="memberNameLink"><a href="../../jdbc/CalcitePrepare.SparkHandler.RuleSetBuilder.html#addRule(org.apache.calcite.plan.RelOptRule)">addRule</a></span>&#8203;(<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&nbsp;rule)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepare.SparkHandler.RuleSetBuilder.</span><code><span class="memberNameLink"><a href="../../jdbc/CalcitePrepare.SparkHandler.RuleSetBuilder.html#removeRule(org.apache.calcite.plan.RelOptRule)">removeRule</a></span>&#8203;(<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&nbsp;rule)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.piglet">
<!-- -->
</a>
<h3>Uses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../piglet/package-summary.html">org.apache.calcite.piglet</a></h3>
<table class="useSummary">
<caption><span>Subclasses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../../piglet/package-summary.html">org.apache.calcite.piglet</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="../../piglet/PigToSqlAggregateRule.html" title="class in org.apache.calcite.piglet">PigToSqlAggregateRule</a></span></code></th>
<td class="colLast">
<div class="block">Planner rule that converts Pig aggregate UDF calls to built-in SQL
aggregates.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../../piglet/package-summary.html">org.apache.calcite.piglet</a> with type parameters of type <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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 static java.util.List&lt;<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigConverter.</span><code><span class="memberNameLink"><a href="../../piglet/PigConverter.html#PIG_RULES">PIG_RULES</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.util.List&lt;<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigConverter.</span><code><span class="memberNameLink"><a href="../../piglet/PigConverter.html#TRANSFORM_RULES">TRANSFORM_RULES</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../piglet/package-summary.html">org.apache.calcite.piglet</a> with type arguments of type <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigConverter.</span><code><span class="memberNameLink"><a href="../../piglet/PigConverter.html#resetPlannerRules(org.apache.calcite.plan.RelOptPlanner,java.util.List)">resetPlannerRules</a></span>&#8203;(<a href="../RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
java.util.List&lt;<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;&nbsp;rulesToSet)</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="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../package-summary.html">org.apache.calcite.plan</a></h3>
<table class="useSummary">
<caption><span>Subclasses of <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../package-summary.html">org.apache.calcite.plan</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="../CommonRelSubExprRule.html" title="class in org.apache.calcite.plan">CommonRelSubExprRule</a></span></code></th>
<td class="colLast">
<div class="block">A <code>CommonRelSubExprRule</code> is an abstract base class for rules
that are fired only on relational expressions that appear more than once
in a query tree.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../SubstitutionVisitor.FilterOnProjectRule.html" title="class in org.apache.calcite.plan">SubstitutionVisitor.FilterOnProjectRule</a></span></code></th>
<td class="colLast">
<div class="block">Rule that converts a <a href="../../rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical"><code>LogicalFilter</code></a>
on top of a <a href="../../rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a> into a
trivial filter (on a boolean column).</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../package-summary.html">org.apache.calcite.plan</a> declared as <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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><a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleCall.</span><code><span class="memberNameLink"><a href="../RelOptRuleCall.html#rule">rule</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleOperand.</span><code><span class="memberNameLink"><a href="../RelOptRuleOperand.html#rule">rule</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../package-summary.html">org.apache.calcite.plan</a> with type parameters of type <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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>(package private) static java.util.List&lt;<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRules.</span><code><span class="memberNameLink"><a href="../RelOptRules.html#ABSTRACT_RELATIONAL_RULES">ABSTRACT_RELATIONAL_RULES</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) static java.util.List&lt;<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRules.</span><code><span class="memberNameLink"><a href="../RelOptRules.html#ABSTRACT_RULES">ABSTRACT_RULES</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) static java.util.List&lt;<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRules.</span><code><span class="memberNameLink"><a href="../RelOptRules.html#BASE_RULES">BASE_RULES</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static com.google.common.collect.ImmutableList&lt;<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRules.</span><code><span class="memberNameLink"><a href="../RelOptRules.html#CALC_RULES">CALC_RULES</a></span></code></th>
<td class="colLast">
<div class="block">The calc rule set is public for use from <a href="../../tools/Programs.html" title="class in org.apache.calcite.tools"><code>Programs</code></a></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) static java.util.List&lt;<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRules.</span><code><span class="memberNameLink"><a href="../RelOptRules.html#CONSTANT_REDUCTION_RULES">CONSTANT_REDUCTION_RULES</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.util.Map&lt;java.lang.String,&#8203;<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelOptPlanner.</span><code><span class="memberNameLink"><a href="../AbstractRelOptPlanner.html#mapDescToRule">mapDescToRule</a></span></code></th>
<td class="colLast">
<div class="block">Maps rule description to rule, just to ensure that rules' descriptions
are unique.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) static java.util.List&lt;<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRules.</span><code><span class="memberNameLink"><a href="../RelOptRules.html#MATERIALIZATION_RULES">MATERIALIZATION_RULES</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="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleCall.</span><code><span class="memberNameLink"><a href="../RelOptRuleCall.html#getRule()">getRule</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the invoked planner rule.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleOperand.</span><code><span class="memberNameLink"><a href="../RelOptRuleOperand.html#getRule()">getRule</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the rule this operand belongs to.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelOptPlanner.</span><code><span class="memberNameLink"><a href="../AbstractRelOptPlanner.html#getRuleByDescription(java.lang.String)">getRuleByDescription</a></span>&#8203;(java.lang.String&nbsp;description)</code></th>
<td class="colLast">
<div class="block">Returns the rule with a given description</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../package-summary.html">org.apache.calcite.plan</a> that return types with arguments of type <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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>java.util.List&lt;<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptPlanner.</span><code><span class="memberNameLink"><a href="../RelOptPlanner.html#getRules()">getRules</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the list of all registered rules.</div>
</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="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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">RelOptPlanner.</span><code><span class="memberNameLink"><a href="../RelOptPlanner.html#addRule(org.apache.calcite.plan.RelOptRule)">addRule</a></span>&#8203;(<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&nbsp;rule)</code></th>
<td class="colLast">
<div class="block">Registers a rule.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRule.</span><code><span class="memberNameLink"><a href="../RelOptRule.html#equals(org.apache.calcite.plan.RelOptRule)">equals</a></span>&#8203;(<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&nbsp;that)</code></th>
<td class="colLast">
<div class="block">Returns whether this rule is equal to another rule.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelOptPlanner.</span><code><span class="memberNameLink"><a href="../AbstractRelOptPlanner.html#isRuleExcluded(org.apache.calcite.plan.RelOptRule)">isRuleExcluded</a></span>&#8203;(<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&nbsp;rule)</code></th>
<td class="colLast">
<div class="block">Determines whether a given rule is excluded by ruleDescExclusionFilter.</div>
</td>
</tr>
<tr class="rowColor">
<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#mapRuleDescription(org.apache.calcite.plan.RelOptRule)">mapRuleDescription</a></span>&#8203;(<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&nbsp;rule)</code></th>
<td class="colLast">
<div class="block">Registers a rule's description.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptPlanner.</span><code><span class="memberNameLink"><a href="../RelOptPlanner.html#removeRule(org.apache.calcite.plan.RelOptRule)">removeRule</a></span>&#8203;(<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&nbsp;rule)</code></th>
<td class="colLast">
<div class="block">Removes a rule.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleOperand.</span><code><span class="memberNameLink"><a href="../RelOptRuleOperand.html#setRule(org.apache.calcite.plan.RelOptRule)">setRule</a></span>&#8203;(<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&nbsp;rule)</code></th>
<td class="colLast">
<div class="block">Sets the rule this operand belongs to</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#unmapRuleDescription(org.apache.calcite.plan.RelOptRule)">unmapRuleDescription</a></span>&#8203;(<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&nbsp;rule)</code></th>
<td class="colLast">
<div class="block">Removes the mapping between a rule and its description.</div>
</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="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a> in <a href="../hep/package-summary.html">org.apache.calcite.plan.hep</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../hep/package-summary.html">org.apache.calcite.plan.hep</a> with type parameters of type <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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>(package private) static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../hep/HepInstruction.RuleClass.html" title="class in org.apache.calcite.plan.hep">HepInstruction.RuleClass</a>&lt;R extends <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</span></code></th>
<td class="colLast">
<div class="block">Instruction that executes all rules of a given class.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../hep/package-summary.html">org.apache.calcite.plan.hep</a> declared as <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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>(package private) <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepInstruction.RuleInstance.</span><code><span class="memberNameLink"><a href="../hep/HepInstruction.RuleInstance.html#rule">rule</a></span></code></th>
<td class="colLast">
<div class="block">Explicitly specified rule, or rule looked up by planner from
description.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../hep/package-summary.html">org.apache.calcite.plan.hep</a> with type parameters of type <a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</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 java.util.Set&lt;<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../hep/HepPlanner.html#allRules">allRules</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) java.util.Collection&lt;<a href="../RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepInstruction.RuleCollection.</span><code><span class="memberNameLink"><a href="../hep/HepInstruction.RuleCollection.html#rules">rules</a></span></code></th>
<td class="colLast">
<div </