blob: 7da41fa77e0d7123b34fc92453b25db77e7c7b41 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Uses of Interface org.apache.calcite.rel.RelNode (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 Interface org.apache.calcite.rel.RelNode (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="../RelNode.html" title="interface in org.apache.calcite.rel">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 Interface org.apache.calcite.rel.RelNode" class="title">Uses of Interface<br>org.apache.calcite.rel.RelNode</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">
<li class="blockList">
<table class="useSummary">
<caption><span>Packages that use <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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.file">org.apache.calcite.adapter.file</a></th>
<td class="colLast">
<div class="block">Calcite query provider that reads from web tables (HTML).</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.adapter.geode.rel">org.apache.calcite.adapter.geode.rel</a></th>
<td class="colLast">
<div class="block">Query provider based on Apache Geode (Gemfire) In Memory Data Grid</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.adapter.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="altColor">
<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="rowColor">
<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="altColor">
<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="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.adapter.splunk">org.apache.calcite.adapter.splunk</a></th>
<td class="colLast">
<div class="block">Splunk query provider.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.interpreter">org.apache.calcite.interpreter</a></th>
<td class="colLast">
<div class="block">Provides an implementation of relational expressions using an interpreter.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.jdbc">org.apache.calcite.jdbc</a></th>
<td class="colLast">
<div class="block">JDBC driver for Calcite.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.materialize">org.apache.calcite.materialize</a></th>
<td class="colLast">
<div class="block">Management of materialized query results.</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="../../plan/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">org.apache.calcite.rel</a></th>
<td class="colLast">
<div class="block">Defines relational expressions.</div>
</td>
</tr>
<tr class="rowColor">
<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="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.rel.core">org.apache.calcite.rel.core</a></th>
<td class="colLast">
<div class="block">Defines core relational expressions.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.rel.externalize">org.apache.calcite.rel.externalize</a></th>
<td class="colLast">
<div class="block">Facilities to externalize <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>s to and from
XML and JSON format.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.rel.logical">org.apache.calcite.rel.logical</a></th>
<td class="colLast">
<div class="block">Defines logical relational expressions.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.rel.metadata">org.apache.calcite.rel.metadata</a></th>
<td class="colLast">
<div class="block">Defines metadata interfaces and utilities for relational
expressions.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.rel.mutable">org.apache.calcite.rel.mutable</a></th>
<td class="colLast">
<div class="block">Defines mutable relational expressions.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.rel.rel2sql">org.apache.calcite.rel.rel2sql</a></th>
<td class="colLast">
<div class="block">Translates a relational expression to SQL parse tree.</div>
</td>
</tr>
<tr class="altColor">
<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="rowColor">
<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="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.rex">org.apache.calcite.rex</a></th>
<td class="colLast">
<div class="block">Provides a language for representing row-expressions.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.schema">org.apache.calcite.schema</a></th>
<td class="colLast">
<div class="block">Schema SPI.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.schema.impl">org.apache.calcite.schema.impl</a></th>
<td class="colLast">
<div class="block">Utilities to help implement Calcite's SPIs.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.sql.ddl">org.apache.calcite.sql.ddl</a></th>
<td class="colLast">
<div class="block">Parse tree for SQL DDL statements.</div>
</td>
</tr>
<tr class="altColor">
<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="rowColor">
<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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../adapter/cassandra/package-summary.html">org.apache.calcite.adapter.cassandra</a></h3>
<table class="useSummary">
<caption><span>Subinterfaces of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraRel.html" title="interface in org.apache.calcite.adapter.cassandra">CassandraRel</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that uses Cassandra calling convention.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Classes in <a href="../../adapter/cassandra/package-summary.html">org.apache.calcite.adapter.cassandra</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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/cassandra/CassandraFilter.html" title="class in org.apache.calcite.adapter.cassandra">CassandraFilter</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of a <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>
relational expression in Cassandra.</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/CassandraLimit.html" title="class in org.apache.calcite.adapter.cassandra">CassandraLimit</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of limits in Cassandra.</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/cassandra/CassandraProject.html" title="class in org.apache.calcite.adapter.cassandra">CassandraProject</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>
relational expression in Cassandra.</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/CassandraSort.html" title="class in org.apache.calcite.adapter.cassandra">CassandraSort</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a>
relational expression in Cassandra.</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/cassandra/CassandraTableScan.html" title="class in org.apache.calcite.adapter.cassandra">CassandraTableScan</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression representing a scan of a Cassandra collection.</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/CassandraToEnumerableConverter.html" title="class in org.apache.calcite.adapter.cassandra">CassandraToEnumerableConverter</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression representing a scan of a table in a Cassandra data source.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/cassandra/package-summary.html">org.apache.calcite.adapter.cassandra</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraRules.CassandraFilterRule.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraRules.CassandraFilterRule.html#convert(org.apache.calcite.rel.logical.LogicalFilter,org.apache.calcite.adapter.cassandra.CassandraTableScan)">convert</a></span>&#8203;(<a href="../logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a>&nbsp;filter,
<a href="../../adapter/cassandra/CassandraTableScan.html" title="class in org.apache.calcite.adapter.cassandra">CassandraTableScan</a>&nbsp;scan)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraRules.CassandraLimitRule.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraRules.CassandraLimitRule.html#convert(org.apache.calcite.adapter.enumerable.EnumerableLimit)">convert</a></span>&#8203;(<a href="../../adapter/enumerable/EnumerableLimit.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableLimit</a>&nbsp;limit)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraRules.CassandraProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraRules.CassandraProjectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraRules.CassandraSortRule.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraRules.CassandraSortRule.html#convert(org.apache.calcite.rel.core.Sort,org.apache.calcite.adapter.cassandra.CassandraFilter)">convert</a></span>&#8203;(<a href="../core/Sort.html" title="class in org.apache.calcite.rel.core">Sort</a>&nbsp;sort,
<a href="../../adapter/cassandra/CassandraFilter.html" title="class in org.apache.calcite.adapter.cassandra">CassandraFilter</a>&nbsp;filter)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraToEnumerableConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraToEnumerableConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraTableScan.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraTableScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraToEnumerableConverter.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraToEnumerableConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraTable.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraTable.html#toRel(org.apache.calcite.plan.RelOptTable.ToRelContext,org.apache.calcite.plan.RelOptTable)">toRel</a></span>&#8203;(<a href="../../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a>&nbsp;context,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;relOptTable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/cassandra/package-summary.html">org.apache.calcite.adapter.cassandra</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraRules.CassandraProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraRules.CassandraProjectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraToEnumerableConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraToEnumerableConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../adapter/cassandra/CassandraFilter.html" title="class in org.apache.calcite.adapter.cassandra">CassandraFilter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraFilter.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraFilter.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraProject.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraProject.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../core/Sort.html" title="class in org.apache.calcite.rel.core">Sort</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraSort.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraSort.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;newCollation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</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">CassandraRel.Implementor.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraRel.Implementor.html#visitChild(int,org.apache.calcite.rel.RelNode)">visitChild</a></span>&#8203;(int&nbsp;ordinal,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../adapter/cassandra/package-summary.html">org.apache.calcite.adapter.cassandra</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../../adapter/cassandra/CassandraLimit.html" title="class in org.apache.calcite.adapter.cassandra">CassandraLimit</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraLimit.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraLimit.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;newInputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraTableScan.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraTableScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CassandraToEnumerableConverter.</span><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraToEnumerableConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../adapter/cassandra/package-summary.html">org.apache.calcite.adapter.cassandra</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraFilter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List)">CassandraFilter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
java.util.List&lt;java.lang.String&gt;&nbsp;partitionKeys,
java.util.List&lt;java.lang.String&gt;&nbsp;clusteringKeys,
java.util.List&lt;<a href="../RelFieldCollation.html" title="class in org.apache.calcite.rel">RelFieldCollation</a>&gt;&nbsp;implicitFieldCollations)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraLimit.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">CassandraLimit</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraProject.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">CassandraProject</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraSort.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation)">CassandraSort</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraToEnumerableConverter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">CassandraToEnumerableConverter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructor parameters in <a href="../../adapter/cassandra/package-summary.html">org.apache.calcite.adapter.cassandra</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/cassandra/CassandraRules.CassandraConverterRule.html#%3Cinit%3E(java.lang.Class,java.lang.String)">CassandraConverterRule</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;clazz,
java.lang.String&nbsp;description)</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../adapter/csv/package-summary.html">org.apache.calcite.adapter.csv</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../../adapter/csv/package-summary.html">org.apache.calcite.adapter.csv</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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/CsvTableScan.html" title="class in org.apache.calcite.adapter.csv">CsvTableScan</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression representing a scan of a CSV file.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/csv/package-summary.html">org.apache.calcite.adapter.csv</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CsvTableScan.</span><code><span class="memberNameLink"><a href="../../adapter/csv/CsvTableScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CsvTranslatableTable.</span><code><span class="memberNameLink"><a href="../../adapter/csv/CsvTranslatableTable.html#toRel(org.apache.calcite.plan.RelOptTable.ToRelContext,org.apache.calcite.plan.RelOptTable)">toRel</a></span>&#8203;(<a href="../../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a>&nbsp;context,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;relOptTable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../adapter/csv/package-summary.html">org.apache.calcite.adapter.csv</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CsvTableScan.</span><code><span class="memberNameLink"><a href="../../adapter/csv/CsvTableScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.adapter.druid">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../adapter/druid/package-summary.html">org.apache.calcite.adapter.druid</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../../adapter/druid/package-summary.html">org.apache.calcite.adapter.druid</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid">DruidQuery</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression representing a scan of a Druid data set.</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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) com.google.common.collect.ImmutableList&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidQuery.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidQuery.html#rels">rels</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/druid/package-summary.html">org.apache.calcite.adapter.druid</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidQuery.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidQuery.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidQuery.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidQuery.html#getTopNode()">getTopNode</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidTable.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidTable.html#toRel(org.apache.calcite.plan.RelOptTable.ToRelContext,org.apache.calcite.plan.RelOptTable)">toRel</a></span>&#8203;(<a href="../../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a>&nbsp;context,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;relOptTable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/druid/package-summary.html">org.apache.calcite.adapter.druid</a> that return types with arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 static java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidRules.DruidAggregateProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidAggregateProjectRule.html#constructNewNodes(java.util.List,boolean,int,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode...)">constructNewNodes</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;oldNodes,
boolean&nbsp;addFilter,
int&nbsp;startIndex,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;filter,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>...&nbsp;trailingNodes)</code></th>
<td class="colLast">
<div class="block">Returns a new List of RelNodes in the order of the given order of the oldNodes,
the given <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>, and any extra nodes.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/druid/package-summary.html">org.apache.calcite.adapter.druid</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 static java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidRules.DruidAggregateProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidAggregateProjectRule.html#constructNewNodes(java.util.List,boolean,int,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode...)">constructNewNodes</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;oldNodes,
boolean&nbsp;addFilter,
int&nbsp;startIndex,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;filter,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>...&nbsp;trailingNodes)</code></th>
<td class="colLast">
<div class="block">Returns a new List of RelNodes in the order of the given order of the oldNodes,
the given <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>, and any extra nodes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid">DruidQuery</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidQuery.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidQuery.html#extendQuery(org.apache.calcite.adapter.druid.DruidQuery,org.apache.calcite.rel.RelNode)">extendQuery</a></span>&#8203;(<a href="../../adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid">DruidQuery</a>&nbsp;query,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r)</code></th>
<td class="colLast">
<div class="block">Extends a DruidQuery.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;,&#8203;java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidRules.DruidProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidProjectRule.html#splitProjects(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.RelNode,java.util.List)">splitProjects</a></span>&#8203;(<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../adapter/druid/package-summary.html">org.apache.calcite.adapter.druid</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 static java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidRules.DruidAggregateProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidAggregateProjectRule.html#constructNewNodes(java.util.List,boolean,int,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode...)">constructNewNodes</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;oldNodes,
boolean&nbsp;addFilter,
int&nbsp;startIndex,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;filter,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>...&nbsp;trailingNodes)</code></th>
<td class="colLast">
<div class="block">Returns a new List of RelNodes in the order of the given order of the oldNodes,
the given <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>, and any extra nodes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidQuery.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidQuery.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid">DruidQuery</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidQuery.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidQuery.html#create(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.plan.RelOptTable,org.apache.calcite.adapter.druid.DruidTable,java.util.List)">create</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;table,
<a href="../../adapter/druid/DruidTable.html" title="class in org.apache.calcite.adapter.druid">DruidTable</a>&nbsp;druidTable,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;rels)</code></th>
<td class="colLast">
<div class="block">Creates a DruidQuery.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid">DruidQuery</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidQuery.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidQuery.html#create(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.plan.RelOptTable,org.apache.calcite.adapter.druid.DruidTable,java.util.List,java.util.Map)">create</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;table,
<a href="../../adapter/druid/DruidTable.html" title="class in org.apache.calcite.adapter.druid">DruidTable</a>&nbsp;druidTable,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;rels,
java.util.Map&lt;<a href="../../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>,&#8203;<a href="../../adapter/druid/DruidSqlOperatorConverter.html" title="interface in org.apache.calcite.adapter.druid">DruidSqlOperatorConverter</a>&gt;&nbsp;converterOperatorMap)</code></th>
<td class="colLast">
<div class="block">Creates a DruidQuery.</div>
</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../adapter/elasticsearch/package-summary.html">org.apache.calcite.adapter.elasticsearch</a></h3>
<table class="useSummary">
<caption><span>Subinterfaces of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchRel.html" title="interface in org.apache.calcite.adapter.elasticsearch">ElasticsearchRel</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that uses Elasticsearch calling convention.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Classes in <a href="../../adapter/elasticsearch/package-summary.html">org.apache.calcite.adapter.elasticsearch</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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/elasticsearch/ElasticsearchAggregate.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchAggregate</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of
<a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> relational expression
for ElasticSearch.</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/ElasticsearchFilter.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchFilter</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of a <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>
relational expression in Elasticsearch.</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/elasticsearch/ElasticsearchProject.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchProject</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>
relational expression in Elasticsearch.</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/ElasticsearchSort.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchSort</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a>
relational expression in Elasticsearch.</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/elasticsearch/ElasticsearchTableScan.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchTableScan</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression representing a scan of an Elasticsearch type.</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/ElasticsearchToEnumerableConverter.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchToEnumerableConverter</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression representing a scan of a table in an Elasticsearch data source.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/elasticsearch/package-summary.html">org.apache.calcite.adapter.elasticsearch</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ElasticsearchRules.ElasticsearchFilterRule.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchRules.ElasticsearchFilterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;relNode)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ElasticsearchRules.ElasticsearchProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchRules.ElasticsearchProjectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;relNode)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ElasticsearchRules.ElasticsearchSortRule.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchRules.ElasticsearchSortRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;relNode)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ElasticsearchToEnumerableConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchToEnumerableConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;relNode)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ElasticsearchTableScan.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchTableScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ElasticsearchToEnumerableConverter.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchToEnumerableConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ElasticsearchTable.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchTable.html#toRel(org.apache.calcite.plan.RelOptTable.ToRelContext,org.apache.calcite.plan.RelOptTable)">toRel</a></span>&#8203;(<a href="../../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a>&nbsp;context,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;relOptTable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/elasticsearch/package-summary.html">org.apache.calcite.adapter.elasticsearch</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ElasticsearchRules.ElasticsearchFilterRule.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchRules.ElasticsearchFilterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;relNode)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ElasticsearchRules.ElasticsearchProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchRules.ElasticsearchProjectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;relNode)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ElasticsearchRules.ElasticsearchSortRule.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchRules.ElasticsearchSortRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;relNode)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ElasticsearchToEnumerableConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchToEnumerableConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;relNode)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ElasticsearchAggregate.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchAggregate.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ElasticsearchFilter.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchFilter.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;relTraitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ElasticsearchProject.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchProject.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;relTraitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;relDataType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../core/Sort.html" title="class in org.apache.calcite.rel.core">Sort</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ElasticsearchSort.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchSort.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;relNode,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;relCollation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ElasticsearchRel.Implementor.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchRel.Implementor.html#visitChild(int,org.apache.calcite.rel.RelNode)">visitChild</a></span>&#8203;(int&nbsp;ordinal,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../adapter/elasticsearch/package-summary.html">org.apache.calcite.adapter.elasticsearch</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ElasticsearchTableScan.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchTableScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ElasticsearchToEnumerableConverter.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchToEnumerableConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../adapter/elasticsearch/package-summary.html">org.apache.calcite.adapter.elasticsearch</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchAggregate.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">ElasticsearchAggregate</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">
<div class="block">Creates a ElasticsearchAggregate</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchFilter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">ElasticsearchFilter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchProject.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">ElasticsearchProject</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchSort.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">ElasticsearchSort</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchToEnumerableConverter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">ElasticsearchToEnumerableConverter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructor parameters in <a href="../../adapter/elasticsearch/package-summary.html">org.apache.calcite.adapter.elasticsearch</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/ElasticsearchRules.ElasticsearchConverterRule.html#%3Cinit%3E(java.lang.Class,org.apache.calcite.plan.RelTrait,org.apache.calcite.plan.Convention,java.lang.String)">ElasticsearchConverterRule</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;clazz,
<a href="../../plan/RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>&nbsp;in,
<a href="../../plan/Convention.html" title="interface in org.apache.calcite.plan">Convention</a>&nbsp;out,
java.lang.String&nbsp;description)</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../adapter/enumerable/package-summary.html">org.apache.calcite.adapter.enumerable</a></h3>
<table class="useSummary">
<caption><span>Subinterfaces of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableRel.html" title="interface in org.apache.calcite.adapter.enumerable">EnumerableRel</a></span></code></th>
<td class="colLast">
<div class="block">A relational expression of one of the
<a href="../../adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>EnumerableConvention</code></a> calling
conventions.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Classes in <a href="../../adapter/enumerable/package-summary.html">org.apache.calcite.adapter.enumerable</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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/enumerable/EnumerableAggregate.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableAggregate</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> in
<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/EnumerableBindable.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableBindable</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that converts an enumerable input to interpretable
calling convention.</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/EnumerableCalc.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableCalc</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Calc.html" title="class in org.apache.calcite.rel.core"><code>Calc</code></a> in
<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/EnumerableCollect.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableCollect</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Collect.html" title="class in org.apache.calcite.rel.core"><code>Collect</code></a> in
<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/EnumerableCorrelate.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableCorrelate</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Correlate.html" title="class in org.apache.calcite.rel.core"><code>Correlate</code></a> in
<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/EnumerableFilter.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableFilter</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> in
<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/EnumerableInterpretable.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableInterpretable</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that converts an enumerable input to interpretable
calling convention.</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/EnumerableInterpreter.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableInterpreter</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that executes its children using an interpreter.</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/EnumerableIntersect.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableIntersect</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Intersect.html" title="class in org.apache.calcite.rel.core"><code>Intersect</code></a> in
<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/EnumerableJoin.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableJoin</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> in
<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/EnumerableLimit.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableLimit</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that applies a limit and/or offset to its input.</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/EnumerableMergeJoin.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableMergeJoin</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> in
<a href="../../adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a> using
a merge algorithm.</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/EnumerableMinus.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableMinus</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Minus.html" title="class in org.apache.calcite.rel.core"><code>Minus</code></a> in
<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/EnumerableProject.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableProject</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> in
<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/EnumerableSemiJoin.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableSemiJoin</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/SemiJoin.html" title="class in org.apache.calcite.rel.core"><code>SemiJoin</code></a> in
<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/EnumerableSort.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableSort</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> in
<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/EnumerableTableFunctionScan.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableTableFunctionScan</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/TableFunctionScan.html" title="class in org.apache.calcite.rel.core"><code>TableFunctionScan</code></a> in
<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/EnumerableTableModify.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableTableModify</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/TableModify.html" title="class in org.apache.calcite.rel.core"><code>TableModify</code></a> in
<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/EnumerableTableScan.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableTableScan</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a> in
<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/EnumerableThetaJoin.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableThetaJoin</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> in
<a href="../../adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>
that allows conditions that are not just <code>=</code> (equals).</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/EnumerableUncollect.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableUncollect</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Uncollect.html" title="class in org.apache.calcite.rel.core"><code>Uncollect</code></a> in
<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/EnumerableUnion.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableUnion</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Union.html" title="class in org.apache.calcite.rel.core"><code>Union</code></a> in
<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/EnumerableValues.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableValues</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Values.html" title="class in org.apache.calcite.rel.core"><code>Values</code></a> in
<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/EnumerableWindow.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableWindow</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Window.html" title="class in org.apache.calcite.rel.core"><code>Window</code></a> in
<a href="../../adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>enumerable calling convention</code></a>.</div>
</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 <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableAggregateRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableAggregateRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableBindable.EnumerableToBindableConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableBindable.EnumerableToBindableConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableCalcRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableCalcRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableCollectRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableCollectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableCorrelateRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableCorrelateRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableFilterRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableFilterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableInterpreterRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableInterpreterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableIntersectRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableIntersectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableJoinRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableJoinRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableMergeJoinRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableMergeJoinRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableMinusRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableMinusRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableProjectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableSemiJoinRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableSemiJoinRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableSortRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableSortRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableTableFunctionScanRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableTableFunctionScanRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableTableModifyRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableTableModifyRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableTableScanRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableTableScanRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableUncollectRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableUncollectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableUnionRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableUnionRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableValuesRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableValuesRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableWindowRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableWindowRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableInterpreter.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableInterpreter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableTableModify.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableTableModify.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableTableScan.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableTableScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableValues.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableValues.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableWindow.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableWindow.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableProject.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableProject.html#create(org.apache.calcite.rel.RelNode,java.util.List,java.util.List)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames)</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> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableAggregateRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableAggregateRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableBindable.EnumerableToBindableConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableBindable.EnumerableToBindableConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableCalcRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableCalcRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableCollectRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableCollectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableCorrelateRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableCorrelateRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableFilterRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableFilterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableInterpreterRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableInterpreterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableIntersectRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableIntersectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableJoinRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableJoinRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableMergeJoinRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableMergeJoinRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableMinusRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableMinusRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableProjectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableSemiJoinRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableSemiJoinRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableSortRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableSortRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableTableFunctionScanRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableTableFunctionScanRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableTableModifyRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableTableModifyRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableTableScanRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableTableScanRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableUncollectRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableUncollectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableUnionRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableUnionRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableValuesRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableValuesRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableWindowRule.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableWindowRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../adapter/enumerable/EnumerableAggregate.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableAggregate</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableAggregate.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableAggregate.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../adapter/enumerable/EnumerableCalc.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableCalc</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableCalc.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableCalc.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../adapter/enumerable/EnumerableCollect.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableCollect</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableCollect.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableCollect.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newInput)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../adapter/enumerable/EnumerableCorrelate.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableCorrelate</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableCorrelate.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableCorrelate.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.sql.SemiJoinType)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlationId,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;requiredColumns,
<a href="../../sql/SemiJoinType.html" title="enum in org.apache.calcite.sql">SemiJoinType</a>&nbsp;joinType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../adapter/enumerable/EnumerableFilter.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableFilter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableFilter.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableFilter.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../adapter/enumerable/EnumerableJoin.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableJoin.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableJoin.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.JoinRelType,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../adapter/enumerable/EnumerableMergeJoin.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableMergeJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableMergeJoin.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableMergeJoin.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.JoinRelType,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../adapter/enumerable/EnumerableProject.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableProject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableProject.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableProject.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../core/SemiJoin.html" title="class in org.apache.calcite.rel.core">SemiJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableSemiJoin.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableSemiJoin.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.JoinRelType,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../adapter/enumerable/EnumerableSort.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableSort</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableSort.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableSort.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newInput,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;newCollation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../adapter/enumerable/EnumerableThetaJoin.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableThetaJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableThetaJoin.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableThetaJoin.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.JoinRelType,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../adapter/enumerable/EnumerableUncollect.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableUncollect</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableUncollect.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableUncollect.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newInput)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../adapter/enumerable/EnumerableCalc.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableCalc</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableCalc.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableCalc.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program)</code></th>
<td class="colLast">
<div class="block">Creates an EnumerableCalc.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../adapter/enumerable/EnumerableFilter.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableFilter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableFilter.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableFilter.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">
<div class="block">Creates an EnumerableFilter.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../adapter/enumerable/EnumerableInterpreter.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableInterpreter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableInterpreter.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableInterpreter.html#create(org.apache.calcite.rel.RelNode,double)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
double&nbsp;factor)</code></th>
<td class="colLast">
<div class="block">Creates an EnumerableInterpreter.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../adapter/enumerable/EnumerableJoin.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableJoin.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableJoin.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.util.ImmutableIntList,java.util.Set,org.apache.calcite.rel.core.JoinRelType)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;leftKeys,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;rightKeys,
java.util.Set&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType)</code></th>
<td class="colLast">
<div class="block">Creates an EnumerableJoin.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../adapter/enumerable/EnumerableJoin.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableJoin.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableJoin.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.rel.core.JoinRelType,java.util.Set)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;leftKeys,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;rightKeys,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../adapter/enumerable/EnumerableLimit.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableLimit</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableLimit.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableLimit.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">
<div class="block">Creates an EnumerableLimit.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../adapter/enumerable/EnumerableMergeJoin.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableMergeJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableMergeJoin.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableMergeJoin.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexLiteral,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.rel.core.JoinRelType)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a>&nbsp;condition,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;leftKeys,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;rightKeys,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableProject.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableProject.html#create(org.apache.calcite.rel.RelNode,java.util.List,java.util.List)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../adapter/enumerable/EnumerableProject.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableProject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableProject.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableProject.html#create(org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">
<div class="block">Creates an EnumerableProject, specifying row type rather than field
names.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../adapter/enumerable/EnumerableSemiJoin.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableSemiJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableSemiJoin.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableSemiJoin.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.util.ImmutableIntList)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;leftKeys,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;rightKeys)</code></th>
<td class="colLast">
<div class="block">Creates an EnumerableSemiJoin.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../adapter/enumerable/EnumerableSort.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableSort</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableSort.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableSort.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">
<div class="block">Creates an EnumerableSort.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../adapter/enumerable/EnumerableUncollect.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableUncollect</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableUncollect.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableUncollect.html#create(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean)">create</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;withOrdinality)</code></th>
<td class="colLast">
<div class="block">Creates an EnumerableUncollect.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../adapter/enumerable/package-summary.html">org.apache.calcite.adapter.enumerable</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../../adapter/enumerable/EnumerableBindable.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableBindable</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableBindable.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableBindable.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../adapter/enumerable/EnumerableInterpretable.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableInterpretable</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableInterpretable.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableInterpretable.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableInterpreter.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableInterpreter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../adapter/enumerable/EnumerableIntersect.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableIntersect</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableIntersect.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableIntersect.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../adapter/enumerable/EnumerableLimit.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableLimit</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableLimit.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableLimit.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;newInputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../adapter/enumerable/EnumerableMinus.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableMinus</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableMinus.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableMinus.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../adapter/enumerable/EnumerableTableFunctionScan.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableTableFunctionScan</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableTableFunctionScan.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableTableFunctionScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List,org.apache.calcite.rex.RexNode,java.lang.reflect.Type,org.apache.calcite.rel.type.RelDataType,java.util.Set)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;rexCall,
java.lang.reflect.Type&nbsp;elementType,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.util.Set&lt;<a href="../metadata/RelColumnMapping.html" title="class in org.apache.calcite.rel.metadata">RelColumnMapping</a>&gt;&nbsp;columnMappings)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableTableModify.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableTableModify.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableTableScan.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableTableScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../adapter/enumerable/EnumerableUnion.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableUnion</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableUnion.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableUnion.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableValues.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableValues.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableWindow.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableWindow.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../adapter/enumerable/package-summary.html">org.apache.calcite.adapter.enumerable</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableAggregate.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">EnumerableAggregate</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableBindable.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.RelNode)">EnumerableBindable</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableCalc.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram)">EnumerableCalc</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program)</code></th>
<td class="colLast">
<div class="block">Creates an EnumerableCalc.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableCalc.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram,java.util.List)">EnumerableCalc</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program,
java.util.List&lt;<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&gt;&nbsp;collationList)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableCollect.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.lang.String)">EnumerableCollect</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.lang.String&nbsp;fieldName)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableCorrelate.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.sql.SemiJoinType)">EnumerableCorrelate</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlationId,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;requiredColumns,
<a href="../../sql/SemiJoinType.html" title="enum in org.apache.calcite.sql">SemiJoinType</a>&nbsp;joinType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableFilter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">EnumerableFilter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">
<div class="block">Creates an EnumerableFilter.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableInterpretable.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.RelNode)">EnumerableInterpretable</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableInterpreter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,double)">EnumerableInterpreter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
double&nbsp;factor)</code></th>
<td class="colLast">
<div class="block">Creates an EnumerableInterpreter.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.util.ImmutableIntList,java.util.Set,org.apache.calcite.rel.core.JoinRelType)">EnumerableJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;leftKeys,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;rightKeys,
java.util.Set&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType)</code></th>
<td class="colLast">
<div class="block">Creates an EnumerableJoin.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.rel.core.JoinRelType,java.util.Set)">EnumerableJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;leftKeys,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;rightKeys,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableLimit.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">EnumerableLimit</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">
<div class="block">Creates an EnumerableLimit.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableMergeJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.util.ImmutableIntList,java.util.Set,org.apache.calcite.rel.core.JoinRelType)">EnumerableMergeJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;leftKeys,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;rightKeys,
java.util.Set&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableMergeJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.rel.core.JoinRelType,java.util.Set)">EnumerableMergeJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;leftKeys,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;rightKeys,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableProject.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">EnumerableProject</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">
<div class="block">Creates an EnumerableProject.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableProject.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType,int)">EnumerableProject</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
int&nbsp;flags)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableSemiJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.util.ImmutableIntList)">EnumerableSemiJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;leftKeys,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;rightKeys)</code></th>
<td class="colLast">
<div class="block">Creates an EnumerableSemiJoin.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableSort.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">EnumerableSort</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">
<div class="block">Creates an EnumerableSort.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableTableModify.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.plan.RelOptTable,org.apache.calcite.prepare.Prepare.CatalogReader,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.TableModify.Operation,java.util.List,java.util.List,boolean)">EnumerableTableModify</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;table,
<a href="../../prepare/Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a>&nbsp;catalogReader,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../core/TableModify.Operation.html" title="enum in org.apache.calcite.rel.core">TableModify.Operation</a>&nbsp;operation,
java.util.List&lt;java.lang.String&gt;&nbsp;updateColumnList,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;sourceExpressionList,
boolean&nbsp;flattened)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableThetaJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.Set,org.apache.calcite.rel.core.JoinRelType)">EnumerableThetaJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
java.util.Set&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType)</code></th>
<td class="colLast">
<div class="block">Creates an EnumerableThetaJoin.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableThetaJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType,java.util.Set)">EnumerableThetaJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableUncollect.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">EnumerableUncollect</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableUncollect.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean)">EnumerableUncollect</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
boolean&nbsp;withOrdinality)</code></th>
<td class="colLast">
<div class="block">Creates an EnumerableUncollect.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableWindow.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType,java.util.List)">EnumerableWindow</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.util.List&lt;<a href="../../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a>&gt;&nbsp;constants,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.util.List&lt;<a href="../core/Window.Group.html" title="class in org.apache.calcite.rel.core">Window.Group</a>&gt;&nbsp;groups)</code></th>
<td class="colLast">
<div class="block">Creates an EnumerableWindowRel.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructor parameters in <a href="../../adapter/enumerable/package-summary.html">org.apache.calcite.adapter.enumerable</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableIntersect.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">EnumerableIntersect</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableMinus.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">EnumerableMinus</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableTableFunctionScan.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,java.util.List,java.lang.reflect.Type,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rex.RexNode,java.util.Set)">EnumerableTableFunctionScan</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
java.lang.reflect.Type&nbsp;elementType,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;call,
java.util.Set&lt;<a href="../metadata/RelColumnMapping.html" title="class in org.apache.calcite.rel.metadata">RelColumnMapping</a>&gt;&nbsp;columnMappings)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableUnion.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">EnumerableUnion</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.adapter.file">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../adapter/file/package-summary.html">org.apache.calcite.adapter.file</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../../adapter/file/package-summary.html">org.apache.calcite.adapter.file</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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/file/FileTableScan.html" title="class in org.apache.calcite.adapter.file">FileTableScan</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression representing a scan of an HTML table.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/file/package-summary.html">org.apache.calcite.adapter.file</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">FileTableScan.</span><code><span class="memberNameLink"><a href="../../adapter/file/FileTableScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">FileTable.</span><code><span class="memberNameLink"><a href="../../adapter/file/FileTable.html#toRel(org.apache.calcite.plan.RelOptTable.ToRelContext,org.apache.calcite.plan.RelOptTable)">toRel</a></span>&#8203;(<a href="../../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a>&nbsp;context,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;relOptTable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../adapter/file/package-summary.html">org.apache.calcite.adapter.file</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">FileTableScan.</span><code><span class="memberNameLink"><a href="../../adapter/file/FileTableScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../adapter/geode/rel/package-summary.html">org.apache.calcite.adapter.geode.rel</a></h3>
<table class="useSummary">
<caption><span>Subinterfaces of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeRel.html" title="interface in org.apache.calcite.adapter.geode.rel">GeodeRel</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that uses Geode calling convention.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Classes in <a href="../../adapter/geode/rel/package-summary.html">org.apache.calcite.adapter.geode.rel</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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/geode/rel/GeodeAggregate.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeAggregate</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of
<a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> relational expression
in Geode.</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/GeodeFilter.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeFilter</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of
<a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> relational expression in Geode.</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/geode/rel/GeodeProject.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeProject</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>
relational expression in Geode.</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/GeodeSort.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeSort</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of
<a href="../core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a>
relational expression in Geode.</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/geode/rel/GeodeTableScan.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeTableScan</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression representing a scan of a Geode collection.</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/GeodeToEnumerableConverter.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeToEnumerableConverter</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression representing a scan of a table in a Geode data source.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/geode/rel/package-summary.html">org.apache.calcite.adapter.geode.rel</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeRules.GeodeAggregateRule.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeRules.GeodeAggregateRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeRules.GeodeFilterRule.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeRules.GeodeFilterRule.html#convert(org.apache.calcite.rel.logical.LogicalFilter,org.apache.calcite.adapter.geode.rel.GeodeTableScan)">convert</a></span>&#8203;(<a href="../logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a>&nbsp;filter,
<a href="../../adapter/geode/rel/GeodeTableScan.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeTableScan</a>&nbsp;scan)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeRules.GeodeProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeRules.GeodeProjectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeToEnumerableConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeToEnumerableConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeTableScan.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeTableScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeToEnumerableConverter.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeToEnumerableConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeTable.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeTable.html#toRel(org.apache.calcite.plan.RelOptTable.ToRelContext,org.apache.calcite.plan.RelOptTable)">toRel</a></span>&#8203;(<a href="../../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a>&nbsp;context,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;relOptTable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/geode/rel/package-summary.html">org.apache.calcite.adapter.geode.rel</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeRules.GeodeAggregateRule.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeRules.GeodeAggregateRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeRules.GeodeProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeRules.GeodeProjectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeToEnumerableConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeToEnumerableConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeAggregate.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeAggregate.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../adapter/geode/rel/GeodeFilter.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeFilter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeFilter.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeFilter.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeProject.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeProject.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../core/Sort.html" title="class in org.apache.calcite.rel.core">Sort</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeSort.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeSort.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;newCollation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeRel.GeodeImplementContext.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeRel.GeodeImplementContext.html#visitChild(org.apache.calcite.rel.RelNode)">visitChild</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../adapter/geode/rel/package-summary.html">org.apache.calcite.adapter.geode.rel</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeTableScan.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeTableScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeToEnumerableConverter.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeToEnumerableConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../adapter/geode/rel/package-summary.html">org.apache.calcite.adapter.geode.rel</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeAggregate.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">GeodeAggregate</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">
<div class="block">Creates a GeodeAggregate.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeFilter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">GeodeFilter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeProject.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">GeodeProject</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeSort.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode)">GeodeSort</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">
<div class="block">Creates a GeodeSort.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeToEnumerableConverter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">GeodeToEnumerableConverter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructor parameters in <a href="../../adapter/geode/rel/package-summary.html">org.apache.calcite.adapter.geode.rel</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeRules.GeodeConverterRule.html#%3Cinit%3E(java.lang.Class,java.lang.String)">GeodeConverterRule</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;clazz,
java.lang.String&nbsp;description)</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../adapter/jdbc/package-summary.html">org.apache.calcite.adapter.jdbc</a></h3>
<table class="useSummary">
<caption><span>Subinterfaces of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRel.html" title="interface in org.apache.calcite.adapter.jdbc">JdbcRel</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that uses JDBC calling convention.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Classes in <a href="../../adapter/jdbc/package-summary.html">org.apache.calcite.adapter.jdbc</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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.JdbcAggregate.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcAggregate</a></span></code></th>
<td class="colLast">
<div class="block">Aggregate operator implemented in JDBC 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/jdbc/JdbcRules.JdbcCalc.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcCalc</a></span></code></th>
<td class="colLast">
<div class="block">Calc operator implemented in JDBC 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="../../adapter/jdbc/JdbcRules.JdbcFilter.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcFilter</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> in
<a href="../../adapter/jdbc/JdbcConvention.html" title="class in org.apache.calcite.adapter.jdbc"><code>jdbc calling convention</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.JdbcIntersect.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcIntersect</a></span></code></th>
<td class="colLast">
<div class="block">Intersect operator implemented in JDBC 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="../../adapter/jdbc/JdbcRules.JdbcJoin.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcJoin</a></span></code></th>
<td class="colLast">
<div class="block">Join operator implemented in JDBC 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/jdbc/JdbcRules.JdbcMinus.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcMinus</a></span></code></th>
<td class="colLast">
<div class="block">Minus operator implemented in JDBC 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="../../adapter/jdbc/JdbcRules.JdbcProject.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcProject</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> in
<a href="../../adapter/jdbc/JdbcConvention.html" title="class in org.apache.calcite.adapter.jdbc"><code>jdbc calling convention</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.JdbcSort.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcSort</a></span></code></th>
<td class="colLast">
<div class="block">Sort operator implemented in JDBC 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="../../adapter/jdbc/JdbcRules.JdbcTableModify.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcTableModify</a></span></code></th>
<td class="colLast">
<div class="block">Table-modification operator implemented in JDBC 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/jdbc/JdbcRules.JdbcUnion.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcUnion</a></span></code></th>
<td class="colLast">
<div class="block">Union operator implemented in JDBC 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="../../adapter/jdbc/JdbcRules.JdbcValues.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcValues</a></span></code></th>
<td class="colLast">
<div class="block">Values operator implemented in JDBC convention.</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/jdbc/JdbcTableScan.html" title="class in org.apache.calcite.adapter.jdbc">JdbcTableScan</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression representing a scan of a table in a JDBC data source.</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/JdbcToEnumerableConverter.html" title="class in org.apache.calcite.adapter.jdbc">JdbcToEnumerableConverter</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression representing a scan of a table in a JDBC data source.</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 <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcAggregateRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcAggregateRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcCalcRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcCalcRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcFilterRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcFilterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcIntersectRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcIntersectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcJoinRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcJoinRule.html#convert(org.apache.calcite.rel.core.Join,boolean)">convert</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;join,
boolean&nbsp;convertInputTraits)</code></th>
<td class="colLast">
<div class="block">Converts a <code>Join</code> into a <code>JdbcJoin</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcJoinRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcJoinRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcMinusRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcMinusRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcProjectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcSortRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcSortRule.html#convert(org.apache.calcite.rel.core.Sort,boolean)">convert</a></span>&#8203;(<a href="../core/Sort.html" title="class in org.apache.calcite.rel.core">Sort</a>&nbsp;sort,
boolean&nbsp;convertInputTraits)</code></th>
<td class="colLast">
<div class="block">Converts a <code>Sort</code> into a <code>JdbcSort</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcSortRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcSortRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcTableModificationRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcTableModificationRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcUnionRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcUnionRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcValuesRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcValuesRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcToEnumerableConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcToEnumerableConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcCalc.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcCalc.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcTableModify.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcTableModify.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcValues.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcValues.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcTableScan.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcTableScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcToEnumerableConverter.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcToEnumerableConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcTable.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcTable.html#toRel(org.apache.calcite.plan.RelOptTable.ToRelContext,org.apache.calcite.plan.RelOptTable)">toRel</a></span>&#8203;(<a href="../../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a>&nbsp;context,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;relOptTable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/jdbc/package-summary.html">org.apache.calcite.adapter.jdbc</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcAggregateRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcAggregateRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcCalcRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcCalcRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcFilterRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcFilterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcIntersectRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcIntersectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcJoinRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcJoinRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcMinusRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcMinusRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcProjectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcSortRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcSortRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcTableModificationRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcTableModificationRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcUnionRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcUnionRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcValuesRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcValuesRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcToEnumerableConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcToEnumerableConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../adapter/jdbc/JdbcRules.JdbcAggregate.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcAggregate</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcAggregate.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcAggregate.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../adapter/jdbc/JdbcRules.JdbcFilter.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcFilter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcFilter.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcFilter.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../adapter/jdbc/JdbcRules.JdbcJoin.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcJoin.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcJoin.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.JoinRelType,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../adapter/jdbc/JdbcRules.JdbcProject.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcProject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcProject.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcProject.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../adapter/jdbc/JdbcRules.JdbcSort.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcSort</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcSort.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcSort.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newInput,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;newCollation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../rel2sql/SqlImplementor.Result.html" title="class in org.apache.calcite.rel.rel2sql">SqlImplementor.Result</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcImplementor.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcImplementor.html#implement(org.apache.calcite.rel.RelNode)">implement</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../core/TableModify.html" title="class in org.apache.calcite.rel.core">TableModify</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcTable.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcTable.html#toModificationRel(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptTable,org.apache.calcite.prepare.Prepare.CatalogReader,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.TableModify.Operation,java.util.List,java.util.List,boolean)">toModificationRel</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;table,
<a href="../../prepare/Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a>&nbsp;catalogReader,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../core/TableModify.Operation.html" title="enum in org.apache.calcite.rel.core">TableModify.Operation</a>&nbsp;operation,
java.util.List&lt;java.lang.String&gt;&nbsp;updateColumnList,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;sourceExpressionList,
boolean&nbsp;flattened)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../adapter/jdbc/package-summary.html">org.apache.calcite.adapter.jdbc</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcCalc.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcCalc.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../adapter/jdbc/JdbcRules.JdbcIntersect.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcIntersect</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcIntersect.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcIntersect.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../adapter/jdbc/JdbcRules.JdbcMinus.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcMinus</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcMinus.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcMinus.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcTableModify.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcTableModify.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../adapter/jdbc/JdbcRules.JdbcUnion.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcUnion</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcUnion.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcUnion.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcRules.JdbcValues.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcValues.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcTableScan.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcTableScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcToEnumerableConverter.</span><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcToEnumerableConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../adapter/jdbc/package-summary.html">org.apache.calcite.adapter.jdbc</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcAggregate.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">JdbcAggregate</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcCalc.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram)">JdbcCalc</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcCalc.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram,int)">JdbcCalc</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program,
int&nbsp;flags)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcFilter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">JdbcFilter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.Set,org.apache.calcite.rel.core.JoinRelType)">JdbcJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
java.util.Set&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType)</code></th>
<td class="colLast">
<div class="block">Creates a JdbcJoin.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType,java.util.Set)">JdbcJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcProject.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">JdbcProject</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcProject.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType,int)">JdbcProject</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
int&nbsp;flags)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcSort.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">JdbcSort</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcTableModify.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.plan.RelOptTable,org.apache.calcite.prepare.Prepare.CatalogReader,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.TableModify.Operation,java.util.List,java.util.List,boolean)">JdbcTableModify</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;table,
<a href="../../prepare/Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a>&nbsp;catalogReader,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../core/TableModify.Operation.html" title="enum in org.apache.calcite.rel.core">TableModify.Operation</a>&nbsp;operation,
java.util.List&lt;java.lang.String&gt;&nbsp;updateColumnList,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;sourceExpressionList,
boolean&nbsp;flattened)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcToEnumerableConverter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">JdbcToEnumerableConverter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructor parameters in <a href="../../adapter/jdbc/package-summary.html">org.apache.calcite.adapter.jdbc</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcConverterRule.html#%3Cinit%3E(java.lang.Class,org.apache.calcite.plan.RelTrait,org.apache.calcite.adapter.jdbc.JdbcConvention,java.lang.String)">JdbcConverterRule</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;clazz,
<a href="../../plan/RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>&nbsp;in,
<a href="../../adapter/jdbc/JdbcConvention.html" title="class in org.apache.calcite.adapter.jdbc">JdbcConvention</a>&nbsp;out,
java.lang.String&nbsp;description)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcIntersect.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">JdbcIntersect</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcMinus.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">JdbcMinus</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/jdbc/JdbcRules.JdbcUnion.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">JdbcUnion</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../adapter/mongodb/package-summary.html">org.apache.calcite.adapter.mongodb</a></h3>
<table class="useSummary">
<caption><span>Subinterfaces of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoRel.html" title="interface in org.apache.calcite.adapter.mongodb">MongoRel</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that uses Mongo calling convention.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Classes in <a href="../../adapter/mongodb/package-summary.html">org.apache.calcite.adapter.mongodb</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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/mongodb/MongoAggregate.html" title="class in org.apache.calcite.adapter.mongodb">MongoAggregate</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of
<a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> relational expression
in MongoDB.</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/MongoFilter.html" title="class in org.apache.calcite.adapter.mongodb">MongoFilter</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of a <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>
relational expression in MongoDB.</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/mongodb/MongoProject.html" title="class in org.apache.calcite.adapter.mongodb">MongoProject</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>
relational expression in MongoDB.</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/MongoSort.html" title="class in org.apache.calcite.adapter.mongodb">MongoSort</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a>
relational expression in MongoDB.</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/mongodb/MongoTableScan.html" title="class in org.apache.calcite.adapter.mongodb">MongoTableScan</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression representing a scan of a MongoDB collection.</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/MongoToEnumerableConverter.html" title="class in org.apache.calcite.adapter.mongodb">MongoToEnumerableConverter</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression representing a scan of a table in a Mongo data source.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/mongodb/package-summary.html">org.apache.calcite.adapter.mongodb</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MongoRules.MongoFilterRule.</span><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoRules.MongoFilterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MongoRules.MongoProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoRules.MongoProjectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MongoRules.MongoSortRule.</span><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoRules.MongoSortRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MongoToEnumerableConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoToEnumerableConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MongoTableScan.</span><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoTableScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MongoToEnumerableConverter.</span><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoToEnumerableConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MongoTable.</span><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoTable.html#toRel(org.apache.calcite.plan.RelOptTable.ToRelContext,org.apache.calcite.plan.RelOptTable)">toRel</a></span>&#8203;(<a href="../../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a>&nbsp;context,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;relOptTable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/mongodb/package-summary.html">org.apache.calcite.adapter.mongodb</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MongoRules.MongoFilterRule.</span><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoRules.MongoFilterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MongoRules.MongoProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoRules.MongoProjectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MongoRules.MongoSortRule.</span><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoRules.MongoSortRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MongoToEnumerableConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoToEnumerableConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MongoAggregate.</span><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoAggregate.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../adapter/mongodb/MongoFilter.html" title="class in org.apache.calcite.adapter.mongodb">MongoFilter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MongoFilter.</span><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoFilter.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MongoProject.</span><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoProject.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../core/Sort.html" title="class in org.apache.calcite.rel.core">Sort</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MongoSort.</span><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoSort.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;newCollation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</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">MongoRel.Implementor.</span><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoRel.Implementor.html#visitChild(int,org.apache.calcite.rel.RelNode)">visitChild</a></span>&#8203;(int&nbsp;ordinal,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../adapter/mongodb/package-summary.html">org.apache.calcite.adapter.mongodb</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MongoTableScan.</span><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoTableScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MongoToEnumerableConverter.</span><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoToEnumerableConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../adapter/mongodb/package-summary.html">org.apache.calcite.adapter.mongodb</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoAggregate.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">MongoAggregate</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoFilter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">MongoFilter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoProject.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">MongoProject</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoProject.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType,int)">MongoProject</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
int&nbsp;flags)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoSort.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">MongoSort</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoToEnumerableConverter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">MongoToEnumerableConverter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructor parameters in <a href="../../adapter/mongodb/package-summary.html">org.apache.calcite.adapter.mongodb</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/mongodb/MongoRules.MongoConverterRule.html#%3Cinit%3E(java.lang.Class,org.apache.calcite.plan.RelTrait,org.apache.calcite.plan.Convention,java.lang.String)">MongoConverterRule</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;clazz,
<a href="../../plan/RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>&nbsp;in,
<a href="../../plan/Convention.html" title="interface in org.apache.calcite.plan">Convention</a>&nbsp;out,
java.lang.String&nbsp;description)</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../adapter/pig/package-summary.html">org.apache.calcite.adapter.pig</a></h3>
<table class="useSummary">
<caption><span>Subinterfaces of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/pig/PigRel.html" title="interface in org.apache.calcite.adapter.pig">PigRel</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that uses the Pig calling convention.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Classes in <a href="../../adapter/pig/package-summary.html">org.apache.calcite.adapter.pig</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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/pig/PigAggregate.html" title="class in org.apache.calcite.adapter.pig">PigAggregate</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> in
<a href="../../adapter/pig/PigRel.html#CONVENTION"><code>Pig 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/pig/PigFilter.html" title="class in org.apache.calcite.adapter.pig">PigFilter</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> in
<a href="../../adapter/pig/PigRel.html#CONVENTION"><code>Pig 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/pig/PigJoin.html" title="class in org.apache.calcite.adapter.pig">PigJoin</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> in
<a href="../../adapter/pig/PigRel.html#CONVENTION"><code>Pig 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/pig/PigProject.html" title="class in org.apache.calcite.adapter.pig">PigProject</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> in
<a href="../../adapter/pig/PigRel.html#CONVENTION"><code>Pig 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/pig/PigTableScan.html" title="class in org.apache.calcite.adapter.pig">PigTableScan</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a> in
<a href="../../adapter/pig/PigRel.html#CONVENTION"><code>Pig 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/pig/PigToEnumerableConverter.html" title="class in org.apache.calcite.adapter.pig">PigToEnumerableConverter</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression representing a scan of a table in a Pig data source.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/pig/package-summary.html">org.apache.calcite.adapter.pig</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRules.PigAggregateRule.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRules.PigAggregateRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRules.PigFilterRule.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRules.PigFilterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRules.PigJoinRule.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRules.PigJoinRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRules.PigProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRules.PigProjectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRules.PigTableScanRule.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRules.PigTableScanRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigToEnumerableConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigToEnumerableConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigToEnumerableConverter.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigToEnumerableConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelFactories.PigAggregateFactory.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRelFactories.PigAggregateFactory.html#createAggregate(org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,com.google.common.collect.ImmutableList,java.util.List)">createAggregate</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
com.google.common.collect.ImmutableList&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelFactories.PigFilterFactory.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRelFactories.PigFilterFactory.html#createFilter(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">createFilter</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelFactories.PigJoinFactory.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRelFactories.PigJoinFactory.html#createJoin(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.Set,org.apache.calcite.rel.core.JoinRelType,boolean)">createJoin</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
java.util.Set&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelFactories.PigJoinFactory.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRelFactories.PigJoinFactory.html#createJoin(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType,java.util.Set,boolean)">createJoin</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelFactories.PigTableScanFactory.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRelFactories.PigTableScanFactory.html#createScan(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptTable)">createScan</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;table)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigTable.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigTable.html#toRel(org.apache.calcite.plan.RelOptTable.ToRelContext,org.apache.calcite.plan.RelOptTable)">toRel</a></span>&#8203;(<a href="../../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a>&nbsp;context,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;relOptTable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/pig/package-summary.html">org.apache.calcite.adapter.pig</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRules.PigAggregateRule.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRules.PigAggregateRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRules.PigFilterRule.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRules.PigFilterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRules.PigJoinRule.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRules.PigJoinRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRules.PigProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRules.PigProjectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRules.PigTableScanRule.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRules.PigTableScanRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigToEnumerableConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigToEnumerableConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigAggregate.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigAggregate.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigFilter.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigFilter.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigJoin.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigJoin.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.JoinRelType,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;conditionExpr,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigProject.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigProject.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelFactories.PigAggregateFactory.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRelFactories.PigAggregateFactory.html#createAggregate(org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,com.google.common.collect.ImmutableList,java.util.List)">createAggregate</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
com.google.common.collect.ImmutableList&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelFactories.PigFilterFactory.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRelFactories.PigFilterFactory.html#createFilter(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">createFilter</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelFactories.PigJoinFactory.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRelFactories.PigJoinFactory.html#createJoin(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.Set,org.apache.calcite.rel.core.JoinRelType,boolean)">createJoin</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
java.util.Set&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelFactories.PigJoinFactory.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRelFactories.PigJoinFactory.html#createJoin(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType,java.util.Set,boolean)">createJoin</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRel.Implementor.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRel.Implementor.html#getFieldName(org.apache.calcite.rel.RelNode,int)">getFieldName</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
int&nbsp;index)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRel.Implementor.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRel.Implementor.html#getPigRelationAlias(org.apache.calcite.rel.RelNode)">getPigRelationAlias</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRel.Implementor.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRel.Implementor.html#getTableName(org.apache.calcite.rel.RelNode)">getTableName</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</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">PigRel.Implementor.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigRel.Implementor.html#visitChild(int,org.apache.calcite.rel.RelNode)">visitChild</a></span>&#8203;(int&nbsp;ordinal,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../adapter/pig/package-summary.html">org.apache.calcite.adapter.pig</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigToEnumerableConverter.</span><code><span class="memberNameLink"><a href="../../adapter/pig/PigToEnumerableConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../adapter/pig/package-summary.html">org.apache.calcite.adapter.pig</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/pig/PigAggregate.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">PigAggregate</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">
<div class="block">Creates a PigAggregate.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/pig/PigFilter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">PigFilter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">
<div class="block">Creates a PigFilter.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/pig/PigJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType)">PigJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType)</code></th>
<td class="colLast">
<div class="block">Creates a PigJoin.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/pig/PigProject.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">PigProject</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">
<div class="block">Creates a PigProject.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/pig/PigToEnumerableConverter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">PigToEnumerableConverter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">
<div class="block">Creates a PigToEnumerableConverter.</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../adapter/spark/package-summary.html">org.apache.calcite.adapter.spark</a></h3>
<table class="useSummary">
<caption><span>Subinterfaces of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRel.html" title="interface in org.apache.calcite.adapter.spark">SparkRel</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that uses Spark calling convention.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Classes in <a href="../../adapter/spark/package-summary.html">org.apache.calcite.adapter.spark</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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/EnumerableToSparkConverter.html" title="class in org.apache.calcite.adapter.spark">EnumerableToSparkConverter</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that converts input of <a href="../../adapter/enumerable/EnumerableConvention.html" title="enum in org.apache.calcite.adapter.enumerable"><code>EnumerableConvention</code></a>
into <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/JdbcToSparkConverter.html" title="class in org.apache.calcite.adapter.spark">JdbcToSparkConverter</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression representing a scan of a table in a JDBC data source
that returns its results as a Spark RDD.</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/spark/SparkRules.SparkCalc.html" title="class in org.apache.calcite.adapter.spark">SparkRules.SparkCalc</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Calc.html" title="class in org.apache.calcite.rel.core"><code>Calc</code></a>
in Spark 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.SparkValues.html" title="class in org.apache.calcite.adapter.spark">SparkRules.SparkValues</a></span></code></th>
<td class="colLast">
<div class="block">VALUES construct implemented in Spark.</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/spark/SparkToEnumerableConverter.html" title="class in org.apache.calcite.adapter.spark">SparkToEnumerableConverter</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that converts input of
<a href="../../adapter/spark/SparkRel.html#CONVENTION"><code>Spark convention</code></a>
into <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/spark/package-summary.html">org.apache.calcite.adapter.spark</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableToSparkConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/spark/EnumerableToSparkConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcToSparkConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/spark/JdbcToSparkConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SparkRules.EnumerableToSparkConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRules.EnumerableToSparkConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SparkRules.SparkCalcRule.</span><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRules.SparkCalcRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SparkRules.SparkToEnumerableConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRules.SparkToEnumerableConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SparkRules.SparkValuesRule.</span><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRules.SparkValuesRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableToSparkConverter.</span><code><span class="memberNameLink"><a href="../../adapter/spark/EnumerableToSparkConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcToSparkConverter.</span><code><span class="memberNameLink"><a href="../../adapter/spark/JdbcToSparkConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SparkRules.SparkCalc.</span><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRules.SparkCalc.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SparkRules.SparkValues.</span><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRules.SparkValues.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SparkToEnumerableConverter.</span><code><span class="memberNameLink"><a href="../../adapter/spark/SparkToEnumerableConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SparkHandlerImpl.</span><code><span class="memberNameLink"><a href="../../adapter/spark/SparkHandlerImpl.html#flattenTypes(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,boolean)">flattenTypes</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel,
boolean&nbsp;restructure)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/spark/package-summary.html">org.apache.calcite.adapter.spark</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableToSparkConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/spark/EnumerableToSparkConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcToSparkConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/spark/JdbcToSparkConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SparkRules.EnumerableToSparkConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRules.EnumerableToSparkConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SparkRules.SparkCalcRule.</span><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRules.SparkCalcRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SparkRules.SparkToEnumerableConverterRule.</span><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRules.SparkToEnumerableConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SparkRules.SparkValuesRule.</span><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRules.SparkValuesRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SparkHandlerImpl.</span><code><span class="memberNameLink"><a href="../../adapter/spark/SparkHandlerImpl.html#flattenTypes(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,boolean)">flattenTypes</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel,
boolean&nbsp;restructure)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../adapter/spark/package-summary.html">org.apache.calcite.adapter.spark</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableToSparkConverter.</span><code><span class="memberNameLink"><a href="../../adapter/spark/EnumerableToSparkConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JdbcToSparkConverter.</span><code><span class="memberNameLink"><a href="../../adapter/spark/JdbcToSparkConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SparkRules.SparkCalc.</span><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRules.SparkCalc.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SparkRules.SparkValues.</span><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRules.SparkValues.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SparkToEnumerableConverter.</span><code><span class="memberNameLink"><a href="../../adapter/spark/SparkToEnumerableConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../adapter/spark/package-summary.html">org.apache.calcite.adapter.spark</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/spark/EnumerableToSparkConverter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">EnumerableToSparkConverter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/spark/JdbcToSparkConverter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">JdbcToSparkConverter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRules.SparkCalc.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram)">SparkCalc</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRules.SparkCalc.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram,int)">SparkCalc</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program,
int&nbsp;flags)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/spark/SparkToEnumerableConverter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">SparkToEnumerableConverter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../adapter/splunk/package-summary.html">org.apache.calcite.adapter.splunk</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../../adapter/splunk/package-summary.html">org.apache.calcite.adapter.splunk</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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/SplunkTableScan.html" title="class in org.apache.calcite.adapter.splunk">SplunkTableScan</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression representing a scan of Splunk.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/splunk/package-summary.html">org.apache.calcite.adapter.splunk</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SplunkPushDownRule.</span><code><span class="memberNameLink"><a href="../../adapter/splunk/SplunkPushDownRule.html#addProjectionRule(org.apache.calcite.rel.logical.LogicalProject,org.apache.calcite.rel.RelNode)">addProjectionRule</a></span>&#8203;(<a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a>&nbsp;proj,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SplunkPushDownRule.</span><code><span class="memberNameLink"><a href="../../adapter/splunk/SplunkPushDownRule.html#appendSearchString(java.lang.String,org.apache.calcite.adapter.splunk.SplunkTableScan,org.apache.calcite.rel.logical.LogicalProject,org.apache.calcite.rel.logical.LogicalProject,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)">appendSearchString</a></span>&#8203;(java.lang.String&nbsp;toAppend,
<a href="../../adapter/splunk/SplunkTableScan.html" title="class in org.apache.calcite.adapter.splunk">SplunkTableScan</a>&nbsp;splunkRel,
<a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a>&nbsp;topProj,
<a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a>&nbsp;bottomProj,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;topRow,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;bottomRow)</code></th>
<td class="colLast">
<div class="block">Appends a search string.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SplunkTable.</span><code><span class="memberNameLink"><a href="../../adapter/splunk/SplunkTable.html#toRel(org.apache.calcite.plan.RelOptTable.ToRelContext,org.apache.calcite.plan.RelOptTable)">toRel</a></span>&#8203;(<a href="../../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a>&nbsp;context,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;relOptTable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/splunk/package-summary.html">org.apache.calcite.adapter.splunk</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SplunkPushDownRule.</span><code><span class="memberNameLink"><a href="../../adapter/splunk/SplunkPushDownRule.html#addProjectionRule(org.apache.calcite.rel.logical.LogicalProject,org.apache.calcite.rel.RelNode)">addProjectionRule</a></span>&#8203;(<a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a>&nbsp;proj,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.interpreter">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../interpreter/package-summary.html">org.apache.calcite.interpreter</a></h3>
<table class="useSummary">
<caption><span>Subinterfaces of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/BindableRel.html" title="interface in org.apache.calcite.interpreter">BindableRel</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that can implement itself in Bindable
convention.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/InterpretableRel.html" title="interface in org.apache.calcite.interpreter">InterpretableRel</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that can implement itself using an interpreter.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Classes in <a href="../../interpreter/package-summary.html">org.apache.calcite.interpreter</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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.BindableAggregate.html" title="class in org.apache.calcite.interpreter">Bindables.BindableAggregate</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>
in bindable calling 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.BindableFilter.html" title="class in org.apache.calcite.interpreter">Bindables.BindableFilter</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>
in 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.BindableJoin.html" title="class in org.apache.calcite.interpreter">Bindables.BindableJoin</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> in
bindable calling 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.BindableProject.html" title="class in org.apache.calcite.interpreter">Bindables.BindableProject</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> in
bindable calling 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.BindableSort.html" title="class in org.apache.calcite.interpreter">Bindables.BindableSort</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a>
bindable calling 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.BindableTableScan.html" title="class in org.apache.calcite.interpreter">Bindables.BindableTableScan</a></span></code></th>
<td class="colLast">
<div class="block">Scan of a table that implements <a href="../../schema/ScannableTable.html" title="interface in org.apache.calcite.schema"><code>ScannableTable</code></a> and therefore can
be converted into an <a href="../../linq4j/Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</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.BindableUnion.html" title="class in org.apache.calcite.interpreter">Bindables.BindableUnion</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Union.html" title="class in org.apache.calcite.rel.core"><code>Union</code></a> in
bindable calling 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.BindableValues.html" title="class in org.apache.calcite.interpreter">Bindables.BindableValues</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Values.html" title="class in org.apache.calcite.rel.core"><code>Values</code></a>
in bindable calling 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.BindableWindow.html" title="class in org.apache.calcite.interpreter">Bindables.BindableWindow</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="../core/Window.html" title="class in org.apache.calcite.rel.core"><code>Window</code></a>
in bindable convention.</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="../../interpreter/InterpretableConverter.html" title="class in org.apache.calcite.interpreter">InterpretableConverter</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that converts any relational expression input to
<a href="../../interpreter/InterpretableConvention.html" title="enum in org.apache.calcite.interpreter"><code>InterpretableConvention</code></a>, by wrapping
it in an interpreter.</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.CompilerImpl.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.CompilerImpl.html#rel">rel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.NodeInfo.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.NodeInfo.html#rel">rel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.CompilerImpl.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.CompilerImpl.html#rootRel">rootRel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.html#rootRel">rootRel</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../util/ReflectiveVisitDispatcher.html" title="interface in org.apache.calcite.util">ReflectiveVisitDispatcher</a>&lt;<a href="../../interpreter/Interpreter.CompilerImpl.html" title="class in org.apache.calcite.interpreter">Interpreter.CompilerImpl</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.CompilerImpl.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.CompilerImpl.html#dispatcher">dispatcher</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../interpreter/Interpreter.NodeInfo.html" title="class in org.apache.calcite.interpreter">Interpreter.NodeInfo</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.CompilerImpl.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.CompilerImpl.html#nodes">nodes</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../interpreter/Interpreter.NodeInfo.html" title="class in org.apache.calcite.interpreter">Interpreter.NodeInfo</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.html#nodes">nodes</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) com.google.common.collect.Multimap&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../interpreter/Interpreter.Edge.html" title="class in org.apache.calcite.interpreter">Interpreter.Edge</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.CompilerImpl.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.CompilerImpl.html#outEdges">outEdges</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.CompilerImpl.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.CompilerImpl.html#relInputs">relInputs</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.CompilerImpl.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.CompilerImpl.html#relInputs">relInputs</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../../interpreter/Sink.html" title="interface in org.apache.calcite.interpreter">Sink</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">InterpretableRel.InterpreterImplementor.</span><code><span class="memberNameLink"><a href="../../interpreter/InterpretableRel.InterpreterImplementor.html#relSinks">relSinks</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../interpreter/package-summary.html">org.apache.calcite.interpreter</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableAggregateRule.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableAggregateRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableFilterRule.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableFilterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableJoinRule.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableJoinRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableProjectRule.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableProjectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableSortRule.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableSortRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableUnionRule.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableUnionRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableValuesRule.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableValuesRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableWindowRule.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableWindowRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">NoneToBindableConverterRule.</span><code><span class="memberNameLink"><a href="../../interpreter/NoneToBindableConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableValues.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableValues.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableWindow.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableWindow.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">InterpretableConverter.</span><code><span class="memberNameLink"><a href="../../interpreter/InterpretableConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.CompilerImpl.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.CompilerImpl.html#getInput(org.apache.calcite.rel.RelNode,int)">getInput</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
int&nbsp;ordinal)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.html#optimize(org.apache.calcite.rel.RelNode)">optimize</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../interpreter/package-summary.html">org.apache.calcite.interpreter</a> that return types with arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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>(package private) <a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../interpreter/Interpreter.NodeInfo.html" title="class in org.apache.calcite.interpreter">Interpreter.NodeInfo</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.CompilerImpl.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.CompilerImpl.html#visitRoot(org.apache.calcite.rel.RelNode)">visitRoot</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;p)</code></th>
<td class="colLast">
<div class="block">Visits the tree, starting from the root <code>p</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../interpreter/Interpreter.NodeInfo.html" title="class in org.apache.calcite.interpreter">Interpreter.NodeInfo</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.CompilerImpl.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.CompilerImpl.html#visitRoot(org.apache.calcite.rel.RelNode)">visitRoot</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;p)</code></th>
<td class="colLast">
<div class="block">Visits the tree, starting from the root <code>p</code>.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../interpreter/package-summary.html">org.apache.calcite.interpreter</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../runtime/ArrayBindable.html" title="interface in org.apache.calcite.runtime">ArrayBindable</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreters.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreters.html#bindable(org.apache.calcite.rel.RelNode)">bindable</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../runtime/Bindable.html" title="interface in org.apache.calcite.runtime"><code>Bindable</code></a> that interprets a
given relational expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableAggregateRule.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableAggregateRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableFilterRule.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableFilterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableJoinRule.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableJoinRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableProjectRule.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableProjectRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableSortRule.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableSortRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableUnionRule.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableUnionRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableValuesRule.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableValuesRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableWindowRule.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableWindowRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">NoneToBindableConverterRule.</span><code><span class="memberNameLink"><a href="../../interpreter/NoneToBindableConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../interpreter/Bindables.BindableAggregate.html" title="class in org.apache.calcite.interpreter">Bindables.BindableAggregate</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableAggregate.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableAggregate.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../interpreter/Bindables.BindableFilter.html" title="class in org.apache.calcite.interpreter">Bindables.BindableFilter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableFilter.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableFilter.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../interpreter/Bindables.BindableJoin.html" title="class in org.apache.calcite.interpreter">Bindables.BindableJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableJoin.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableJoin.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.JoinRelType,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;conditionExpr,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../interpreter/Bindables.BindableProject.html" title="class in org.apache.calcite.interpreter">Bindables.BindableProject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableProject.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableProject.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../interpreter/Bindables.BindableSort.html" title="class in org.apache.calcite.interpreter">Bindables.BindableSort</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableSort.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableSort.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newInput,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;newCollation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../interpreter/Bindables.BindableFilter.html" title="class in org.apache.calcite.interpreter">Bindables.BindableFilter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableFilter.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableFilter.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">
<div class="block">Creates a BindableFilter.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Compiler.</span><code><span class="memberNameLink"><a href="../../interpreter/Compiler.html#enumerable(org.apache.calcite.rel.RelNode,org.apache.calcite.linq4j.Enumerable)">enumerable</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../linq4j/Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;<a href="../../interpreter/Row.html" title="class in org.apache.calcite.interpreter">Row</a>&gt;&nbsp;rowEnumerable)</code></th>
<td class="colLast">
<div class="block">Tells the interpreter that a given relational expression wishes to
give its output as an enumerable.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.CompilerImpl.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.CompilerImpl.html#enumerable(org.apache.calcite.rel.RelNode,org.apache.calcite.linq4j.Enumerable)">enumerable</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../linq4j/Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;<a href="../../interpreter/Row.html" title="class in org.apache.calcite.interpreter">Row</a>&gt;&nbsp;rowEnumerable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.CompilerImpl.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.CompilerImpl.html#getInput(org.apache.calcite.rel.RelNode,int)">getInput</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
int&nbsp;ordinal)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.html#optimize(org.apache.calcite.rel.RelNode)">optimize</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.CompilerImpl.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.CompilerImpl.html#rewrite(org.apache.calcite.rel.RelNode)">rewrite</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r)</code></th>
<td class="colLast">
<div class="block">Fallback rewrite method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../interpreter/Sink.html" title="interface in org.apache.calcite.interpreter">Sink</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Compiler.</span><code><span class="memberNameLink"><a href="../../interpreter/Compiler.html#sink(org.apache.calcite.rel.RelNode)">sink</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Creates a Sink for a relational expression to write into.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../interpreter/Sink.html" title="interface in org.apache.calcite.interpreter">Sink</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.CompilerImpl.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.CompilerImpl.html#sink(org.apache.calcite.rel.RelNode)">sink</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../interpreter/Source.html" title="interface in org.apache.calcite.interpreter">Source</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Compiler.</span><code><span class="memberNameLink"><a href="../../interpreter/Compiler.html#source(org.apache.calcite.rel.RelNode,int)">source</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
int&nbsp;ordinal)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../interpreter/Source.html" title="interface in org.apache.calcite.interpreter">Source</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.CompilerImpl.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.CompilerImpl.html#source(org.apache.calcite.rel.RelNode,int)">source</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
int&nbsp;ordinal)</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">Interpreter.CompilerImpl.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.CompilerImpl.html#visit(org.apache.calcite.rel.RelNode,int,org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;p,
int&nbsp;ordinal,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;parent)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../interpreter/Interpreter.NodeInfo.html" title="class in org.apache.calcite.interpreter">Interpreter.NodeInfo</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.CompilerImpl.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.CompilerImpl.html#visitRoot(org.apache.calcite.rel.RelNode)">visitRoot</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;p)</code></th>
<td class="colLast">
<div class="block">Visits the tree, starting from the root <code>p</code>.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../interpreter/package-summary.html">org.apache.calcite.interpreter</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Compiler.</span><code><span class="memberNameLink"><a href="../../interpreter/Compiler.html#combinedRowType(java.util.List)">combinedRowType</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Interpreter.CompilerImpl.</span><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.CompilerImpl.html#combinedRowType(java.util.List)">combinedRowType</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../interpreter/Bindables.BindableUnion.html" title="class in org.apache.calcite.interpreter">Bindables.BindableUnion</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableUnion.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableUnion.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableValues.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableValues.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Bindables.BindableWindow.</span><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableWindow.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">InterpretableConverter.</span><code><span class="memberNameLink"><a href="../../interpreter/InterpretableConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../interpreter/package-summary.html">org.apache.calcite.interpreter</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableAggregate.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">BindableAggregate</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableFilter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">BindableFilter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.Set,org.apache.calcite.rel.core.JoinRelType)">BindableJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
java.util.Set&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType)</code></th>
<td class="colLast">
<div class="block">Creates a BindableJoin.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType,java.util.Set)">BindableJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableProject.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">BindableProject</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableSort.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">BindableSort</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableWindow.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType,java.util.List)">BindableWindow</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a>&gt;&nbsp;constants,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.util.List&lt;<a href="../core/Window.Group.html" title="class in org.apache.calcite.rel.core">Window.Group</a>&gt;&nbsp;groups)</code></th>
<td class="colLast">
<div class="block">Creates an BindableWindowRel.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.Edge.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,int)">Edge</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;parent,
int&nbsp;ordinal)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/InterpretableConverter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">InterpretableConverter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.html#%3Cinit%3E(org.apache.calcite.DataContext,org.apache.calcite.rel.RelNode)">Interpreter</a></span>&#8203;(<a href="../../DataContext.html" title="interface in org.apache.calcite">DataContext</a>&nbsp;dataContext,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel)</code></th>
<td class="colLast">
<div class="block">Creates an Interpreter.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Interpreter.NodeInfo.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,org.apache.calcite.linq4j.Enumerable)">NodeInfo</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../linq4j/Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;<a href="../../interpreter/Row.html" title="class in org.apache.calcite.interpreter">Row</a>&gt;&nbsp;rowEnumerable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructor parameters in <a href="../../interpreter/package-summary.html">org.apache.calcite.interpreter</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/Bindables.BindableUnion.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">BindableUnion</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.jdbc">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../jdbc/package-summary.html">org.apache.calcite.jdbc</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../../jdbc/package-summary.html">org.apache.calcite.jdbc</a> declared as <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepare.Query.</span><code><span class="memberNameLink"><a href="../../jdbc/CalcitePrepare.Query.html#rel">rel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../jdbc/package-summary.html">org.apache.calcite.jdbc</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepare.Dummy.TrivialSparkHandler.</span><code><span class="memberNameLink"><a href="../../jdbc/CalcitePrepare.Dummy.TrivialSparkHandler.html#flattenTypes(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,boolean)">flattenTypes</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel,
boolean&nbsp;restructure)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepare.SparkHandler.</span><code><span class="memberNameLink"><a href="../../jdbc/CalcitePrepare.SparkHandler.html#flattenTypes(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,boolean)">flattenTypes</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel,
boolean&nbsp;restructure)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../jdbc/package-summary.html">org.apache.calcite.jdbc</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepare.Dummy.TrivialSparkHandler.</span><code><span class="memberNameLink"><a href="../../jdbc/CalcitePrepare.Dummy.TrivialSparkHandler.html#flattenTypes(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,boolean)">flattenTypes</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel,
boolean&nbsp;restructure)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepare.SparkHandler.</span><code><span class="memberNameLink"><a href="../../jdbc/CalcitePrepare.SparkHandler.html#flattenTypes(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,boolean)">flattenTypes</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel,
boolean&nbsp;restructure)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../jdbc/CalcitePrepare.Query.html" title="class in org.apache.calcite.jdbc">CalcitePrepare.Query</a>&lt;T&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepare.Query.</span><code><span class="memberNameLink"><a href="../../jdbc/CalcitePrepare.Query.html#of(org.apache.calcite.rel.RelNode)">of</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../jdbc/package-summary.html">org.apache.calcite.jdbc</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../jdbc/CalcitePrepare.Query.html#%3Cinit%3E(java.lang.String,org.apache.calcite.linq4j.Queryable,org.apache.calcite.rel.RelNode)">Query</a></span>&#8203;(java.lang.String&nbsp;sql,
<a href="../../linq4j/Queryable.html" title="interface in org.apache.calcite.linq4j">Queryable</a>&lt;<a href="../../jdbc/CalcitePrepare.Query.html" title="type parameter in CalcitePrepare.Query">T</a>&gt;&nbsp;queryable,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.materialize">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../materialize/package-summary.html">org.apache.calcite.materialize</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../materialize/package-summary.html">org.apache.calcite.materialize</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../../materialize/Lattice.html" title="class in org.apache.calcite.materialize">Lattice</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LatticeSuggester.</span><code><span class="memberNameLink"><a href="../../materialize/LatticeSuggester.html#addQuery(org.apache.calcite.rel.RelNode)">addQuery</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r)</code></th>
<td class="colLast">
<div class="block">Adds a query.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../materialize/LatticeSuggester.Frame.html" title="class in org.apache.calcite.materialize">LatticeSuggester.Frame</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LatticeSuggester.</span><code><span class="memberNameLink"><a href="../../materialize/LatticeSuggester.html#frame(org.apache.calcite.materialize.LatticeSuggester.Query,org.apache.calcite.rel.RelNode)">frame</a></span>&#8203;(<a href="../../materialize/LatticeSuggester.Query.html" title="class in org.apache.calcite.materialize">LatticeSuggester.Query</a>&nbsp;q,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Lattice.</span><code><span class="memberNameLink"><a href="../../materialize/Lattice.html#populate(java.util.List,java.util.List,org.apache.calcite.rel.RelNode)">populate</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;nodes,
java.util.List&lt;int[][]&gt;&nbsp;tempLinks,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../materialize/package-summary.html">org.apache.calcite.materialize</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 static int[][]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Lattice.</span><code><span class="memberNameLink"><a href="../../materialize/Lattice.html#grab(java.util.List,org.apache.calcite.rex.RexNode)">grab</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;leaves,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;rex)</code></th>
<td class="colLast">
<div class="block">Converts an "t1.c1 = t2.c2" expression into two (input, field) pairs.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static int[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Lattice.</span><code><span class="memberNameLink"><a href="../../materialize/Lattice.html#inputField(java.util.List,org.apache.calcite.rex.RexNode)">inputField</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;leaves,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;rex)</code></th>
<td class="colLast">
<div class="block">Converts an expression into an (input, field) pair.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Lattice.</span><code><span class="memberNameLink"><a href="../../materialize/Lattice.html#populate(java.util.List,java.util.List,org.apache.calcite.rel.RelNode)">populate</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;nodes,
java.util.List&lt;int[][]&gt;&nbsp;tempLinks,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../piglet/package-summary.html">org.apache.calcite.piglet</a></h3>
<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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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.Map&lt;java.lang.String,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Handler.</span><code><span class="memberNameLink"><a href="../../piglet/Handler.html#map">map</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../piglet/package-summary.html">org.apache.calcite.piglet</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Handler.</span><code><span class="memberNameLink"><a href="../../piglet/Handler.html#dump(org.apache.calcite.rel.RelNode)">dump</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Executes a relational expression and prints the output.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.plan">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../plan/package-summary.html">org.apache.calcite.plan</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../../plan/package-summary.html">org.apache.calcite.plan</a> declared as <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptMaterialization.</span><code><span class="memberNameLink"><a href="../../plan/RelOptMaterialization.html#queryRel">queryRel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.Exists.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.Exists.html#r">r</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptListener.RelEvent.</span><code><span class="memberNameLink"><a href="../../plan/RelOptListener.RelEvent.html#rel">rel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#rels">rels</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptMaterialization.</span><code><span class="memberNameLink"><a href="../../plan/RelOptMaterialization.html#tableRel">tableRel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../../plan/package-summary.html">org.apache.calcite.plan</a> with type parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/AbstractRelOptPlanner.html#classes">classes</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleOperand.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleOperand.html#clazz">clazz</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.Map&lt;java.lang.String,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptCluster.</span><code><span class="memberNameLink"><a href="../../plan/RelOptCluster.html#mapCorrelToRel">mapCorrelToRel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) java.util.Map&lt;java.lang.String,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptQuery.</span><code><span class="memberNameLink"><a href="../../plan/RelOptQuery.html#mapCorrelToRel">mapCorrelToRel</a></span></code></th>
<td class="colLast">
<div class="block">Maps name of correlating variable (e.g.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#nodeInputs">nodeInputs</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#nodeInputs">nodeInputs</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#parents">parents</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.util.function.Predicate&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleOperand.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleOperand.html#predicate">predicate</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Convention.Impl.</span><code><span class="memberNameLink"><a href="../../plan/Convention.Impl.html#relClass">relClass</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../plan/package-summary.html">org.apache.calcite.plan</a> with type parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 &lt;T extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;<br>T</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#addTrait(T,org.apache.calcite.plan.RelTrait)">addTrait</a></span>&#8203;(T&nbsp;rel,
<a href="../../plan/RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>&nbsp;trait)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static &lt;R extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;<br><a href="../../plan/RelOptRule.ConverterRelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRule.ConverterRelOptRuleOperand</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRule.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRule.html#convertOperand(java.lang.Class,com.google.common.base.Predicate,org.apache.calcite.plan.RelTrait)">convertOperand</a></span>&#8203;(java.lang.Class&lt;R&gt;&nbsp;clazz,
com.google.common.base.Predicate&lt;? super R&gt;&nbsp;predicate,
<a href="../../plan/RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>&nbsp;trait)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="../../plan/RelOptRule.html#convertOperand(java.lang.Class,java.util.function.Predicate,org.apache.calcite.plan.RelTrait)"><code>RelOptRule.convertOperand(Class, Predicate, RelTrait)</code></a>.</div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static &lt;R extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;<br><a href="../../plan/RelOptRule.ConverterRelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRule.ConverterRelOptRuleOperand</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRule.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRule.html#convertOperand(java.lang.Class,java.util.function.Predicate,org.apache.calcite.plan.RelTrait)">convertOperand</a></span>&#8203;(java.lang.Class&lt;R&gt;&nbsp;clazz,
java.util.function.Predicate&lt;? super R&gt;&nbsp;predicate,
<a href="../../plan/RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>&nbsp;trait)</code></th>
<td class="colLast">
<div class="block">Creates an operand for a converter rule.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static &lt;R extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;<br><a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRule.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRule.html#operand(java.lang.Class,org.apache.calcite.plan.RelOptRuleOperandChildren)">operand</a></span>&#8203;(java.lang.Class&lt;R&gt;&nbsp;clazz,
<a href="../../plan/RelOptRuleOperandChildren.html" title="class in org.apache.calcite.plan">RelOptRuleOperandChildren</a>&nbsp;operandList)</code></th>
<td class="colLast">
<div class="block">Creates an operand that matches a relational expression that has no
children.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static &lt;R extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;<br><a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRule.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRule.html#operand(java.lang.Class,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.plan.RelOptRuleOperand...)">operand</a></span>&#8203;(java.lang.Class&lt;R&gt;&nbsp;clazz,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;first,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>...&nbsp;rest)</code></th>
<td class="colLast">
<div class="block">Creates an operand that matches a relational expression with a given
list of children.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static &lt;R extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;<br><a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRule.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRule.html#operand(java.lang.Class,org.apache.calcite.plan.RelTrait,com.google.common.base.Predicate,org.apache.calcite.plan.RelOptRuleOperandChildren)">operand</a></span>&#8203;(java.lang.Class&lt;R&gt;&nbsp;clazz,
<a href="../../plan/RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>&nbsp;trait,
com.google.common.base.Predicate&lt;? super R&gt;&nbsp;predicate,
<a href="../../plan/RelOptRuleOperandChildren.html" title="class in org.apache.calcite.plan">RelOptRuleOperandChildren</a>&nbsp;operandList)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="../../plan/RelOptRule.html#operandJ(java.lang.Class,org.apache.calcite.plan.RelTrait,java.util.function.Predicate,org.apache.calcite.plan.RelOptRuleOperandChildren)"><code>RelOptRule.operandJ(java.lang.Class&lt;R&gt;, org.apache.calcite.plan.RelTrait, java.util.function.Predicate&lt;? super R&gt;, org.apache.calcite.plan.RelOptRuleOperandChildren)</code></a></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static &lt;R extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;<br><a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRule.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRule.html#operand(java.lang.Class,org.apache.calcite.plan.RelTrait,com.google.common.base.Predicate,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.plan.RelOptRuleOperand...)">operand</a></span>&#8203;(java.lang.Class&lt;R&gt;&nbsp;clazz,
<a href="../../plan/RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>&nbsp;trait,
com.google.common.base.Predicate&lt;? super R&gt;&nbsp;predicate,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;first,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>...&nbsp;rest)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static &lt;R extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;<br><a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRule.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRule.html#operand(java.lang.Class,org.apache.calcite.plan.RelTrait,org.apache.calcite.plan.RelOptRuleOperandChildren)">operand</a></span>&#8203;(java.lang.Class&lt;R&gt;&nbsp;clazz,
<a href="../../plan/RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>&nbsp;trait,
<a href="../../plan/RelOptRuleOperandChildren.html" title="class in org.apache.calcite.plan">RelOptRuleOperandChildren</a>&nbsp;operandList)</code></th>
<td class="colLast">
<div class="block">Creates an operand that matches a relational expression that has no
children.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static &lt;R extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;<br><a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRule.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRule.html#operandJ(java.lang.Class,org.apache.calcite.plan.RelTrait,java.util.function.Predicate,org.apache.calcite.plan.RelOptRuleOperandChildren)">operandJ</a></span>&#8203;(java.lang.Class&lt;R&gt;&nbsp;clazz,
<a href="../../plan/RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>&nbsp;trait,
java.util.function.Predicate&lt;? super R&gt;&nbsp;predicate,
<a href="../../plan/RelOptRuleOperandChildren.html" title="class in org.apache.calcite.plan">RelOptRuleOperandChildren</a>&nbsp;operandList)</code></th>
<td class="colLast">
<div class="block">Creates an operand that matches a relational expression that has a
particular trait and predicate.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static &lt;R extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;<br><a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRule.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRule.html#operandJ(java.lang.Class,org.apache.calcite.plan.RelTrait,java.util.function.Predicate,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.plan.RelOptRuleOperand...)">operandJ</a></span>&#8203;(java.lang.Class&lt;R&gt;&nbsp;clazz,
<a href="../../plan/RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>&nbsp;trait,
java.util.function.Predicate&lt;? super R&gt;&nbsp;predicate,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;first,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>...&nbsp;rest)</code></th>
<td class="colLast">
<div class="block">Creates an operand that matches a relational expression that has no
children.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&lt;T extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;<br>T</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#rel(int)">rel</a></span>&#8203;(int&nbsp;ordinal)</code></th>
<td class="colLast">
<div class="block">Retrieves the <code>ordinal</code>th matched relational expression.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../plan/package-summary.html">org.apache.calcite.plan</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ConventionTraitDef.</span><code><span class="memberNameLink"><a href="../../plan/ConventionTraitDef.html#changeConvention(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.Convention,org.apache.calcite.plan.Convention,com.google.common.collect.Multimap)">changeConvention</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/Convention.html" title="interface in org.apache.calcite.plan">Convention</a>&nbsp;source,
<a href="../../plan/Convention.html" title="interface in org.apache.calcite.plan">Convention</a>&nbsp;target,
com.google.common.collect.Multimap&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../../plan/Convention.html" title="interface in org.apache.calcite.plan">Convention</a>,&#8203;<a href="../../plan/Convention.html" title="interface in org.apache.calcite.plan">Convention</a>&gt;,&#8203;<a href="../convert/ConverterRule.html" title="class in org.apache.calcite.rel.convert">ConverterRule</a>&gt;&nbsp;mapArcToConverterRule)</code></th>
<td class="colLast">
<div class="block">Tries to convert a relational expression to the target convention of an
arc.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/RelOptPlanner.html#changeTraits(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet)">changeTraits</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;toTraits)</code></th>
<td class="colLast">
<div class="block">Changes a relational expression to an equivalent one with a different set
of traits.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ConventionTraitDef.</span><code><span class="memberNameLink"><a href="../../plan/ConventionTraitDef.html#convert(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.Convention,boolean)">convert</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/Convention.html" title="interface in org.apache.calcite.plan">Convention</a>&nbsp;toConvention,
boolean&nbsp;allowInfiniteCostConverters)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRule.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRule.html#convert(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTrait)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>&nbsp;toTrait)</code></th>
<td class="colLast">
<div class="block">Converts one trait of a relational expression, if it does not
already have that trait.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRule.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRule.html#convert(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;toTraits)</code></th>
<td class="colLast">
<div class="block">Converts a relation expression to a given set of traits, if it does not
already have those traits.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelTraitDef.</span><code><span class="memberNameLink"><a href="../../plan/RelTraitDef.html#convert(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,T,boolean)">convert</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitDef.html" title="type parameter in RelTraitDef">T</a>&nbsp;toTrait,
boolean&nbsp;allowInfiniteCostConverters)</code></th>
<td class="colLast">
<div class="block">Converts the given RelNode to the given RelTrait.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createCastRel(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType,boolean)">createCastRel</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;castRowType,
boolean&nbsp;rename)</code></th>
<td class="colLast">
<div class="block">Creates a projection which casts a rel's output to a desired row type.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createCastRel(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType,boolean,org.apache.calcite.rel.core.RelFactories.ProjectFactory)">createCastRel</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;castRowType,
boolean&nbsp;rename,
<a href="../core/RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ProjectFactory</a>&nbsp;projectFactory)</code></th>
<td class="colLast">
<div class="block">Creates a projection which casts a rel's output to a desired row type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createDistinctRel(org.apache.calcite.rel.RelNode)">createDistinctRel</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="../../tools/RelBuilder.html#distinct()"><code>RelBuilder.distinct()</code></a>.</div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createExistsPlan(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rex.RexLiteral,java.lang.String)">createExistsPlan</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;seekRel,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;conditions,
<a href="../../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a>&nbsp;extraExpr,
java.lang.String&nbsp;extraName)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createFilter(org.apache.calcite.rel.RelNode,java.lang.Iterable)">createFilter</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.lang.Iterable&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;conditions)</code></th>
<td class="colLast">
<div class="block">Creates a filter, using the default filter factory,
or returns the original relational expression if the
condition is trivial.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createFilter(org.apache.calcite.rel.RelNode,java.lang.Iterable,org.apache.calcite.rel.core.RelFactories.FilterFactory)">createFilter</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.lang.Iterable&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;conditions,
<a href="../core/RelFactories.FilterFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.FilterFactory</a>&nbsp;filterFactory)</code></th>
<td class="colLast">
<div class="block">Creates a filter using the default factory,
or returns the original relational expression if the
condition is trivial.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createFilter(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">createFilter</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createFilter(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.RelFactories.FilterFactory)">createFilter</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../core/RelFactories.FilterFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.FilterFactory</a>&nbsp;filterFactory)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createNullFilter(org.apache.calcite.rel.RelNode,java.lang.Integer%5B%5D)">createNullFilter</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.lang.Integer[]&nbsp;fieldOrdinals)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createProject(org.apache.calcite.rel.core.RelFactories.ProjectFactory,org.apache.calcite.rel.RelNode,java.util.List)">createProject</a></span>&#8203;(<a href="../core/RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ProjectFactory</a>&nbsp;factory,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.util.List&lt;java.lang.Integer&gt;&nbsp;posList)</code></th>
<td class="colLast">
<div class="block">Creates a relational expression that projects the given fields of the
input.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createProject(org.apache.calcite.rel.RelNode,java.util.List,java.util.List)">createProject</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;exprList,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNameList)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createProject(org.apache.calcite.rel.RelNode,java.util.List,java.util.List,boolean)">createProject</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;exprs,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames,
boolean&nbsp;optimize)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createProject(org.apache.calcite.rel.RelNode,java.util.List,java.util.List,boolean,org.apache.calcite.tools.RelBuilder)">createProject</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;exprs,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames,
boolean&nbsp;optimize,
<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use
<a href="../../tools/RelBuilder.html#projectNamed(java.lang.Iterable,java.lang.Iterable,boolean)"><code>RelBuilder.projectNamed(Iterable, Iterable, boolean)</code></a></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createProject(org.apache.calcite.rel.RelNode,java.util.List)">createProject</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.util.List&lt;java.lang.Integer&gt;&nbsp;posList)</code></th>
<td class="colLast">
<div class="block">Creates a relational expression that projects the given fields of the
input.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createProject(org.apache.calcite.rel.RelNode,java.util.List,boolean)">createProject</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;java.lang.String&gt;&gt;&nbsp;projectList,
boolean&nbsp;optimize)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createProject(org.apache.calcite.rel.RelNode,org.apache.calcite.util.mapping.Mappings.TargetMapping)">createProject</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a>&nbsp;mapping)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a> that
projects particular fields of its input, according to a mapping.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createProject(org.apache.calcite.rel.RelNode,org.apache.calcite.util.mapping.Mappings.TargetMapping,org.apache.calcite.rel.core.RelFactories.ProjectFactory)">createProject</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a>&nbsp;mapping,
<a href="../core/RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ProjectFactory</a>&nbsp;projectFactory)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createProjectJoinRel(java.util.List,org.apache.calcite.rel.RelNode)">createProjectJoinRel</a></span>&#8203;(java.util.List&lt;java.lang.Integer&gt;&nbsp;outputProj,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;joinRel)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createRename(org.apache.calcite.rel.RelNode,java.util.List)">createRename</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createRenameRel(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.RelNode)">createRenameRel</a></span>&#8203;(<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;outputType,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createSingleValueAggRel(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.RelNode)">createSingleValueAggRel</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalAggregate that removes all duplicates from the result of
an underlying relational expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/RelOptPlanner.html#ensureRegistered(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">ensureRegistered</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;equivRel)</code></th>
<td class="colLast">
<div class="block">Registers a relational expression if it is not already registered.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/RelOptPlanner.html#findBestExp()">findBestExp</a></span>()</code></th>
<td class="colLast">
<div class="block">Finds the most efficient expression to implement this query.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptListener.RelEvent.</span><code><span class="memberNameLink"><a href="../../plan/RelOptListener.RelEvent.html#getRel()">getRel</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#getRels()">getRels</a></span>()</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="../../plan/RelOptRuleCall.html#getRelList()"><code>RelOptRuleCall.getRelList()</code></a> or <a href="../../plan/RelOptRuleCall.html#rel(int)"><code>RelOptRuleCall.rel(int)</code></a></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/RelOptPlanner.html#getRoot()">getRoot</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the root node of this query.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubstitutionVisitor.</span><code><span class="memberNameLink"><a href="../../plan/SubstitutionVisitor.html#go0(org.apache.calcite.rel.RelNode)">go0</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;replacement_)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptQuery.</span><code><span class="memberNameLink"><a href="../../plan/RelOptQuery.html#lookupCorrel(java.lang.String)">lookupCorrel</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Returns the relational expression which populates a correlating variable.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#permute(org.apache.calcite.rel.RelNode,org.apache.calcite.util.Permutation,java.util.List)">permute</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../util/Permutation.html" title="class in org.apache.calcite.util">Permutation</a>&nbsp;permutation,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames)</code></th>
<td class="colLast">
<div class="block">Creates a relational expression which permutes the output fields of a
relational expression according to a permutation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#projectMapping(org.apache.calcite.rel.RelNode,org.apache.calcite.util.mapping.Mapping,java.util.List,org.apache.calcite.rel.core.RelFactories.ProjectFactory)">projectMapping</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../util/mapping/Mapping.html" title="interface in org.apache.calcite.util.mapping">Mapping</a>&nbsp;mapping,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames,
<a href="../core/RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ProjectFactory</a>&nbsp;projectFactory)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#pushDownJoinConditions(org.apache.calcite.rel.core.Join)">pushDownJoinConditions</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;originalJoin)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#pushDownJoinConditions(org.apache.calcite.rel.core.Join,org.apache.calcite.rel.core.RelFactories.ProjectFactory)">pushDownJoinConditions</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;originalJoin,
<a href="../core/RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ProjectFactory</a>&nbsp;projectFactory)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#pushDownJoinConditions(org.apache.calcite.rel.core.Join,org.apache.calcite.tools.RelBuilder)">pushDownJoinConditions</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;originalJoin,
<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder)</code></th>
<td class="colLast">
<div class="block">Pushes down expressions in "equal" join condition.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#pushDownJoinConditions(org.apache.calcite.rel.core.Join,org.apache.calcite.tools.RelBuilderFactory)">pushDownJoinConditions</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;originalJoin,
<a href="../../tools/RelBuilderFactory.html" title="interface in org.apache.calcite.tools">RelBuilderFactory</a>&nbsp;relBuilderFactory)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/RelOptPlanner.html#register(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">register</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;equivRel)</code></th>
<td class="colLast">
<div class="block">Registers a relational expression in the expression bank.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#renameIfNecessary(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType)">renameIfNecessary</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;desiredRowType)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#replace(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">replace</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;query,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;find,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;replace)</code></th>
<td class="colLast">
<div class="block">Within a relational expression <code>query</code>, replaces occurrences of
<code>find</code> with <code>replace</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#replaceInput(org.apache.calcite.rel.RelNode,int,org.apache.calcite.rel.RelNode)">replaceInput</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;parent,
int&nbsp;ordinal,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newInput)</code></th>
<td class="colLast">
<div class="block">Returns a shallow copy of a relational expression with a particular
input replaced.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#replaceRecurse(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">replaceRecurse</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;query,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;find,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;replace)</code></th>
<td class="colLast">
<div class="block">Helper for <a href="../../plan/RelOptUtil.html#replace(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)"><code>RelOptUtil.replace(org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelNode)</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptLattice.</span><code><span class="memberNameLink"><a href="../../plan/RelOptLattice.html#rewrite(org.apache.calcite.rel.RelNode)">rewrite</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Rewrites a relational expression to use a lattice.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptMaterialization.</span><code><span class="memberNameLink"><a href="../../plan/RelOptMaterialization.html#toLeafJoinForm(org.apache.calcite.rel.RelNode)">toLeafJoinForm</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Converts a relational expression to a form where
<a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical"><code>LogicalJoin</code></a>s are
as close to leaves as possible.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptAbstractTable.</span><code><span class="memberNameLink"><a href="../../plan/RelOptAbstractTable.html#toRel(org.apache.calcite.plan.RelOptTable.ToRelContext)">toRel</a></span>&#8203;(<a href="../../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a>&nbsp;context)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptTable.</span><code><span class="memberNameLink"><a href="../../plan/RelOptTable.html#toRel(org.apache.calcite.plan.RelOptTable.ToRelContext)">toRel</a></span>&#8203;(<a href="../../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a>&nbsp;context)</code></th>
<td class="colLast">
<div class="block">Converts this table into a <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>relational expression</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptMaterialization.</span><code><span class="memberNameLink"><a href="../../plan/RelOptMaterialization.html#tryUseStar(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelOptTable)">tryUseStar</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;starRelOptTable)</code></th>
<td class="colLast">
<div class="block">Converts a relational expression to one that uses a
<a href="../../schema/impl/StarTable.html" title="class in org.apache.calcite.schema.impl"><code>StarTable</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.CorrelationCollector.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.CorrelationCollector.html#visit(org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;other)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../plan/package-summary.html">org.apache.calcite.plan</a> that return types with arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected static java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRule.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRule.html#convertList(java.util.List,org.apache.calcite.plan.RelTrait)">convertList</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;rels,
<a href="../../plan/RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>&nbsp;trait)</code></th>
<td class="colLast">
<div class="block">Converts a list of relational expressions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#getChildRels(org.apache.calcite.rel.RelNode)">getChildRels</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the children of a given relational expression node matched in a
rule.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleOperand.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleOperand.html#getMatchedClass()">getMatchedClass</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#getParents()">getParents</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#getRelList()">getRelList</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a list of matched relational expressions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MaterializedViewSubstitutionVisitor.</span><code><span class="memberNameLink"><a href="../../plan/MaterializedViewSubstitutionVisitor.html#go(org.apache.calcite.rel.RelNode)">go</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;replacement_)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubstitutionVisitor.</span><code><span class="memberNameLink"><a href="../../plan/SubstitutionVisitor.html#go(org.apache.calcite.rel.RelNode)">go</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;replacement_)</code></th>
<td class="colLast">
<div class="block">Returns a list of all possible rels that result from substituting the
matched RelNode with the replacement RelNode within the query.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Iterable&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/AbstractRelOptPlanner.html#subClasses(java.lang.Class)">subClasses</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;clazz)</code></th>
<td class="colLast">
<div class="block">Returns sub-classes of relational expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptMaterializations.</span><code><span class="memberNameLink"><a href="../../plan/RelOptMaterializations.html#substitute(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelOptMaterialization)">substitute</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;root,
<a href="../../plan/RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&nbsp;materialization)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../plan/RelOptLattice.html" title="class in org.apache.calcite.plan">RelOptLattice</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptMaterializations.</span><code><span class="memberNameLink"><a href="../../plan/RelOptMaterializations.html#useLattices(org.apache.calcite.rel.RelNode,java.util.List)">useLattices</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../../plan/RelOptLattice.html" title="class in org.apache.calcite.plan">RelOptLattice</a>&gt;&nbsp;lattices)</code></th>
<td class="colLast">
<div class="block">Returns a list of RelNode transformed from all possible lattice uses.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../../plan/RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&gt;&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptMaterializations.</span><code><span class="memberNameLink"><a href="../../plan/RelOptMaterializations.html#useMaterializedViews(org.apache.calcite.rel.RelNode,java.util.List)">useMaterializedViews</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../../plan/RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&gt;&nbsp;materializations)</code></th>
<td class="colLast">
<div class="block">Returns a list of RelNode transformed from all possible combination of
materialized view uses.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../plan/package-summary.html">org.apache.calcite.plan</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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">RelTraitDef.</span><code><span class="memberNameLink"><a href="../../plan/RelTraitDef.html#canConvert(org.apache.calcite.plan.RelOptPlanner,T,T,org.apache.calcite.rel.RelNode)">canConvert</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../../plan/RelTraitDef.html" title="type parameter in RelTraitDef">T</a>&nbsp;fromTrait,
<a href="../../plan/RelTraitDef.html" title="type parameter in RelTraitDef">T</a>&nbsp;toTrait,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;fromRel)</code></th>
<td class="colLast">
<div class="block">Tests whether the given RelTrait can be converted to another RelTrait.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ConventionTraitDef.</span><code><span class="memberNameLink"><a href="../../plan/ConventionTraitDef.html#changeConvention(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.Convention,org.apache.calcite.plan.Convention,com.google.common.collect.Multimap)">changeConvention</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/Convention.html" title="interface in org.apache.calcite.plan">Convention</a>&nbsp;source,
<a href="../../plan/Convention.html" title="interface in org.apache.calcite.plan">Convention</a>&nbsp;target,
com.google.common.collect.Multimap&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../../plan/Convention.html" title="interface in org.apache.calcite.plan">Convention</a>,&#8203;<a href="../../plan/Convention.html" title="interface in org.apache.calcite.plan">Convention</a>&gt;,&#8203;<a href="../convert/ConverterRule.html" title="class in org.apache.calcite.rel.convert">ConverterRule</a>&gt;&nbsp;mapArcToConverterRule)</code></th>
<td class="colLast">
<div class="block">Tries to convert a relational expression to the target convention of an
arc.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/RelOptPlanner.html#changeTraits(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet)">changeTraits</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;toTraits)</code></th>
<td class="colLast">
<div class="block">Changes a relational expression to an equivalent one with a different set
of traits.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#classifyFilters(org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.core.JoinRelType,boolean,boolean,boolean,java.util.List,java.util.List,java.util.List)">classifyFilters</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;joinRel,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;filters,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;pushInto,
boolean&nbsp;pushLeft,
boolean&nbsp;pushRight,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;joinFilters,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;leftFilters,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;rightFilters)</code></th>
<td class="colLast">
<div class="block">Classifies filters according to where they should be processed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#contains(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">contains</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;ancestor,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Returns whether relational expression <code>target</code> occurs within a
relational expression <code>ancestor</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#containsNullableFields(org.apache.calcite.rel.RelNode)">containsNullableFields</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r)</code></th>
<td class="colLast">
<div class="block">Determines whether any of the fields in a given relational expression may
contain null values, taking into account constraints on the field types and
also deduced predicates.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ConventionTraitDef.</span><code><span class="memberNameLink"><a href="../../plan/ConventionTraitDef.html#convert(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.Convention,boolean)">convert</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/Convention.html" title="interface in org.apache.calcite.plan">Convention</a>&nbsp;toConvention,
boolean&nbsp;allowInfiniteCostConverters)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRule.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRule.html#convert(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTrait)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>&nbsp;toTrait)</code></th>
<td class="colLast">
<div class="block">Converts one trait of a relational expression, if it does not
already have that trait.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRule.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRule.html#convert(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;toTraits)</code></th>
<td class="colLast">
<div class="block">Converts a relation expression to a given set of traits, if it does not
already have those traits.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelTraitDef.</span><code><span class="memberNameLink"><a href="../../plan/RelTraitDef.html#convert(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,T,boolean)">convert</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitDef.html" title="type parameter in RelTraitDef">T</a>&nbsp;toTrait,
boolean&nbsp;allowInfiniteCostConverters)</code></th>
<td class="colLast">
<div class="block">Converts the given RelNode to the given RelTrait.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#correlationColumns(org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.rel.RelNode)">correlationColumns</a></span>&#8203;(<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;id,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Finds which columns of a correlation variable are used within a
relational expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#countJoins(org.apache.calcite.rel.RelNode)">countJoins</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel)</code></th>
<td class="colLast">
<div class="block">Returns the number of <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> nodes in a
tree.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createCastRel(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType,boolean)">createCastRel</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;castRowType,
boolean&nbsp;rename)</code></th>
<td class="colLast">
<div class="block">Creates a projection which casts a rel's output to a desired row type.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createCastRel(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType,boolean,org.apache.calcite.rel.core.RelFactories.ProjectFactory)">createCastRel</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;castRowType,
boolean&nbsp;rename,
<a href="../core/RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ProjectFactory</a>&nbsp;projectFactory)</code></th>
<td class="colLast">
<div class="block">Creates a projection which casts a rel's output to a desired row type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createDistinctRel(org.apache.calcite.rel.RelNode)">createDistinctRel</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="../../tools/RelBuilder.html#distinct()"><code>RelBuilder.distinct()</code></a>.</div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createEquiJoinCondition(org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rex.RexBuilder)">createEquiJoinCondition</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
java.util.List&lt;java.lang.Integer&gt;&nbsp;leftKeys,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
java.util.List&lt;java.lang.Integer&gt;&nbsp;rightKeys,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">
<div class="block">Builds an equi-join condition from a set of left and right keys.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createExistsPlan(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rex.RexLiteral,java.lang.String)">createExistsPlan</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;seekRel,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;conditions,
<a href="../../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a>&nbsp;extraExpr,
java.lang.String&nbsp;extraName)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../plan/RelOptUtil.Exists.html" title="class in org.apache.calcite.plan">RelOptUtil.Exists</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createExistsPlan(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelOptUtil.SubQueryType,org.apache.calcite.plan.RelOptUtil.Logic,boolean)">createExistsPlan</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;seekRel,
<a href="../../plan/RelOptUtil.SubQueryType.html" title="enum in org.apache.calcite.plan">RelOptUtil.SubQueryType</a>&nbsp;subQueryType,
<a href="../../plan/RelOptUtil.Logic.html" title="enum in org.apache.calcite.plan">RelOptUtil.Logic</a>&nbsp;logic,
boolean&nbsp;notIn)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../plan/RelOptUtil.Exists.html" title="class in org.apache.calcite.plan">RelOptUtil.Exists</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createExistsPlan(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelOptUtil.SubQueryType,org.apache.calcite.plan.RelOptUtil.Logic,boolean,org.apache.calcite.tools.RelBuilder)">createExistsPlan</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;seekRel,
<a href="../../plan/RelOptUtil.SubQueryType.html" title="enum in org.apache.calcite.plan">RelOptUtil.SubQueryType</a>&nbsp;subQueryType,
<a href="../../plan/RelOptUtil.Logic.html" title="enum in org.apache.calcite.plan">RelOptUtil.Logic</a>&nbsp;logic,
boolean&nbsp;notIn,
<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder)</code></th>
<td class="colLast">
<div class="block">Creates a plan suitable for use in <code>EXISTS</code> or <code>IN</code>
statements.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createFilter(org.apache.calcite.rel.RelNode,java.lang.Iterable)">createFilter</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.lang.Iterable&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;conditions)</code></th>
<td class="colLast">
<div class="block">Creates a filter, using the default filter factory,
or returns the original relational expression if the
condition is trivial.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createFilter(org.apache.calcite.rel.RelNode,java.lang.Iterable,org.apache.calcite.rel.core.RelFactories.FilterFactory)">createFilter</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.lang.Iterable&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;conditions,
<a href="../core/RelFactories.FilterFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.FilterFactory</a>&nbsp;filterFactory)</code></th>
<td class="colLast">
<div class="block">Creates a filter using the default factory,
or returns the original relational expression if the
condition is trivial.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createFilter(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">createFilter</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createFilter(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.RelFactories.FilterFactory)">createFilter</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../core/RelFactories.FilterFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.FilterFactory</a>&nbsp;filterFactory)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createNullFilter(org.apache.calcite.rel.RelNode,java.lang.Integer%5B%5D)">createNullFilter</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.lang.Integer[]&nbsp;fieldOrdinals)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createProject(org.apache.calcite.rel.core.RelFactories.ProjectFactory,org.apache.calcite.rel.RelNode,java.util.List)">createProject</a></span>&#8203;(<a href="../core/RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ProjectFactory</a>&nbsp;factory,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.util.List&lt;java.lang.Integer&gt;&nbsp;posList)</code></th>
<td class="colLast">
<div class="block">Creates a relational expression that projects the given fields of the
input.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createProject(org.apache.calcite.rel.RelNode,java.util.List,java.util.List)">createProject</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;exprList,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNameList)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createProject(org.apache.calcite.rel.RelNode,java.util.List,java.util.List,boolean)">createProject</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;exprs,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames,
boolean&nbsp;optimize)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createProject(org.apache.calcite.rel.RelNode,java.util.List,java.util.List,boolean,org.apache.calcite.tools.RelBuilder)">createProject</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;exprs,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames,
boolean&nbsp;optimize,
<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use
<a href="../../tools/RelBuilder.html#projectNamed(java.lang.Iterable,java.lang.Iterable,boolean)"><code>RelBuilder.projectNamed(Iterable, Iterable, boolean)</code></a></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createProject(org.apache.calcite.rel.RelNode,java.util.List)">createProject</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.util.List&lt;java.lang.Integer&gt;&nbsp;posList)</code></th>
<td class="colLast">
<div class="block">Creates a relational expression that projects the given fields of the
input.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createProject(org.apache.calcite.rel.RelNode,java.util.List,boolean)">createProject</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;java.lang.String&gt;&gt;&nbsp;projectList,
boolean&nbsp;optimize)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createProject(org.apache.calcite.rel.RelNode,org.apache.calcite.util.mapping.Mappings.TargetMapping)">createProject</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a>&nbsp;mapping)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a> that
projects particular fields of its input, according to a mapping.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createProject(org.apache.calcite.rel.RelNode,org.apache.calcite.util.mapping.Mappings.TargetMapping,org.apache.calcite.rel.core.RelFactories.ProjectFactory)">createProject</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a>&nbsp;mapping,
<a href="../core/RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ProjectFactory</a>&nbsp;projectFactory)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createProjectJoinRel(java.util.List,org.apache.calcite.rel.RelNode)">createProjectJoinRel</a></span>&#8203;(java.util.List&lt;java.lang.Integer&gt;&nbsp;outputProj,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;joinRel)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createRename(org.apache.calcite.rel.RelNode,java.util.List)">createRename</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createRenameRel(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.RelNode)">createRenameRel</a></span>&#8203;(<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;outputType,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createSingleValueAggRel(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.RelNode)">createSingleValueAggRel</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalAggregate that removes all duplicates from the result of
an underlying relational expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createSwappedJoinExprs(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Join,boolean)">createSwappedJoinExprs</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newJoin,
<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;origJoin,
boolean&nbsp;origOrder)</code></th>
<td class="colLast">
<div class="block">Creates projection expressions reflecting the swapping of a join's input.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#dumpPlan(java.lang.String,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.sql.SqlExplainLevel)">dumpPlan</a></span>&#8203;(java.lang.String&nbsp;header,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
boolean&nbsp;asXml,
<a href="../../sql/SqlExplainLevel.html" title="enum in org.apache.calcite.sql">SqlExplainLevel</a>&nbsp;detailLevel)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#dumpPlan(java.lang.String,org.apache.calcite.rel.RelNode,org.apache.calcite.sql.SqlExplainFormat,org.apache.calcite.sql.SqlExplainLevel)">dumpPlan</a></span>&#8203;(java.lang.String&nbsp;header,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../sql/SqlExplainFormat.html" title="enum in org.apache.calcite.sql">SqlExplainFormat</a>&nbsp;format,
<a href="../../sql/SqlExplainLevel.html" title="enum in org.apache.calcite.sql">SqlExplainLevel</a>&nbsp;detailLevel)</code></th>
<td class="colLast">
<div class="block">Dumps a plan as a string.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/RelOptPlanner.html#ensureRegistered(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">ensureRegistered</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;equivRel)</code></th>
<td class="colLast">
<div class="block">Registers a relational expression if it is not already registered.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#equalType(java.lang.String,org.apache.calcite.rel.RelNode,java.lang.String,org.apache.calcite.rel.RelNode,org.apache.calcite.util.Litmus)">equalType</a></span>&#8203;(java.lang.String&nbsp;desc0,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel0,
java.lang.String&nbsp;desc1,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel1,
<a href="../../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a>&nbsp;litmus)</code></th>
<td class="colLast">
<div class="block">Returns whether two relational expressions have the same row-type.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.util.List&lt;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#findAllTableQualifiedNames(org.apache.calcite.rel.RelNode)">findAllTableQualifiedNames</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns a list of all table qualified names used by this expression
or its children.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#findAllTables(org.apache.calcite.rel.RelNode)">findAllTables</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns a list of all tables used by this expression or its children</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.util.Set&lt;<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#findTables(org.apache.calcite.rel.RelNode)">findTables</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns a set of tables used by this expression or its children</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../../plan/RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptMaterializations.</span><code><span class="memberNameLink"><a href="../../plan/RelOptMaterializations.html#getApplicableMaterializations(org.apache.calcite.rel.RelNode,java.util.List)">getApplicableMaterializations</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../../plan/RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&gt;&nbsp;materializations)</code></th>
<td class="colLast">
<div class="block">Returns a list of materializations that can potentially be used by the query.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#getChildRels(org.apache.calcite.rel.RelNode)">getChildRels</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the children of a given relational expression node matched in a
rule.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/AbstractRelOptPlanner.html#getCost(org.apache.calcite.rel.RelNode)">getCost</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/AbstractRelOptPlanner.html#getCost(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getCost</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/RelOptPlanner.html#getCost(org.apache.calcite.rel.RelNode)">getCost</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="../../plan/RelOptPlanner.html#getCost(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)"><code>RelOptPlanner.getCost(RelNode, RelMetadataQuery)</code></a>
or, better, call <a href="../metadata/RelMetadataQuery.html#getCumulativeCost(org.apache.calcite.rel.RelNode)"><code>RelMetadataQuery.getCumulativeCost(RelNode)</code></a>.</div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/RelOptPlanner.html#getCost(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getCost</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">
<div class="block">Computes the cost of a RelNode.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/AbstractRelOptPlanner.html#getRelMetadataTimestamp(org.apache.calcite.rel.RelNode)">getRelMetadataTimestamp</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/RelOptPlanner.html#getRelMetadataTimestamp(org.apache.calcite.rel.RelNode)">getRelMetadataTimestamp</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Gets a timestamp for a given rel's metadata.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.util.Set&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#getVariablesSet(org.apache.calcite.rel.RelNode)">getVariablesSet</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns a list of variables set by a relational expression or its
descendants.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#getVariablesSetAndUsed(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">getVariablesSetAndUsed</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel0,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel1)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.util.Set&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#getVariablesUsed(org.apache.calcite.rel.RelNode)">getVariablesUsed</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns a set of variables used by a relational expression or its
descendants.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MaterializedViewSubstitutionVisitor.</span><code><span class="memberNameLink"><a href="../../plan/MaterializedViewSubstitutionVisitor.html#go(org.apache.calcite.rel.RelNode)">go</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;replacement_)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#go(org.apache.calcite.rel.RelVisitor,org.apache.calcite.rel.RelNode)">go</a></span>&#8203;(<a href="../RelVisitor.html" title="class in org.apache.calcite.rel">RelVisitor</a>&nbsp;visitor,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;p)</code></th>
<td class="colLast">
<div class="block">Sets a <a href="../RelVisitor.html" title="class in org.apache.calcite.rel"><code>RelVisitor</code></a> going on a given relational expression, and
returns the result.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubstitutionVisitor.</span><code><span class="memberNameLink"><a href="../../plan/SubstitutionVisitor.html#go(org.apache.calcite.rel.RelNode)">go</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;replacement_)</code></th>
<td class="colLast">
<div class="block">Returns a list of all possible rels that result from substituting the
matched RelNode with the replacement RelNode within the query.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubstitutionVisitor.</span><code><span class="memberNameLink"><a href="../../plan/SubstitutionVisitor.html#go0(org.apache.calcite.rel.RelNode)">go0</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;replacement_)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#isEqui(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">isEqui</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#isLimit(org.apache.calcite.rel.RelNode)">isLimit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Whether this node contains a limit specification.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#isOrder(org.apache.calcite.rel.RelNode)">isOrder</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Whether this node contains a sort specification.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#isPureLimit(org.apache.calcite.rel.RelNode)">isPureLimit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Whether this node is a limit without sort specification.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#isPureOrder(org.apache.calcite.rel.RelNode)">isPureOrder</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Whether this node is a sort without limit specification.</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="../../plan/RelOptPlanner.html#isRegistered(org.apache.calcite.rel.RelNode)">isRegistered</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Determines whether a relational expression has been registered.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptQuery.</span><code><span class="memberNameLink"><a href="../../plan/RelOptQuery.html#mapCorrel(java.lang.String,org.apache.calcite.rel.RelNode)">mapCorrel</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Maps a correlating variable to a <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRule.ConverterRelOptRuleOperand.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRule.ConverterRelOptRuleOperand.html#matches(org.apache.calcite.rel.RelNode)">matches</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleOperand.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleOperand.html#matches(org.apache.calcite.rel.RelNode)">matches</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns whether a relational expression matches this operand.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#notContainsCorrelation(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.util.Litmus)">notContainsCorrelation</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlationId,
<a href="../../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a>&nbsp;litmus)</code></th>
<td class="colLast">
<div class="block">Returns true, and calls <a href="../../util/Litmus.html#succeed()"><code>Litmus.succeed()</code></a> if a given relational
expression does not contain a given correlation.</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="../../plan/AbstractRelOptPlanner.html#notifyChosen(org.apache.calcite.rel.RelNode)">notifyChosen</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Takes care of tracing and listener notification when a rel is chosen as
part of the final plan.</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="../../plan/AbstractRelOptPlanner.html#notifyDiscard(org.apache.calcite.rel.RelNode)">notifyDiscard</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Takes care of tracing and listener notification when a rel is discarded</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="../../plan/AbstractRelOptPlanner.html#notifyEquivalence(org.apache.calcite.rel.RelNode,java.lang.Object,boolean)">notifyEquivalence</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.lang.Object&nbsp;equivalenceClass,
boolean&nbsp;physical)</code></th>
<td class="colLast">
<div class="block">Takes care of tracing and listener notification when a rel equivalence is
detected.</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="../../plan/AbstractRelOptPlanner.html#notifyTransformation(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.RelNode,boolean)">notifyTransformation</a></span>&#8203;(<a href="../../plan/RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;ruleCall,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newRel,
boolean&nbsp;before)</code></th>
<td class="colLast">
<div class="block">Takes care of tracing and listener notification when a rule's
transformation is applied.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) static <a href="../../plan/RelOptMaterialization.ProjectFilterTable.html" title="class in org.apache.calcite.plan">RelOptMaterialization.ProjectFilterTable</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptMaterialization.ProjectFilterTable.</span><code><span class="memberNameLink"><a href="../../plan/RelOptMaterialization.ProjectFilterTable.html#of(org.apache.calcite.rel.RelNode)">of</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../DataContext.html" title="interface in org.apache.calcite">DataContext</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VisitorDataContext.</span><code><span class="memberNameLink"><a href="../../plan/VisitorDataContext.html#of(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.logical.LogicalFilter)">of</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;targetRel,
<a href="../logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a>&nbsp;queryRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../../plan/RelOptMaterialization.ProjectFilterTable.html" title="class in org.apache.calcite.plan">RelOptMaterialization.ProjectFilterTable</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptMaterialization.ProjectFilterTable.</span><code><span class="memberNameLink"><a href="../../plan/RelOptMaterialization.ProjectFilterTable.html#of2(org.apache.calcite.rex.RexNode,org.apache.calcite.rel.RelNode)">of2</a></span>&#8203;(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../../plan/RelOptMaterialization.ProjectFilterTable.html" title="class in org.apache.calcite.plan">RelOptMaterialization.ProjectFilterTable</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptMaterialization.ProjectFilterTable.</span><code><span class="memberNameLink"><a href="../../plan/RelOptMaterialization.ProjectFilterTable.html#of3(org.apache.calcite.rex.RexNode,org.apache.calcite.util.mapping.Mappings.TargetMapping,org.apache.calcite.rel.RelNode)">of3</a></span>&#8203;(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a>&nbsp;mapping,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</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">AbstractRelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/AbstractRelOptPlanner.html#onCopy(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">onCopy</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/RelOptPlanner.html#onCopy(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">onCopy</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newRel)</code></th>
<td class="colLast">
<div class="block">Called when a relational expression is copied to a similar expression.</div>
</td>
</tr>
<tr 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="../../plan/AbstractRelOptPlanner.html#onNewClass(org.apache.calcite.rel.RelNode)">onNewClass</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Called when a new class of <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> is seen.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#permute(org.apache.calcite.rel.RelNode,org.apache.calcite.util.Permutation,java.util.List)">permute</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../util/Permutation.html" title="class in org.apache.calcite.util">Permutation</a>&nbsp;permutation,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames)</code></th>
<td class="colLast">
<div class="block">Creates a relational expression which permutes the output fields of a
relational expression according to a permutation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#projectJoinInputs(org.apache.calcite.rel.RelNode%5B%5D,java.util.List,java.util.List,int,java.util.List,java.util.List,java.util.List)">projectJoinInputs</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;inputRels,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;leftJoinKeys,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;rightJoinKeys,
int&nbsp;systemColCount,
java.util.List&lt;java.lang.Integer&gt;&nbsp;leftKeys,
java.util.List&lt;java.lang.Integer&gt;&nbsp;rightKeys,
java.util.List&lt;java.lang.Integer&gt;&nbsp;outputProj)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#projectMapping(org.apache.calcite.rel.RelNode,org.apache.calcite.util.mapping.Mapping,java.util.List,org.apache.calcite.rel.core.RelFactories.ProjectFactory)">projectMapping</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../util/mapping/Mapping.html" title="interface in org.apache.calcite.util.mapping">Mapping</a>&nbsp;mapping,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames,
<a href="../core/RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ProjectFactory</a>&nbsp;projectFactory)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/RelOptPlanner.html#register(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">register</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;equivRel)</code></th>
<td class="colLast">
<div class="block">Registers a relational expression in the expression bank.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/AbstractRelOptPlanner.html#registerClass(org.apache.calcite.rel.RelNode)">registerClass</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</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">RelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/RelOptPlanner.html#registerClass(org.apache.calcite.rel.RelNode)">registerClass</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Registers a class of RelNode.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#renameIfNecessary(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType)">renameIfNecessary</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;desiredRowType)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#replace(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">replace</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;query,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;find,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;replace)</code></th>
<td class="colLast">
<div class="block">Within a relational expression <code>query</code>, replaces occurrences of
<code>find</code> with <code>replace</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#replaceInput(org.apache.calcite.rel.RelNode,int,org.apache.calcite.rel.RelNode)">replaceInput</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;parent,
int&nbsp;ordinal,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newInput)</code></th>
<td class="colLast">
<div class="block">Returns a shallow copy of a relational expression with a particular
input replaced.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#replaceRecurse(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">replaceRecurse</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;query,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;find,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;replace)</code></th>
<td class="colLast">
<div class="block">Helper for <a href="../../plan/RelOptUtil.html#replace(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)"><code>RelOptUtil.replace(org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelNode)</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptLattice.</span><code><span class="memberNameLink"><a href="../../plan/RelOptLattice.html#rewrite(org.apache.calcite.rel.RelNode)">rewrite</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Rewrites a relational expression to use a lattice.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#setChildRels(org.apache.calcite.rel.RelNode,java.util.List)">setChildRels</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">
<div class="block">Assigns the input relational expressions of a given relational expression,
as seen by this particular call.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/AbstractRelOptPlanner.html#setImportance(org.apache.calcite.rel.RelNode,double)">setImportance</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
double&nbsp;importance)</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">RelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/RelOptPlanner.html#setImportance(org.apache.calcite.rel.RelNode,double)">setImportance</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
double&nbsp;importance)</code></th>
<td class="colLast">
<div class="block">Sets the importance of a relational expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/RelOptPlanner.html#setRoot(org.apache.calcite.rel.RelNode)">setRoot</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Sets the root node of this query.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#simplifyJoin(org.apache.calcite.rel.RelNode,com.google.common.collect.ImmutableList,org.apache.calcite.rel.core.JoinRelType)">simplifyJoin</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;joinRel,
com.google.common.collect.ImmutableList&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;aboveFilters,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType)</code></th>
<td class="colLast">
<div class="block">Simplifies outer joins if filter above would reject nulls.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#splitJoinCondition(java.util.List,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List,java.util.List)">splitJoinCondition</a></span>&#8203;(java.util.List&lt;<a href="../type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;sysFieldList,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;leftRel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rightRel,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;leftJoinKeys,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;rightJoinKeys,
java.util.List&lt;java.lang.Integer&gt;&nbsp;filterNulls,
java.util.List&lt;<a href="../../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&gt;&nbsp;rangeOp)</code></th>
<td class="colLast">
<div class="block">Splits out the equi-join (and optionally, a single non-equi) components
of a join condition, and returns what's left.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#splitJoinCondition(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List)">splitJoinCondition</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
java.util.List&lt;java.lang.Integer&gt;&nbsp;leftKeys,
java.util.List&lt;java.lang.Integer&gt;&nbsp;rightKeys,
java.util.List&lt;java.lang.Boolean&gt;&nbsp;filterNulls)</code></th>
<td class="colLast">
<div class="block">Splits out the equi-join components of a join condition, and returns
what's left.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptMaterializations.</span><code><span class="memberNameLink"><a href="../../plan/RelOptMaterializations.html#substitute(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelOptMaterialization)">substitute</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;root,
<a href="../../plan/RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&nbsp;materialization)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptMaterialization.</span><code><span class="memberNameLink"><a href="../../plan/RelOptMaterialization.html#toLeafJoinForm(org.apache.calcite.rel.RelNode)">toLeafJoinForm</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Converts a relational expression to a form where
<a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical"><code>LogicalJoin</code></a>s are
as close to leaves as possible.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#toString(org.apache.calcite.rel.RelNode)">toString</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Converts a relational expression to a string, showing just basic
attributes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#toString(org.apache.calcite.rel.RelNode,org.apache.calcite.sql.SqlExplainLevel)">toString</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../sql/SqlExplainLevel.html" title="enum in org.apache.calcite.sql">SqlExplainLevel</a>&nbsp;detailLevel)</code></th>
<td class="colLast">
<div class="block">Converts a relational expression to a string.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#transformTo(org.apache.calcite.rel.RelNode)">transformTo</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Registers that a rule has produced an equivalent relational expression,
but no other equivalences.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#transformTo(org.apache.calcite.rel.RelNode,java.util.Map)">transformTo</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;equiv)</code></th>
<td class="colLast">
<div class="block">Registers that a rule has produced an equivalent relational expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptMaterialization.</span><code><span class="memberNameLink"><a href="../../plan/RelOptMaterialization.html#tryUseStar(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelOptTable)">tryUseStar</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;starRelOptTable)</code></th>
<td class="colLast">
<div class="block">Converts a relational expression to one that uses a
<a href="../../schema/impl/StarTable.html" title="class in org.apache.calcite.schema.impl"><code>StarTable</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../plan/RelOptLattice.html" title="class in org.apache.calcite.plan">RelOptLattice</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptMaterializations.</span><code><span class="memberNameLink"><a href="../../plan/RelOptMaterializations.html#useLattices(org.apache.calcite.rel.RelNode,java.util.List)">useLattices</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../../plan/RelOptLattice.html" title="class in org.apache.calcite.plan">RelOptLattice</a>&gt;&nbsp;lattices)</code></th>
<td class="colLast">
<div class="block">Returns a list of RelNode transformed from all possible lattice uses.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../../plan/RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&gt;&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptMaterializations.</span><code><span class="memberNameLink"><a href="../../plan/RelOptMaterializations.html#useMaterializedViews(org.apache.calcite.rel.RelNode,java.util.List)">useMaterializedViews</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../../plan/RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&gt;&nbsp;materializations)</code></th>
<td class="colLast">
<div class="block">Returns a list of RelNode transformed from all possible combination of
materialized view uses.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#verifyTypeEquivalence(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,java.lang.Object)">verifyTypeEquivalence</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;originalRel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newRel,
java.lang.Object&nbsp;equivalenceClass)</code></th>
<td class="colLast">
<div class="block">Verifies that a row type being added to an equivalence class matches the
existing type, raising an assertion if this is not the case.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.CorrelationCollector.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.CorrelationCollector.html#visit(org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;other)</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">RelOptUtil.VariableSetVisitor.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.VariableSetVisitor.html#visit(org.apache.calcite.rel.RelNode,int,org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;p,
int&nbsp;ordinal,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;parent)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelTraitPropagationVisitor.</span><code><span class="memberNameLink"><a href="../../plan/RelTraitPropagationVisitor.html#visit(org.apache.calcite.rel.RelNode,int,org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
int&nbsp;ordinal,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;parent)</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">TableAccessMap.TableRelVisitor.</span><code><span class="memberNameLink"><a href="../../plan/TableAccessMap.TableRelVisitor.html#visit(org.apache.calcite.rel.RelNode,int,org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;p,
int&nbsp;ordinal,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;parent)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../plan/package-summary.html">org.apache.calcite.plan</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected static java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRule.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRule.html#convertList(java.util.List,org.apache.calcite.plan.RelTrait)">convertList</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;rels,
<a href="../../plan/RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>&nbsp;trait)</code></th>
<td class="colLast">
<div class="block">Converts a list of relational expressions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#setChildRels(org.apache.calcite.rel.RelNode,java.util.List)">setChildRels</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">
<div class="block">Assigns the input relational expressions of a given relational expression,
as seen by this particular call.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Iterable&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelOptPlanner.</span><code><span class="memberNameLink"><a href="../../plan/AbstractRelOptPlanner.html#subClasses(java.lang.Class)">subClasses</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;clazz)</code></th>
<td class="colLast">
<div class="block">Returns sub-classes of relational expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#transformTo(org.apache.calcite.rel.RelNode,java.util.Map)">transformTo</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;equiv)</code></th>
<td class="colLast">
<div class="block">Registers that a rule has produced an equivalent relational expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#transformTo(org.apache.calcite.rel.RelNode,java.util.Map)">transformTo</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;equiv)</code></th>
<td class="colLast">
<div class="block">Registers that a rule has produced an equivalent relational expression.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../plan/package-summary.html">org.apache.calcite.plan</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.Exists.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,boolean,boolean)">Exists</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
boolean&nbsp;indicator,
boolean&nbsp;outerJoin)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/MaterializedViewSubstitutionVisitor.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">MaterializedViewSubstitutionVisitor</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;target_,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;query_)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/MaterializedViewSubstitutionVisitor.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.tools.RelBuilderFactory)">MaterializedViewSubstitutionVisitor</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;target_,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;query_,
<a href="../../tools/RelBuilderFactory.html" title="interface in org.apache.calcite.tools">RelBuilderFactory</a>&nbsp;relBuilderFactory)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptListener.RelChosenEvent.html#%3Cinit%3E(java.lang.Object,org.apache.calcite.rel.RelNode)">RelChosenEvent</a></span>&#8203;(java.lang.Object&nbsp;eventSource,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptListener.RelDiscardedEvent.html#%3Cinit%3E(java.lang.Object,org.apache.calcite.rel.RelNode)">RelDiscardedEvent</a></span>&#8203;(java.lang.Object&nbsp;eventSource,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptListener.RelEquivalenceEvent.html#%3Cinit%3E(java.lang.Object,org.apache.calcite.rel.RelNode,java.lang.Object,boolean)">RelEquivalenceEvent</a></span>&#8203;(java.lang.Object&nbsp;eventSource,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.lang.Object&nbsp;equivalenceClass,
boolean&nbsp;isPhysical)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptListener.RelEvent.html#%3Cinit%3E(java.lang.Object,org.apache.calcite.rel.RelNode)">RelEvent</a></span>&#8203;(java.lang.Object&nbsp;eventSource,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptMaterialization.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelOptTable,java.util.List)">RelOptMaterialization</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;tableRel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;queryRel,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;starRelOptTable,
java.util.List&lt;java.lang.String&gt;&nbsp;qualifiedTableName)</code></th>
<td class="colLast">
<div class="block">Creates a RelOptMaterialization.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#%3Cinit%3E(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode%5B%5D,java.util.Map)">RelOptRuleCall</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;rels,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeInputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#%3Cinit%3E(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode%5B%5D,java.util.Map,java.util.List)">RelOptRuleCall</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;rels,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeInputs,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;parents)</code></th>
<td class="colLast">
<div class="block">Creates a RelOptRuleCall.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptListener.RuleAttemptedEvent.html#%3Cinit%3E(java.lang.Object,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelOptRuleCall,boolean)">RuleAttemptedEvent</a></span>&#8203;(java.lang.Object&nbsp;eventSource,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;ruleCall,
boolean&nbsp;before)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptListener.RuleEvent.html#%3Cinit%3E(java.lang.Object,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelOptRuleCall)">RuleEvent</a></span>&#8203;(java.lang.Object&nbsp;eventSource,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;ruleCall)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptListener.RuleProductionEvent.html#%3Cinit%3E(java.lang.Object,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelOptRuleCall,boolean)">RuleProductionEvent</a></span>&#8203;(java.lang.Object&nbsp;eventSource,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;ruleCall,
boolean&nbsp;before)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/SubstitutionVisitor.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">SubstitutionVisitor</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;target_,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;query_)</code></th>
<td class="colLast">
<div class="block">Creates a SubstitutionVisitor with the default rule set.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/SubstitutionVisitor.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,com.google.common.collect.ImmutableList)">SubstitutionVisitor</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;target_,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;query_,
com.google.common.collect.ImmutableList&lt;<a href="../../plan/SubstitutionVisitor.UnifyRule.html" title="class in org.apache.calcite.plan">SubstitutionVisitor.UnifyRule</a>&gt;&nbsp;rules)</code></th>
<td class="colLast">
<div class="block">Creates a SubstitutionVisitor with the default logical builder.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/SubstitutionVisitor.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,com.google.common.collect.ImmutableList,org.apache.calcite.tools.RelBuilderFactory)">SubstitutionVisitor</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;target_,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;query_,
com.google.common.collect.ImmutableList&lt;<a href="../../plan/SubstitutionVisitor.UnifyRule.html" title="class in org.apache.calcite.plan">SubstitutionVisitor.UnifyRule</a>&gt;&nbsp;rules,
<a href="../../tools/RelBuilderFactory.html" title="interface in org.apache.calcite.tools">RelBuilderFactory</a>&nbsp;relBuilderFactory)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/TableAccessMap.html#%3Cinit%3E(org.apache.calcite.rel.RelNode)">TableAccessMap</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Constructs a TableAccessMap for all tables accessed by a RelNode and its
descendants.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructor parameters in <a href="../../plan/package-summary.html">org.apache.calcite.plan</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/Convention.Impl.html#%3Cinit%3E(java.lang.String,java.lang.Class)">Impl</a></span>&#8203;(java.lang.String&nbsp;name,
java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;relClass)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptCluster.html#%3Cinit%3E(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rex.RexBuilder,java.util.concurrent.atomic.AtomicInteger,java.util.Map)">RelOptCluster</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.concurrent.atomic.AtomicInteger&nbsp;nextCorrel,
java.util.Map&lt;java.lang.String,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;mapCorrelToRel)</code></th>
<td class="colLast">
<div class="block">Creates a cluster.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptQuery.html#%3Cinit%3E(org.apache.calcite.plan.RelOptPlanner,java.util.concurrent.atomic.AtomicInteger,java.util.Map)">RelOptQuery</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
java.util.concurrent.atomic.AtomicInteger&nbsp;nextCorrel,
java.util.Map&lt;java.lang.String,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;mapCorrelToRel)</code></th>
<td class="colLast">
<div class="block">For use by RelOptCluster only.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#%3Cinit%3E(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode%5B%5D,java.util.Map)">RelOptRuleCall</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;rels,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeInputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#%3Cinit%3E(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode%5B%5D,java.util.Map)">RelOptRuleCall</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;rels,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeInputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#%3Cinit%3E(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode%5B%5D,java.util.Map,java.util.List)">RelOptRuleCall</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;rels,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeInputs,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;parents)</code></th>
<td class="colLast">
<div class="block">Creates a RelOptRuleCall.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#%3Cinit%3E(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode%5B%5D,java.util.Map,java.util.List)">RelOptRuleCall</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;rels,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeInputs,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;parents)</code></th>
<td class="colLast">
<div class="block">Creates a RelOptRuleCall.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#%3Cinit%3E(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode%5B%5D,java.util.Map,java.util.List)">RelOptRuleCall</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;rels,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeInputs,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;parents)</code></th>
<td class="colLast">
<div class="block">Creates a RelOptRuleCall.</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../plan/hep/package-summary.html">org.apache.calcite.plan.hep</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../../plan/hep/package-summary.html">org.apache.calcite.plan.hep</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../../plan/hep/HepRelVertex.html" title="class in org.apache.calcite.plan.hep">HepRelVertex</a></span></code></th>
<td class="colLast">
<div class="block">HepRelVertex wraps a real <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> as a vertex in a DAG representing
the entire query expression.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../../plan/hep/package-summary.html">org.apache.calcite.plan.hep</a> declared as <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepRelVertex.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepRelVertex.html#currentRel">currentRel</a></span></code></th>
<td class="colLast">
<div class="block">Wrapped rel currently chosen for implementation of expression.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../../plan/hep/package-summary.html">org.apache.calcite.plan.hep</a> with type parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../linq4j/function/Function2.html" title="interface in org.apache.calcite.linq4j.function">Function2</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.lang.Void&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#onCopyHook">onCopyHook</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../linq4j/function/Function2.html" title="interface in org.apache.calcite.linq4j.function">Function2</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.lang.Void&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#onCopyHook">onCopyHook</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepRuleCall.html#results">results</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../plan/hep/package-summary.html">org.apache.calcite.plan.hep</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#buildFinalPlan(org.apache.calcite.plan.hep.HepRelVertex)">buildFinalPlan</a></span>&#8203;(<a href="../../plan/hep/HepRelVertex.html" title="class in org.apache.calcite.plan.hep">HepRelVertex</a>&nbsp;vertex)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#changeTraits(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet)">changeTraits</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;toTraits)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepRelVertex.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepRelVertex.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#ensureRegistered(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">ensureRegistered</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;equivRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#findBestExp()">findBestExp</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepRelVertex.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepRelVertex.html#getCurrentRel()">getCurrentRel</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#getRoot()">getRoot</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#register(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">register</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;equivRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../plan/hep/package-summary.html">org.apache.calcite.plan.hep</a> that return types with arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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>(package private) java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepRuleCall.html#getResults()">getResults</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../plan/hep/package-summary.html">org.apache.calcite.plan.hep</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 <a href="../../plan/hep/HepRelVertex.html" title="class in org.apache.calcite.plan.hep">HepRelVertex</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#addRelToGraph(org.apache.calcite.rel.RelNode)">addRelToGraph</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#changeTraits(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet)">changeTraits</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;toTraits)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#ensureRegistered(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">ensureRegistered</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;equivRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#getRelMetadataTimestamp(org.apache.calcite.rel.RelNode)">getRelMetadataTimestamp</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#isRegistered(org.apache.calcite.rel.RelNode)">isRegistered</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#matchOperands(org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode,java.util.List,java.util.Map)">matchOperands</a></span>&#8203;(<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;bindings,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeChildren)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#onCopy(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">onCopy</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#register(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">register</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;equivRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepRelVertex.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepRelVertex.html#replaceRel(org.apache.calcite.rel.RelNode)">replaceRel</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newRel)</code></th>
<td class="colLast">
<div class="block">Replaces the implementation for this expression with a new one.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#setRoot(org.apache.calcite.rel.RelNode)">setRoot</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepRuleCall.html#transformTo(org.apache.calcite.rel.RelNode,java.util.Map)">transformTo</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;equiv)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#updateVertex(org.apache.calcite.plan.hep.HepRelVertex,org.apache.calcite.rel.RelNode)">updateVertex</a></span>&#8203;(<a href="../../plan/hep/HepRelVertex.html" title="class in org.apache.calcite.plan.hep">HepRelVertex</a>&nbsp;vertex,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../plan/hep/package-summary.html">org.apache.calcite.plan.hep</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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>&lt;M extends <a href="../metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>&gt;<br><a href="../metadata/UnboundMetadata.html" title="interface in org.apache.calcite.rel.metadata">UnboundMetadata</a>&lt;M&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepRelMetadataProvider.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepRelMetadataProvider.html#apply(java.lang.Class,java.lang.Class)">apply</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;relClass,
java.lang.Class&lt;? extends M&gt;&nbsp;metadataClass)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepRelVertex.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepRelVertex.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#matchOperands(org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode,java.util.List,java.util.Map)">matchOperands</a></span>&#8203;(<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;bindings,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeChildren)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#matchOperands(org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode,java.util.List,java.util.Map)">matchOperands</a></span>&#8203;(<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;bindings,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeChildren)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepPlanner.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#matchOperands(org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode,java.util.List,java.util.Map)">matchOperands</a></span>&#8203;(<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;bindings,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeChildren)</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">HepRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepRuleCall.html#transformTo(org.apache.calcite.rel.RelNode,java.util.Map)">transformTo</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;equiv)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">HepRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/hep/HepRuleCall.html#transformTo(org.apache.calcite.rel.RelNode,java.util.Map)">transformTo</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;equiv)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../plan/hep/package-summary.html">org.apache.calcite.plan.hep</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/hep/HepRelVertex.html#%3Cinit%3E(org.apache.calcite.rel.RelNode)">HepRelVertex</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/hep/HepRuleCall.html#%3Cinit%3E(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode%5B%5D,java.util.Map,java.util.List)">HepRuleCall</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;rels,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeChildren,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;parents)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructor parameters in <a href="../../plan/hep/package-summary.html">org.apache.calcite.plan.hep</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#%3Cinit%3E(org.apache.calcite.plan.hep.HepProgram,org.apache.calcite.plan.Context,boolean,org.apache.calcite.linq4j.function.Function2,org.apache.calcite.plan.RelOptCostFactory)">HepPlanner</a></span>&#8203;(<a href="../../plan/hep/HepProgram.html" title="class in org.apache.calcite.plan.hep">HepProgram</a>&nbsp;program,
<a href="../../plan/Context.html" title="interface in org.apache.calcite.plan">Context</a>&nbsp;context,
boolean&nbsp;noDag,
<a href="../../linq4j/function/Function2.html" title="interface in org.apache.calcite.linq4j.function">Function2</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.lang.Void&gt;&nbsp;onCopyHook,
<a href="../../plan/RelOptCostFactory.html" title="interface in org.apache.calcite.plan">RelOptCostFactory</a>&nbsp;costFactory)</code></th>
<td class="colLast">
<div class="block">Creates a new HepPlanner with the option to keep the graph a
tree (noDag = true) or allow DAG (noDag = false).</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/hep/HepPlanner.html#%3Cinit%3E(org.apache.calcite.plan.hep.HepProgram,org.apache.calcite.plan.Context,boolean,org.apache.calcite.linq4j.function.Function2,org.apache.calcite.plan.RelOptCostFactory)">HepPlanner</a></span>&#8203;(<a href="../../plan/hep/HepProgram.html" title="class in org.apache.calcite.plan.hep">HepProgram</a>&nbsp;program,
<a href="../../plan/Context.html" title="interface in org.apache.calcite.plan">Context</a>&nbsp;context,
boolean&nbsp;noDag,
<a href="../../linq4j/function/Function2.html" title="interface in org.apache.calcite.linq4j.function">Function2</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.lang.Void&gt;&nbsp;onCopyHook,
<a href="../../plan/RelOptCostFactory.html" title="interface in org.apache.calcite.plan">RelOptCostFactory</a>&nbsp;costFactory)</code></th>
<td class="colLast">
<div class="block">Creates a new HepPlanner with the option to keep the graph a
tree (noDag = true) or allow DAG (noDag = false).</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/hep/HepRuleCall.html#%3Cinit%3E(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode%5B%5D,java.util.Map,java.util.List)">HepRuleCall</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;rels,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeChildren,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;parents)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/hep/HepRuleCall.html#%3Cinit%3E(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode%5B%5D,java.util.Map,java.util.List)">HepRuleCall</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;rels,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeChildren,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;parents)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/hep/HepRuleCall.html#%3Cinit%3E(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode%5B%5D,java.util.Map,java.util.List)">HepRuleCall</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;rels,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeChildren,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;parents)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.plan.volcano">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../plan/volcano/package-summary.html">org.apache.calcite.plan.volcano</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../../plan/volcano/package-summary.html">org.apache.calcite.plan.volcano</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../../plan/volcano/AbstractConverter.html" title="class in org.apache.calcite.plan.volcano">AbstractConverter</a></span></code></th>
<td class="colLast">
<div class="block">Converts a relational expression to any given output convention.</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="../../plan/volcano/RelSubset.html" title="class in org.apache.calcite.plan.volcano">RelSubset</a></span></code></th>
<td class="colLast">
<div class="block">Subset of an equivalence class where all relational expressions have the
same physical properties.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../../plan/volcano/package-summary.html">org.apache.calcite.plan.volcano</a> declared as <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSubset.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSubset.html#best">best</a></span></code></th>
<td class="colLast">
<div class="block">best known plan</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#originalRoot">originalRoot</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSet.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSet.html#rel">rel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.DirectProvenance.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.DirectProvenance.html#source">source</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../../plan/volcano/package-summary.html">org.apache.calcite.plan.volcano</a> with type parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#classOperands">classOperands</a></span></code></th>
<td class="colLast">
<div class="block">Operands that apply to a given class of <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoRuleCall.html#generatedRelList">generatedRelList</a></span></code></th>
<td class="colLast">
<div class="block">List of <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> generated by this call.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.Map&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;java.lang.String,&#8203;<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#mapDigestToRel">mapDigestToRel</a></span></code></th>
<td class="colLast">
<div class="block">Canonical map from <code>digest</code> to the unique
<a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>relational expression</code></a> with that digest.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.util.IdentityHashMap&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../plan/volcano/RelSubset.html" title="class in org.apache.calcite.plan.volcano">RelSubset</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#mapRel2Subset">mapRel2Subset</a></span></code></th>
<td class="colLast">
<div class="block">Map each registered expression (<a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>) to its equivalence set
(<a href="../../plan/volcano/RelSubset.html" title="class in org.apache.calcite.plan.volcano"><code>RelSubset</code></a>).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSet.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSet.html#parents">parents</a></span></code></th>
<td class="colLast">
<div class="block">Relational expressions that have a subset in this set as a child.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../plan/volcano/VolcanoPlanner.Provenance.html" title="class in org.apache.calcite.plan.volcano">VolcanoPlanner.Provenance</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#provenanceMap">provenanceMap</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.lang.Double&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#relImportances">relImportances</a></span></code></th>
<td class="colLast">
<div class="block">The importance of relational expressions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSet.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSet.html#rels">rels</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) com.google.common.collect.ImmutableList&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.RuleProvenance.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.RuleProvenance.html#rels">rels</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../plan/volcano/package-summary.html">org.apache.calcite.plan.volcano</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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>(package private) <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSubset.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSubset.html#buildCheapestPlan(org.apache.calcite.plan.volcano.VolcanoPlanner)">buildCheapestPlan</a></span>&#8203;(<a href="../../plan/volcano/VolcanoPlanner.html" title="class in org.apache.calcite.plan.volcano">VolcanoPlanner</a>&nbsp;planner)</code></th>
<td class="colLast">
<div class="block">Recursively builds a tree consisting of the cheapest plan at each node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#changeTraits(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet)">changeTraits</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;toTraits)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#changeTraitsUsingConverters(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet)">changeTraitsUsingConverters</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;toTraits)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#changeTraitsUsingConverters(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet,boolean)">changeTraitsUsingConverters</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;toTraits,
boolean&nbsp;allowAbstractConverters)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#completeConversion(org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.linq4j.tree.Expressions.FluentList)">completeConversion</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
boolean&nbsp;allowInfiniteCostConverters,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;toTraits,
<a href="../../linq4j/tree/Expressions.FluentList.html" title="interface in org.apache.calcite.linq4j.tree">Expressions.FluentList</a>&lt;<a href="../../plan/RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a>&gt;&nbsp;usedTraits)</code></th>
<td class="colLast">
<div class="block">Converts traits using well-founded induction.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractConverter.</span><code><span class="memberNameLink"><a href="../../plan/volcano/AbstractConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSubset.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSubset.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#findBestExp()">findBestExp</a></span>()</code></th>
<td class="colLast">
<div class="block">Finds the most efficient expression to implement the query given via
<a href="../../plan/RelOptPlanner.html#setRoot(org.apache.calcite.rel.RelNode)"><code>RelOptPlanner.setRoot(org.apache.calcite.rel.RelNode)</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSubset.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSubset.html#getBest()">getBest</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSubset.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSubset.html#getOriginal()">getOriginal</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#getRoot()">getRoot</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSubset.CheapestPlanReplacer.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSubset.CheapestPlanReplacer.html#visit(org.apache.calcite.rel.RelNode,int,org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;p,
int&nbsp;ordinal,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;parent)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../plan/volcano/package-summary.html">org.apache.calcite.plan.volcano</a> that return types with arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSet.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSet.html#getParentRels()">getParentRels</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns all of the <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>s which reference <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>s in
this set.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Collection&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSubset.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSubset.html#getParentRels()">getParentRels</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a list of relational expressions one of whose children is this
subset.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) java.util.Set&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSubset.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSubset.html#getParents()">getParents</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the collection of RelNodes one of whose inputs is in this
subset.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSubset.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSubset.html#getRelList()">getRelList</a></span>()</code></th>
<td class="colLast">
<div class="block">As <a href="../../plan/volcano/RelSubset.html#getRels()"><code>RelSubset.getRels()</code></a> but returns a list.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Iterable&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSubset.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSubset.html#getRels()">getRels</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the rel nodes in this rel subset.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSet.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSet.html#getRelsFromAllSubsets()">getRelsFromAllSubsets</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../plan/volcano/package-summary.html">org.apache.calcite.plan.volcano</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../../plan/volcano/RelSubset.html" title="class in org.apache.calcite.plan.volcano">RelSubset</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSet.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSet.html#add(org.apache.calcite.rel.RelNode)">add</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Adds a relational expression to a set, with its results available under a
particular calling convention.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSubset.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSubset.html#add(org.apache.calcite.rel.RelNode)">add</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Adds expression <code>rel</code> to this subset.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSet.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSet.html#addInternal(org.apache.calcite.rel.RelNode)">addInternal</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Adds an expression <code>rel</code> to this set, without creating a
<a href="../../plan/volcano/RelSubset.html" title="class in org.apache.calcite.plan.volcano"><code>RelSubset</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../plan/volcano/RelSubset.html" title="class in org.apache.calcite.plan.volcano">RelSubset</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#addRelToSet(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.volcano.RelSet)">addRelToSet</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/volcano/RelSet.html" title="class in org.apache.calcite.plan.volcano">RelSet</a>&nbsp;set)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#changeTraits(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet)">changeTraits</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;toTraits)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#changeTraitsUsingConverters(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet)">changeTraitsUsingConverters</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;toTraits)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#changeTraitsUsingConverters(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet,boolean)">changeTraitsUsingConverters</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;toTraits,
boolean&nbsp;allowAbstractConverters)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RuleQueue.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RuleQueue.html#checkDuplicateSubsets(java.util.Deque,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode%5B%5D)">checkDuplicateSubsets</a></span>&#8203;(java.util.Deque&lt;<a href="../../plan/volcano/RelSubset.html" title="class in org.apache.calcite.plan.volcano">RelSubset</a>&gt;&nbsp;subsets,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;rels)</code></th>
<td class="colLast">
<div class="block">Recursively checks whether there are any duplicate subsets along any path
from root of the operand tree to one of the leaves.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#checkForSatisfiedConverters(org.apache.calcite.plan.volcano.RelSet,org.apache.calcite.rel.RelNode)">checkForSatisfiedConverters</a></span>&#8203;(<a href="../../plan/volcano/RelSet.html" title="class in org.apache.calcite.plan.volcano">RelSet</a>&nbsp;set,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#completeConversion(org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.linq4j.tree.Expressions.FluentList)">completeConversion</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
boolean&nbsp;allowInfiniteCostConverters,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;toTraits,
<a href="../../linq4j/tree/Expressions.FluentList.html" title="interface in org.apache.calcite.linq4j.tree">Expressions.FluentList</a>&lt;<a href="../../plan/RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a>&gt;&nbsp;usedTraits)</code></th>
<td class="colLast">
<div class="block">Converts traits using well-founded induction.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../plan/volcano/RelSubset.html" title="class in org.apache.calcite.plan.volcano">RelSubset</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#ensureRegistered(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">ensureRegistered</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;equivRel)</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">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#ensureRegistered(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.volcano.VolcanoRuleCall)">ensureRegistered</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;equivRel,
<a href="../../plan/volcano/VolcanoRuleCall.html" title="class in org.apache.calcite.plan.volcano">VolcanoRuleCall</a>&nbsp;ruleCall)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#fireRules(org.apache.calcite.rel.RelNode,boolean)">fireRules</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
boolean&nbsp;deferred)</code></th>
<td class="colLast">
<div class="block">Fires all rules matched by a relational expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#fixUpInputs(org.apache.calcite.rel.RelNode)">fixUpInputs</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#getCost(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getCost</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#getRelMetadataTimestamp(org.apache.calcite.rel.RelNode)">getRelMetadataTimestamp</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../plan/volcano/RelSet.html" title="class in org.apache.calcite.plan.volcano">RelSet</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#getSet(org.apache.calcite.rel.RelNode)">getSet</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Finds an expression's equivalence set.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../plan/volcano/RelSubset.html" title="class in org.apache.calcite.plan.volcano">RelSubset</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#getSubset(org.apache.calcite.rel.RelNode)">getSubset</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the subset that a relational expression belongs to.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../plan/volcano/RelSubset.html" title="class in org.apache.calcite.plan.volcano">RelSubset</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#getSubset(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet)">getSubset</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../plan/volcano/RelSubset.html" title="class in org.apache.calcite.plan.volcano">RelSubset</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#getSubset(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet,boolean)">getSubset</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
boolean&nbsp;createIfMissing)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.util.List&lt;<a href="../../plan/volcano/RelSubset.html" title="class in org.apache.calcite.plan.volcano">RelSubset</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSubset.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSubset.html#inputSubsets(org.apache.calcite.rel.RelNode)">inputSubsets</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;parent)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#isRegistered(org.apache.calcite.rel.RelNode)">isRegistered</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;java.lang.String,&#8203;<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#key(org.apache.calcite.rel.RelNode)">key</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Computes the key for <a href="../../plan/volcano/VolcanoPlanner.html#mapDigestToRel"><code>VolcanoPlanner.mapDigestToRel</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoRuleCall.html#match(org.apache.calcite.rel.RelNode)">match</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Applies this rule, with a given relational expression in the first slot.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSet.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSet.html#obliterateRelNode(org.apache.calcite.rel.RelNode)">obliterateRelNode</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Removes all references to a specific <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> in both the subsets
and their parent relationships.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#onNewClass(org.apache.calcite.rel.RelNode)">onNewClass</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSet.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSet.html#postEquivalenceEvent(org.apache.calcite.plan.volcano.VolcanoPlanner,org.apache.calcite.rel.RelNode)">postEquivalenceEvent</a></span>&#8203;(<a href="../../plan/volcano/VolcanoPlanner.html" title="class in org.apache.calcite.plan.volcano">VolcanoPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSubset.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSubset.html#propagateCostImprovements(org.apache.calcite.plan.volcano.VolcanoPlanner,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,java.util.Set)">propagateCostImprovements</a></span>&#8203;(<a href="../../plan/volcano/VolcanoPlanner.html" title="class in org.apache.calcite.plan.volcano">VolcanoPlanner</a>&nbsp;planner,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.Set&lt;<a href="../../plan/volcano/RelSubset.html" title="class in org.apache.calcite.plan.volcano">RelSubset</a>&gt;&nbsp;activeSet)</code></th>
<td class="colLast">
<div class="block">Checks whether a relexp has made its subset cheaper, and if it so,
recursively checks whether that subset's parents have gotten cheaper.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSubset.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSubset.html#propagateCostImprovements0(org.apache.calcite.plan.volcano.VolcanoPlanner,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,java.util.Set)">propagateCostImprovements0</a></span>&#8203;(<a href="../../plan/volcano/VolcanoPlanner.html" title="class in org.apache.calcite.plan.volcano">VolcanoPlanner</a>&nbsp;planner,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.Set&lt;<a href="../../plan/volcano/RelSubset.html" title="class in org.apache.calcite.plan.volcano">RelSubset</a>&gt;&nbsp;activeSet)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.lang.String</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#provenance(org.apache.calcite.rel.RelNode)">provenance</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;root)</code></th>
<td class="colLast">
<div class="block">Returns a multi-line string describing the provenance of a tree of
relational expressions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#provenanceRecurse(java.io.PrintWriter,org.apache.calcite.rel.RelNode,int,java.util.Set)">provenanceRecurse</a></span>&#8203;(java.io.PrintWriter&nbsp;pw,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
int&nbsp;i,
java.util.Set&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;visited)</code></th>
<td class="colLast">
<div class="block">Helper for <a href="../../plan/volcano/VolcanoPlanner.html#provenance(org.apache.calcite.rel.RelNode)"><code>VolcanoPlanner.provenance(org.apache.calcite.rel.RelNode)</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../plan/volcano/RelSubset.html" title="class in org.apache.calcite.plan.volcano">RelSubset</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#register(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">register</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;equivRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../plan/volcano/RelSubset.html" title="class in org.apache.calcite.plan.volcano">RelSubset</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#registerImpl(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.volcano.RelSet)">registerImpl</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/volcano/RelSet.html" title="class in org.apache.calcite.plan.volcano">RelSet</a>&nbsp;set)</code></th>
<td class="colLast">
<div class="block">Registers a new expression <code>exp</code> and queues up rule matches.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#rename(org.apache.calcite.rel.RelNode)">rename</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Re-computes the digest of a <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#reregister(org.apache.calcite.plan.volcano.RelSet,org.apache.calcite.rel.RelNode)">reregister</a></span>&#8203;(<a href="../../plan/volcano/RelSet.html" title="class in org.apache.calcite.plan.volcano">RelSet</a>&nbsp;set,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Registers a <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>, which has already been registered, in a new
<a href="../../plan/volcano/RelSet.html" title="class in org.apache.calcite.plan.volcano"><code>RelSet</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#setImportance(org.apache.calcite.rel.RelNode,double)">setImportance</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
double&nbsp;importance)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#setRoot(org.apache.calcite.rel.RelNode)">setRoot</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</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">VolcanoRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoRuleCall.html#transformTo(org.apache.calcite.rel.RelNode,java.util.Map)">transformTo</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;equiv)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSubset.CheapestPlanReplacer.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSubset.CheapestPlanReplacer.html#visit(org.apache.calcite.rel.RelNode,int,org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;p,
int&nbsp;ordinal,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;parent)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../plan/volcano/package-summary.html">org.apache.calcite.plan.volcano</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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>&lt;M extends <a href="../metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>&gt;<br><a href="../metadata/UnboundMetadata.html" title="interface in org.apache.calcite.rel.metadata">UnboundMetadata</a>&lt;M&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoRelMetadataProvider.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoRelMetadataProvider.html#apply(java.lang.Class,java.lang.Class)">apply</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;relClass,
java.lang.Class&lt;? extends M&gt;&nbsp;metadataClass)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractConverter.</span><code><span class="memberNameLink"><a href="../../plan/volcano/AbstractConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelSubset.</span><code><span class="memberNameLink"><a href="../../plan/volcano/RelSubset.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoPlanner.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.html#provenanceRecurse(java.io.PrintWriter,org.apache.calcite.rel.RelNode,int,java.util.Set)">provenanceRecurse</a></span>&#8203;(java.io.PrintWriter&nbsp;pw,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
int&nbsp;i,
java.util.Set&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;visited)</code></th>
<td class="colLast">
<div class="block">Helper for <a href="../../plan/volcano/VolcanoPlanner.html#provenance(org.apache.calcite.rel.RelNode)"><code>VolcanoPlanner.provenance(org.apache.calcite.rel.RelNode)</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VolcanoRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoRuleCall.html#transformTo(org.apache.calcite.rel.RelNode,java.util.Map)">transformTo</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;equiv)</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">VolcanoRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoRuleCall.html#transformTo(org.apache.calcite.rel.RelNode,java.util.Map)">transformTo</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;equiv)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../plan/volcano/package-summary.html">org.apache.calcite.plan.volcano</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.DirectProvenance.html#%3Cinit%3E(org.apache.calcite.rel.RelNode)">DirectProvenance</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;source)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoRuleCall.html#%3Cinit%3E(org.apache.calcite.plan.volcano.VolcanoPlanner,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode%5B%5D,java.util.Map)">VolcanoRuleCall</a></span>&#8203;(<a href="../../plan/volcano/VolcanoPlanner.html" title="class in org.apache.calcite.plan.volcano">VolcanoPlanner</a>&nbsp;planner,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;rels,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeInputs)</code></th>
<td class="colLast">
<div class="block">Creates a rule call, internal, with array to hold bindings.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoRuleMatch.html#%3Cinit%3E(org.apache.calcite.plan.volcano.VolcanoPlanner,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode%5B%5D,java.util.Map)">VolcanoRuleMatch</a></span>&#8203;(<a href="../../plan/volcano/VolcanoPlanner.html" title="class in org.apache.calcite.plan.volcano">VolcanoPlanner</a>&nbsp;volcanoPlanner,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand0,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;rels,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeInputs)</code></th>
<td class="colLast">
<div class="block">Creates a <code>VolcanoRuleMatch</code>.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructor parameters in <a href="../../plan/volcano/package-summary.html">org.apache.calcite.plan.volcano</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoPlanner.RuleProvenance.html#%3Cinit%3E(org.apache.calcite.plan.RelOptRule,com.google.common.collect.ImmutableList,int)">RuleProvenance</a></span>&#8203;(<a href="../../plan/RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a>&nbsp;rule,
com.google.common.collect.ImmutableList&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;rels,
int&nbsp;callId)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoRuleCall.html#%3Cinit%3E(org.apache.calcite.plan.volcano.VolcanoPlanner,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode%5B%5D,java.util.Map)">VolcanoRuleCall</a></span>&#8203;(<a href="../../plan/volcano/VolcanoPlanner.html" title="class in org.apache.calcite.plan.volcano">VolcanoPlanner</a>&nbsp;planner,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;rels,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeInputs)</code></th>
<td class="colLast">
<div class="block">Creates a rule call, internal, with array to hold bindings.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoRuleCall.html#%3Cinit%3E(org.apache.calcite.plan.volcano.VolcanoPlanner,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode%5B%5D,java.util.Map)">VolcanoRuleCall</a></span>&#8203;(<a href="../../plan/volcano/VolcanoPlanner.html" title="class in org.apache.calcite.plan.volcano">VolcanoPlanner</a>&nbsp;planner,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;rels,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeInputs)</code></th>
<td class="colLast">
<div class="block">Creates a rule call, internal, with array to hold bindings.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoRuleMatch.html#%3Cinit%3E(org.apache.calcite.plan.volcano.VolcanoPlanner,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode%5B%5D,java.util.Map)">VolcanoRuleMatch</a></span>&#8203;(<a href="../../plan/volcano/VolcanoPlanner.html" title="class in org.apache.calcite.plan.volcano">VolcanoPlanner</a>&nbsp;volcanoPlanner,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand0,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;rels,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeInputs)</code></th>
<td class="colLast">
<div class="block">Creates a <code>VolcanoRuleMatch</code>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/volcano/VolcanoRuleMatch.html#%3Cinit%3E(org.apache.calcite.plan.volcano.VolcanoPlanner,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.rel.RelNode%5B%5D,java.util.Map)">VolcanoRuleMatch</a></span>&#8203;(<a href="../../plan/volcano/VolcanoPlanner.html" title="class in org.apache.calcite.plan.volcano">VolcanoPlanner</a>&nbsp;volcanoPlanner,
<a href="../../plan/RelOptRuleOperand.html" title="class in org.apache.calcite.plan">RelOptRuleOperand</a>&nbsp;operand0,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;rels,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;nodeInputs)</code></th>
<td class="colLast">
<div class="block">Creates a <code>VolcanoRuleMatch</code>.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.prepare">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../prepare/package-summary.html">org.apache.calcite.prepare</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../../prepare/package-summary.html">org.apache.calcite.prepare</a> declared as <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Prepare.Materialization.</span><code><span class="memberNameLink"><a href="../../prepare/Prepare.Materialization.html#queryRel">queryRel</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression for the query to populate the table.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteMaterializer.Callback.</span><code><span class="memberNameLink"><a href="../../prepare/CalciteMaterializer.Callback.html#rel">rel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">QueryableRelBuilder.</span><code><span class="memberNameLink"><a href="../../prepare/QueryableRelBuilder.html#rel">rel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Prepare.PreparedResultImpl.</span><code><span class="memberNameLink"><a href="../../prepare/Prepare.PreparedResultImpl.html#rootRel">rootRel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Prepare.Materialization.</span><code><span class="memberNameLink"><a href="../../prepare/Prepare.Materialization.html#tableRel">tableRel</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression for the table.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../prepare/package-summary.html">org.apache.calcite.prepare</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PlannerImpl.</span><code><span class="memberNameLink"><a href="../../prepare/PlannerImpl.html#convert(org.apache.calcite.sql.SqlNode)">convert</a></span>&#8203;(<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;sql)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepareImpl.CalcitePreparingStmt.</span><code><span class="memberNameLink"><a href="../../prepare/CalcitePrepareImpl.CalcitePreparingStmt.html#decorrelate(org.apache.calcite.sql2rel.SqlToRelConverter,org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.RelNode)">decorrelate</a></span>&#8203;(<a href="../../sql2rel/SqlToRelConverter.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter</a>&nbsp;sqlToRelConverter,
<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;query,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected abstract <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Prepare.</span><code><span class="memberNameLink"><a href="../../prepare/Prepare.html#decorrelate(org.apache.calcite.sql2rel.SqlToRelConverter,org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.RelNode)">decorrelate</a></span>&#8203;(<a href="../../sql2rel/SqlToRelConverter.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter</a>&nbsp;sqlToRelConverter,
<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;query,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepareImpl.CalcitePreparingStmt.</span><code><span class="memberNameLink"><a href="../../prepare/CalcitePrepareImpl.CalcitePreparingStmt.html#flattenTypes(org.apache.calcite.rel.RelNode,boolean)">flattenTypes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel,
boolean&nbsp;restructure)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>abstract <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Prepare.</span><code><span class="memberNameLink"><a href="../../prepare/Prepare.html#flattenTypes(org.apache.calcite.rel.RelNode,boolean)">flattenTypes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel,
boolean&nbsp;restructure)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Prepare.PreparedResultImpl.</span><code><span class="memberNameLink"><a href="../../prepare/Prepare.PreparedResultImpl.html#getRootRel()">getRootRel</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">QueryableRelBuilder.</span><code><span class="memberNameLink"><a href="../../prepare/QueryableRelBuilder.html#toRel(org.apache.calcite.linq4j.Queryable)">toRel</a></span>&#8203;(<a href="../../linq4j/Queryable.html" title="interface in org.apache.calcite.linq4j">Queryable</a>&lt;<a href="../../prepare/QueryableRelBuilder.html" title="type parameter in QueryableRelBuilder">T</a>&gt;&nbsp;queryable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptTableImpl.</span><code><span class="memberNameLink"><a href="../../prepare/RelOptTableImpl.html#toRel(org.apache.calcite.plan.RelOptTable.ToRelContext)">toRel</a></span>&#8203;(<a href="../../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a>&nbsp;context)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PlannerImpl.</span><code><span class="memberNameLink"><a href="../../prepare/PlannerImpl.html#transform(int,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">transform</a></span>&#8203;(int&nbsp;ruleSetIndex,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;requiredOutputTraits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LixToRelTranslator.</span><code><span class="memberNameLink"><a href="../../prepare/LixToRelTranslator.html#translate(org.apache.calcite.linq4j.Queryable)">translate</a></span>&#8203;(<a href="../../linq4j/Queryable.html" title="interface in org.apache.calcite.linq4j">Queryable</a>&lt;T&gt;&nbsp;queryable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LixToRelTranslator.</span><code><span class="memberNameLink"><a href="../../prepare/LixToRelTranslator.html#translate(org.apache.calcite.linq4j.tree.Expression)">translate</a></span>&#8203;(<a href="../../linq4j/tree/Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a>&nbsp;expression)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteMaterializer.RelNullShuttle.</span><code><span class="memberNameLink"><a href="../../prepare/CalciteMaterializer.RelNullShuttle.html#visit(org.apache.calcite.rel.core.TableFunctionScan)">visit</a></span>&#8203;(<a href="../core/TableFunctionScan.html" title="class in org.apache.calcite.rel.core">TableFunctionScan</a>&nbsp;scan)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteMaterializer.RelNullShuttle.</span><code><span class="memberNameLink"><a href="../../prepare/CalciteMaterializer.RelNullShuttle.html#visit(org.apache.calcite.rel.core.TableScan)">visit</a></span>&#8203;(<a href="../core/TableScan.html" title="class in org.apache.calcite.rel.core">TableScan</a>&nbsp;scan)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteMaterializer.RelNullShuttle.</span><code><span class="memberNameLink"><a href="../../prepare/CalciteMaterializer.RelNullShuttle.html#visit(org.apache.calcite.rel.logical.LogicalAggregate)">visit</a></span>&#8203;(<a href="../logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical">LogicalAggregate</a>&nbsp;aggregate)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteMaterializer.RelNullShuttle.</span><code><span class="memberNameLink"><a href="../../prepare/CalciteMaterializer.RelNullShuttle.html#visit(org.apache.calcite.rel.logical.LogicalCorrelate)">visit</a></span>&#8203;(<a href="../logical/LogicalCorrelate.html" title="class in org.apache.calcite.rel.logical">LogicalCorrelate</a>&nbsp;correlate)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteMaterializer.RelNullShuttle.</span><code><span class="memberNameLink"><a href="../../prepare/CalciteMaterializer.RelNullShuttle.html#visit(org.apache.calcite.rel.logical.LogicalExchange)">visit</a></span>&#8203;(<a href="../logical/LogicalExchange.html" title="class in org.apache.calcite.rel.logical">LogicalExchange</a>&nbsp;exchange)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteMaterializer.RelNullShuttle.</span><code><span class="memberNameLink"><a href="../../prepare/CalciteMaterializer.RelNullShuttle.html#visit(org.apache.calcite.rel.logical.LogicalFilter)">visit</a></span>&#8203;(<a href="../logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a>&nbsp;filter)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteMaterializer.RelNullShuttle.</span><code><span class="memberNameLink"><a href="../../prepare/CalciteMaterializer.RelNullShuttle.html#visit(org.apache.calcite.rel.logical.LogicalIntersect)">visit</a></span>&#8203;(<a href="../logical/LogicalIntersect.html" title="class in org.apache.calcite.rel.logical">LogicalIntersect</a>&nbsp;intersect)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteMaterializer.RelNullShuttle.</span><code><span class="memberNameLink"><a href="../../prepare/CalciteMaterializer.RelNullShuttle.html#visit(org.apache.calcite.rel.logical.LogicalJoin)">visit</a></span>&#8203;(<a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&nbsp;join)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteMaterializer.RelNullShuttle.</span><code><span class="memberNameLink"><a href="../../prepare/CalciteMaterializer.RelNullShuttle.html#visit(org.apache.calcite.rel.logical.LogicalMatch)">visit</a></span>&#8203;(<a href="../logical/LogicalMatch.html" title="class in org.apache.calcite.rel.logical">LogicalMatch</a>&nbsp;match)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteMaterializer.RelNullShuttle.</span><code><span class="memberNameLink"><a href="../../prepare/CalciteMaterializer.RelNullShuttle.html#visit(org.apache.calcite.rel.logical.LogicalMinus)">visit</a></span>&#8203;(<a href="../logical/LogicalMinus.html" title="class in org.apache.calcite.rel.logical">LogicalMinus</a>&nbsp;minus)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteMaterializer.RelNullShuttle.</span><code><span class="memberNameLink"><a href="../../prepare/CalciteMaterializer.RelNullShuttle.html#visit(org.apache.calcite.rel.logical.LogicalProject)">visit</a></span>&#8203;(<a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a>&nbsp;project)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteMaterializer.RelNullShuttle.</span><code><span class="memberNameLink"><a href="../../prepare/CalciteMaterializer.RelNullShuttle.html#visit(org.apache.calcite.rel.logical.LogicalSort)">visit</a></span>&#8203;(<a href="../logical/LogicalSort.html" title="class in org.apache.calcite.rel.logical">LogicalSort</a>&nbsp;sort)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteMaterializer.RelNullShuttle.</span><code><span class="memberNameLink"><a href="../../prepare/CalciteMaterializer.RelNullShuttle.html#visit(org.apache.calcite.rel.logical.LogicalUnion)">visit</a></span>&#8203;(<a href="../logical/LogicalUnion.html" title="class in org.apache.calcite.rel.logical">LogicalUnion</a>&nbsp;union)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteMaterializer.RelNullShuttle.</span><code><span class="memberNameLink"><a href="../../prepare/CalciteMaterializer.RelNullShuttle.html#visit(org.apache.calcite.rel.logical.LogicalValues)">visit</a></span>&#8203;(<a href="../logical/LogicalValues.html" title="class in org.apache.calcite.rel.logical">LogicalValues</a>&nbsp;values)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteMaterializer.RelNullShuttle.</span><code><span class="memberNameLink"><a href="../../prepare/CalciteMaterializer.RelNullShuttle.html#visit(org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;other)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../prepare/package-summary.html">org.apache.calcite.prepare</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepareImpl.CalcitePreparingStmt.</span><code><span class="memberNameLink"><a href="../../prepare/CalcitePrepareImpl.CalcitePreparingStmt.html#decorrelate(org.apache.calcite.sql2rel.SqlToRelConverter,org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.RelNode)">decorrelate</a></span>&#8203;(<a href="../../sql2rel/SqlToRelConverter.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter</a>&nbsp;sqlToRelConverter,
<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;query,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected abstract <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Prepare.</span><code><span class="memberNameLink"><a href="../../prepare/Prepare.html#decorrelate(org.apache.calcite.sql2rel.SqlToRelConverter,org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.RelNode)">decorrelate</a></span>&#8203;(<a href="../../sql2rel/SqlToRelConverter.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter</a>&nbsp;sqlToRelConverter,
<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;query,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepareImpl.CalcitePreparingStmt.</span><code><span class="memberNameLink"><a href="../../prepare/CalcitePrepareImpl.CalcitePreparingStmt.html#flattenTypes(org.apache.calcite.rel.RelNode,boolean)">flattenTypes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel,
boolean&nbsp;restructure)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Prepare.</span><code><span class="memberNameLink"><a href="../../prepare/Prepare.html#flattenTypes(org.apache.calcite.rel.RelNode,boolean)">flattenTypes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel,
boolean&nbsp;restructure)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Prepare.Materialization.</span><code><span class="memberNameLink"><a href="../../prepare/Prepare.Materialization.html#materialize(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelOptTable)">materialize</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;queryRel,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;starRelOptTable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../prepare/Prepare.PreparedResult.html" title="interface in org.apache.calcite.prepare">Prepare.PreparedResult</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepareImpl.CalcitePreparingStmt.</span><code><span class="memberNameLink"><a href="../../prepare/CalcitePrepareImpl.CalcitePreparingStmt.html#prepareRel(org.apache.calcite.rel.RelNode)">prepareRel</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">QueryableRelBuilder.</span><code><span class="memberNameLink"><a href="../../prepare/QueryableRelBuilder.html#setRel(org.apache.calcite.rel.RelNode)">setRel</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Sets the output of this event.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Prepare.</span><code><span class="memberNameLink"><a href="../../prepare/Prepare.html#shouldTrim(org.apache.calcite.rel.RelNode)">shouldTrim</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LixToRelTranslator.</span><code><span class="memberNameLink"><a href="../../prepare/LixToRelTranslator.html#toRex(org.apache.calcite.linq4j.tree.FunctionExpression,org.apache.calcite.rel.RelNode...)">toRex</a></span>&#8203;(<a href="../../linq4j/tree/FunctionExpression.html" title="class in org.apache.calcite.linq4j.tree">FunctionExpression</a>&nbsp;expression,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>...&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LixToRelTranslator.</span><code><span class="memberNameLink"><a href="../../prepare/LixToRelTranslator.html#toRex(org.apache.calcite.rel.RelNode,org.apache.calcite.linq4j.tree.FunctionExpression)">toRex</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../linq4j/tree/FunctionExpression.html" title="class in org.apache.calcite.linq4j.tree">FunctionExpression</a>&nbsp;expression)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LixToRelTranslator.</span><code><span class="memberNameLink"><a href="../../prepare/LixToRelTranslator.html#toRexList(org.apache.calcite.linq4j.tree.FunctionExpression,org.apache.calcite.rel.RelNode...)">toRexList</a></span>&#8203;(<a href="../../linq4j/tree/FunctionExpression.html" title="class in org.apache.calcite.linq4j.tree">FunctionExpression</a>&nbsp;expression,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>...&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PlannerImpl.</span><code><span class="memberNameLink"><a href="../../prepare/PlannerImpl.html#transform(int,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">transform</a></span>&#8203;(int&nbsp;ruleSetIndex,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;requiredOutputTraits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.lang.Iterable&lt;<a href="../../prepare/CalciteMaterializer.Callback.html" title="class in org.apache.calcite.prepare">CalciteMaterializer.Callback</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteMaterializer.</span><code><span class="memberNameLink"><a href="../../prepare/CalciteMaterializer.html#useStar(org.apache.calcite.jdbc.CalciteSchema,org.apache.calcite.rel.RelNode)">useStar</a></span>&#8203;(<a href="../../jdbc/CalciteSchema.html" title="class in org.apache.calcite.jdbc">CalciteSchema</a>&nbsp;schema,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;queryRel)</code></th>
<td class="colLast">
<div class="block">Converts a relational expression to use a
<a href="../../schema/impl/StarTable.html" title="class in org.apache.calcite.schema.impl"><code>StarTable</code></a> defined in <code>schema</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteMaterializer.RelNullShuttle.</span><code><span class="memberNameLink"><a href="../../prepare/CalciteMaterializer.RelNullShuttle.html#visit(org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;other)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../prepare/package-summary.html">org.apache.calcite.prepare</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 <a href="../../prepare/Prepare.PreparedResult.html" title="interface in org.apache.calcite.prepare">Prepare.PreparedResult</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepareImpl.CalcitePreparingStmt.</span><code><span class="memberNameLink"><a href="../../prepare/CalcitePrepareImpl.CalcitePreparingStmt.html#prepare_(com.google.common.base.Supplier,org.apache.calcite.rel.type.RelDataType)">prepare_</a></span>&#8203;(com.google.common.base.Supplier&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;fn,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;resultType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../prepare/package-summary.html">org.apache.calcite.prepare</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../prepare/CalciteMaterializer.Callback.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,org.apache.calcite.jdbc.CalciteSchema.TableEntry,org.apache.calcite.prepare.RelOptTableImpl)">Callback</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../jdbc/CalciteSchema.TableEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.TableEntry</a>&nbsp;starTable,
<a href="../../prepare/RelOptTableImpl.html" title="class in org.apache.calcite.prepare">RelOptTableImpl</a>&nbsp;starRelOptTable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../prepare/Prepare.PreparedResultImpl.html#%3Cinit%3E(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType,java.util.List,java.util.List,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.TableModify.Operation,boolean)">PreparedResultImpl</a></span>&#8203;(<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;parameterRowType,
java.util.List&lt;java.util.List&lt;java.lang.String&gt;&gt;&nbsp;fieldOrigins,
java.util.List&lt;<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&gt;&nbsp;collations,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel,
<a href="../core/TableModify.Operation.html" title="enum in org.apache.calcite.rel.core">TableModify.Operation</a>&nbsp;tableModOp,
boolean&nbsp;isDml)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rel">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../package-summary.html">org.apache.calcite.rel</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../package-summary.html">org.apache.calcite.rel</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../AbstractRelNode.html" title="class in org.apache.calcite.rel">AbstractRelNode</a></span></code></th>
<td class="colLast">
<div class="block">Base class for every relational expression (<a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</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="../BiRel.html" title="class in org.apache.calcite.rel">BiRel</a></span></code></th>
<td class="colLast">
<div class="block">Abstract base class for relational expressions with a two inputs.</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="../SingleRel.html" title="class in org.apache.calcite.rel">SingleRel</a></span></code></th>
<td class="colLast">
<div class="block">Abstract base class for relational expressions with a single input.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../package-summary.html">org.apache.calcite.rel</a> declared as <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SingleRel.</span><code><span class="memberNameLink"><a href="../SingleRel.html#input">input</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BiRel.</span><code><span class="memberNameLink"><a href="../BiRel.html#left">left</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelRoot.</span><code><span class="memberNameLink"><a href="../RelRoot.html#rel">rel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BiRel.</span><code><span class="memberNameLink"><a href="../BiRel.html#right">right</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelVisitor.</span><code><span class="memberNameLink"><a href="../RelVisitor.html#root">root</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.rel</a> with type parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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.Comparator&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelNodes.</span><code><span class="memberNameLink"><a href="../RelNodes.html#COMPARATOR">COMPARATOR</a></span></code></th>
<td class="colLast">
<div class="block">Comparator that provides an arbitrary but stable ordering to
<a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>s.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static com.google.common.collect.Ordering&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelNodes.</span><code><span class="memberNameLink"><a href="../RelNodes.html#ORDERING">ORDERING</a></span></code></th>
<td class="colLast">
<div class="block">Ordering for <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>s.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.util.Deque&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#stack">stack</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.rel</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelNode.</span><code><span class="memberNameLink"><a href="../AbstractRelNode.html#accept(org.apache.calcite.rel.RelShuttle)">accept</a></span>&#8203;(<a href="../RelShuttle.html" title="interface in org.apache.calcite.rel">RelShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelNode.</span><code><span class="memberNameLink"><a href="../AbstractRelNode.html#accept(org.apache.calcite.rex.RexShuttle)">accept</a></span>&#8203;(<a href="../../rex/RexShuttle.html" title="class in org.apache.calcite.rex">RexShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelNode.</span><code><span class="memberNameLink"><a href="../RelNode.html#accept(org.apache.calcite.rel.RelShuttle)">accept</a></span>&#8203;(<a href="../RelShuttle.html" title="interface in org.apache.calcite.rel">RelShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">
<div class="block">Accepts a visit from a shuttle.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelNode.</span><code><span class="memberNameLink"><a href="../RelNode.html#accept(org.apache.calcite.rex.RexShuttle)">accept</a></span>&#8203;(<a href="../../rex/RexShuttle.html" title="class in org.apache.calcite.rex">RexShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">
<div class="block">Accepts a visit from a shuttle.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelCollationTraitDef.</span><code><span class="memberNameLink"><a href="../RelCollationTraitDef.html#convert(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,boolean)">convert</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;toCollation,
boolean&nbsp;allowInfiniteCostConverters)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDistributionTraitDef.</span><code><span class="memberNameLink"><a href="../RelDistributionTraitDef.html#convert(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution,boolean)">convert</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;toDistribution,
boolean&nbsp;allowInfiniteCostConverters)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelNode.</span><code><span class="memberNameLink"><a href="../AbstractRelNode.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelNode.</span><code><span class="memberNameLink"><a href="../RelNode.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">
<div class="block">Creates a copy of this relational expression, perhaps changing traits and
inputs.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelNode.</span><code><span class="memberNameLink"><a href="../AbstractRelNode.html#getInput(int)">getInput</a></span>&#8203;(int&nbsp;i)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelInput.</span><code><span class="memberNameLink"><a href="../RelInput.html#getInput()">getInput</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the input relational expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelNode.</span><code><span class="memberNameLink"><a href="../RelNode.html#getInput(int)">getInput</a></span>&#8203;(int&nbsp;i)</code></th>
<td class="colLast">
<div class="block">Returns the <code>i</code><sup>th</sup> input relational expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SingleRel.</span><code><span class="memberNameLink"><a href="../SingleRel.html#getInput()">getInput</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BiRel.</span><code><span class="memberNameLink"><a href="../BiRel.html#getLeft()">getLeft</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BiRel.</span><code><span class="memberNameLink"><a href="../BiRel.html#getRight()">getRight</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelVisitor.</span><code><span class="memberNameLink"><a href="../RelVisitor.html#go(org.apache.calcite.rel.RelNode)">go</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;p)</code></th>
<td class="colLast">
<div class="block">Starts an iteration.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelNode.</span><code><span class="memberNameLink"><a href="../AbstractRelNode.html#onRegister(org.apache.calcite.plan.RelOptPlanner)">onRegister</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelNode.</span><code><span class="memberNameLink"><a href="../RelNode.html#onRegister(org.apache.calcite.plan.RelOptPlanner)">onRegister</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner)</code></th>
<td class="colLast">
<div class="block">Receives notification that this expression is about to be registered.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelRoot.</span><code><span class="memberNameLink"><a href="../RelRoot.html#project()">project</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the root relational expression, creating a <a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a>
if necessary to remove fields that are not needed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelRoot.</span><code><span class="memberNameLink"><a href="../RelRoot.html#project(boolean)">project</a></span>&#8203;(boolean&nbsp;force)</code></th>
<td class="colLast">
<div class="block">Returns the root relational expression as a <a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelHomogeneousShuttle.</span><code><span class="memberNameLink"><a href="../RelHomogeneousShuttle.html#visit(org.apache.calcite.rel.core.TableFunctionScan)">visit</a></span>&#8203;(<a href="../core/TableFunctionScan.html" title="class in org.apache.calcite.rel.core">TableFunctionScan</a>&nbsp;scan)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelHomogeneousShuttle.</span><code><span class="memberNameLink"><a href="../RelHomogeneousShuttle.html#visit(org.apache.calcite.rel.core.TableScan)">visit</a></span>&#8203;(<a href="../core/TableScan.html" title="class in org.apache.calcite.rel.core">TableScan</a>&nbsp;scan)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelHomogeneousShuttle.</span><code><span class="memberNameLink"><a href="../RelHomogeneousShuttle.html#visit(org.apache.calcite.rel.logical.LogicalAggregate)">visit</a></span>&#8203;(<a href="../logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical">LogicalAggregate</a>&nbsp;aggregate)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelHomogeneousShuttle.</span><code><span class="memberNameLink"><a href="../RelHomogeneousShuttle.html#visit(org.apache.calcite.rel.logical.LogicalCorrelate)">visit</a></span>&#8203;(<a href="../logical/LogicalCorrelate.html" title="class in org.apache.calcite.rel.logical">LogicalCorrelate</a>&nbsp;correlate)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelHomogeneousShuttle.</span><code><span class="memberNameLink"><a href="../RelHomogeneousShuttle.html#visit(org.apache.calcite.rel.logical.LogicalExchange)">visit</a></span>&#8203;(<a href="../logical/LogicalExchange.html" title="class in org.apache.calcite.rel.logical">LogicalExchange</a>&nbsp;exchange)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelHomogeneousShuttle.</span><code><span class="memberNameLink"><a href="../RelHomogeneousShuttle.html#visit(org.apache.calcite.rel.logical.LogicalFilter)">visit</a></span>&#8203;(<a href="../logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a>&nbsp;filter)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelHomogeneousShuttle.</span><code><span class="memberNameLink"><a href="../RelHomogeneousShuttle.html#visit(org.apache.calcite.rel.logical.LogicalIntersect)">visit</a></span>&#8203;(<a href="../logical/LogicalIntersect.html" title="class in org.apache.calcite.rel.logical">LogicalIntersect</a>&nbsp;intersect)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelHomogeneousShuttle.</span><code><span class="memberNameLink"><a href="../RelHomogeneousShuttle.html#visit(org.apache.calcite.rel.logical.LogicalJoin)">visit</a></span>&#8203;(<a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&nbsp;join)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelHomogeneousShuttle.</span><code><span class="memberNameLink"><a href="../RelHomogeneousShuttle.html#visit(org.apache.calcite.rel.logical.LogicalMatch)">visit</a></span>&#8203;(<a href="../logical/LogicalMatch.html" title="class in org.apache.calcite.rel.logical">LogicalMatch</a>&nbsp;match)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelHomogeneousShuttle.</span><code><span class="memberNameLink"><a href="../RelHomogeneousShuttle.html#visit(org.apache.calcite.rel.logical.LogicalMinus)">visit</a></span>&#8203;(<a href="../logical/LogicalMinus.html" title="class in org.apache.calcite.rel.logical">LogicalMinus</a>&nbsp;minus)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelHomogeneousShuttle.</span><code><span class="memberNameLink"><a href="../RelHomogeneousShuttle.html#visit(org.apache.calcite.rel.logical.LogicalProject)">visit</a></span>&#8203;(<a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a>&nbsp;project)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelHomogeneousShuttle.</span><code><span class="memberNameLink"><a href="../RelHomogeneousShuttle.html#visit(org.apache.calcite.rel.logical.LogicalSort)">visit</a></span>&#8203;(<a href="../logical/LogicalSort.html" title="class in org.apache.calcite.rel.logical">LogicalSort</a>&nbsp;sort)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelHomogeneousShuttle.</span><code><span class="memberNameLink"><a href="../RelHomogeneousShuttle.html#visit(org.apache.calcite.rel.logical.LogicalUnion)">visit</a></span>&#8203;(<a href="../logical/LogicalUnion.html" title="class in org.apache.calcite.rel.logical">LogicalUnion</a>&nbsp;union)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelHomogeneousShuttle.</span><code><span class="memberNameLink"><a href="../RelHomogeneousShuttle.html#visit(org.apache.calcite.rel.logical.LogicalValues)">visit</a></span>&#8203;(<a href="../logical/LogicalValues.html" title="class in org.apache.calcite.rel.logical">LogicalValues</a>&nbsp;values)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttle.</span><code><span class="memberNameLink"><a href="../RelShuttle.html#visit(org.apache.calcite.rel.core.TableFunctionScan)">visit</a></span>&#8203;(<a href="../core/TableFunctionScan.html" title="class in org.apache.calcite.rel.core">TableFunctionScan</a>&nbsp;scan)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttle.</span><code><span class="memberNameLink"><a href="../RelShuttle.html#visit(org.apache.calcite.rel.core.TableScan)">visit</a></span>&#8203;(<a href="../core/TableScan.html" title="class in org.apache.calcite.rel.core">TableScan</a>&nbsp;scan)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttle.</span><code><span class="memberNameLink"><a href="../RelShuttle.html#visit(org.apache.calcite.rel.logical.LogicalAggregate)">visit</a></span>&#8203;(<a href="../logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical">LogicalAggregate</a>&nbsp;aggregate)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttle.</span><code><span class="memberNameLink"><a href="../RelShuttle.html#visit(org.apache.calcite.rel.logical.LogicalCorrelate)">visit</a></span>&#8203;(<a href="../logical/LogicalCorrelate.html" title="class in org.apache.calcite.rel.logical">LogicalCorrelate</a>&nbsp;correlate)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttle.</span><code><span class="memberNameLink"><a href="../RelShuttle.html#visit(org.apache.calcite.rel.logical.LogicalExchange)">visit</a></span>&#8203;(<a href="../logical/LogicalExchange.html" title="class in org.apache.calcite.rel.logical">LogicalExchange</a>&nbsp;exchange)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttle.</span><code><span class="memberNameLink"><a href="../RelShuttle.html#visit(org.apache.calcite.rel.logical.LogicalFilter)">visit</a></span>&#8203;(<a href="../logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a>&nbsp;filter)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttle.</span><code><span class="memberNameLink"><a href="../RelShuttle.html#visit(org.apache.calcite.rel.logical.LogicalIntersect)">visit</a></span>&#8203;(<a href="../logical/LogicalIntersect.html" title="class in org.apache.calcite.rel.logical">LogicalIntersect</a>&nbsp;intersect)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttle.</span><code><span class="memberNameLink"><a href="../RelShuttle.html#visit(org.apache.calcite.rel.logical.LogicalJoin)">visit</a></span>&#8203;(<a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&nbsp;join)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttle.</span><code><span class="memberNameLink"><a href="../RelShuttle.html#visit(org.apache.calcite.rel.logical.LogicalMatch)">visit</a></span>&#8203;(<a href="../logical/LogicalMatch.html" title="class in org.apache.calcite.rel.logical">LogicalMatch</a>&nbsp;match)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttle.</span><code><span class="memberNameLink"><a href="../RelShuttle.html#visit(org.apache.calcite.rel.logical.LogicalMinus)">visit</a></span>&#8203;(<a href="../logical/LogicalMinus.html" title="class in org.apache.calcite.rel.logical">LogicalMinus</a>&nbsp;minus)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttle.</span><code><span class="memberNameLink"><a href="../RelShuttle.html#visit(org.apache.calcite.rel.logical.LogicalProject)">visit</a></span>&#8203;(<a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a>&nbsp;project)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttle.</span><code><span class="memberNameLink"><a href="../RelShuttle.html#visit(org.apache.calcite.rel.logical.LogicalSort)">visit</a></span>&#8203;(<a href="../logical/LogicalSort.html" title="class in org.apache.calcite.rel.logical">LogicalSort</a>&nbsp;sort)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttle.</span><code><span class="memberNameLink"><a href="../RelShuttle.html#visit(org.apache.calcite.rel.logical.LogicalUnion)">visit</a></span>&#8203;(<a href="../logical/LogicalUnion.html" title="class in org.apache.calcite.rel.logical">LogicalUnion</a>&nbsp;union)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttle.</span><code><span class="memberNameLink"><a href="../RelShuttle.html#visit(org.apache.calcite.rel.logical.LogicalValues)">visit</a></span>&#8203;(<a href="../logical/LogicalValues.html" title="class in org.apache.calcite.rel.logical">LogicalValues</a>&nbsp;values)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttle.</span><code><span class="memberNameLink"><a href="../RelShuttle.html#visit(org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;other)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#visit(org.apache.calcite.rel.core.TableFunctionScan)">visit</a></span>&#8203;(<a href="../core/TableFunctionScan.html" title="class in org.apache.calcite.rel.core">TableFunctionScan</a>&nbsp;scan)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#visit(org.apache.calcite.rel.core.TableScan)">visit</a></span>&#8203;(<a href="../core/TableScan.html" title="class in org.apache.calcite.rel.core">TableScan</a>&nbsp;scan)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#visit(org.apache.calcite.rel.logical.LogicalAggregate)">visit</a></span>&#8203;(<a href="../logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical">LogicalAggregate</a>&nbsp;aggregate)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#visit(org.apache.calcite.rel.logical.LogicalCorrelate)">visit</a></span>&#8203;(<a href="../logical/LogicalCorrelate.html" title="class in org.apache.calcite.rel.logical">LogicalCorrelate</a>&nbsp;correlate)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#visit(org.apache.calcite.rel.logical.LogicalExchange)">visit</a></span>&#8203;(<a href="../logical/LogicalExchange.html" title="class in org.apache.calcite.rel.logical">LogicalExchange</a>&nbsp;exchange)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#visit(org.apache.calcite.rel.logical.LogicalFilter)">visit</a></span>&#8203;(<a href="../logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a>&nbsp;filter)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#visit(org.apache.calcite.rel.logical.LogicalIntersect)">visit</a></span>&#8203;(<a href="../logical/LogicalIntersect.html" title="class in org.apache.calcite.rel.logical">LogicalIntersect</a>&nbsp;intersect)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#visit(org.apache.calcite.rel.logical.LogicalJoin)">visit</a></span>&#8203;(<a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&nbsp;join)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#visit(org.apache.calcite.rel.logical.LogicalMatch)">visit</a></span>&#8203;(<a href="../logical/LogicalMatch.html" title="class in org.apache.calcite.rel.logical">LogicalMatch</a>&nbsp;match)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#visit(org.apache.calcite.rel.logical.LogicalMinus)">visit</a></span>&#8203;(<a href="../logical/LogicalMinus.html" title="class in org.apache.calcite.rel.logical">LogicalMinus</a>&nbsp;minus)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#visit(org.apache.calcite.rel.logical.LogicalProject)">visit</a></span>&#8203;(<a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a>&nbsp;project)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#visit(org.apache.calcite.rel.logical.LogicalSort)">visit</a></span>&#8203;(<a href="../logical/LogicalSort.html" title="class in org.apache.calcite.rel.logical">LogicalSort</a>&nbsp;sort)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#visit(org.apache.calcite.rel.logical.LogicalUnion)">visit</a></span>&#8203;(<a href="../logical/LogicalUnion.html" title="class in org.apache.calcite.rel.logical">LogicalUnion</a>&nbsp;union)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#visit(org.apache.calcite.rel.logical.LogicalValues)">visit</a></span>&#8203;(<a href="../logical/LogicalValues.html" title="class in org.apache.calcite.rel.logical">LogicalValues</a>&nbsp;values)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#visit(org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;other)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#visitChild(org.apache.calcite.rel.RelNode,int,org.apache.calcite.rel.RelNode)">visitChild</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;parent,
int&nbsp;i,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child)</code></th>
<td class="colLast">
<div class="block">Visits a particular child of a parent.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#visitChildren(org.apache.calcite.rel.RelNode)">visitChildren</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</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.rel</a> that return types with arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelNode.</span><code><span class="memberNameLink"><a href="../AbstractRelNode.html#getInputs()">getInputs</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BiRel.</span><code><span class="memberNameLink"><a href="../BiRel.html#getInputs()">getInputs</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelInput.</span><code><span class="memberNameLink"><a href="../RelInput.html#getInputs()">getInputs</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelNode.</span><code><span class="memberNameLink"><a href="../RelNode.html#getInputs()">getInputs</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an array of this relational expression's inputs.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SingleRel.</span><code><span class="memberNameLink"><a href="../SingleRel.html#getInputs()">getInputs</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.rel</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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">RelCollationTraitDef.</span><code><span class="memberNameLink"><a href="../RelCollationTraitDef.html#canConvert(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelCollation,org.apache.calcite.rel.RelCollation,org.apache.calcite.rel.RelNode)">canConvert</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;fromTrait,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;toTrait,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;fromRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelNodes.RelNodeComparator.</span><code><span class="memberNameLink"><a href="../RelNodes.RelNodeComparator.html#compare(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">compare</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;o1,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;o2)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelNodes.</span><code><span class="memberNameLink"><a href="../RelNodes.html#compareRels(org.apache.calcite.rel.RelNode%5B%5D,org.apache.calcite.rel.RelNode%5B%5D)">compareRels</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;rels0,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;rels1)</code></th>
<td class="colLast">
<div class="block">Compares arrays of <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelCollationTraitDef.</span><code><span class="memberNameLink"><a href="../RelCollationTraitDef.html#convert(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,boolean)">convert</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;toCollation,
boolean&nbsp;allowInfiniteCostConverters)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDistributionTraitDef.</span><code><span class="memberNameLink"><a href="../RelDistributionTraitDef.html#convert(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution,boolean)">convert</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;toDistribution,
boolean&nbsp;allowInfiniteCostConverters)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelWriter.html" title="interface in org.apache.calcite.rel">RelWriter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelWriter.</span><code><span class="memberNameLink"><a href="../RelWriter.html#done(org.apache.calcite.rel.RelNode)">done</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Writes the completed explanation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelWriter.</span><code><span class="memberNameLink"><a href="../RelWriter.html#explain(org.apache.calcite.rel.RelNode,java.util.List)">explain</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;java.lang.String,&#8203;java.lang.Object&gt;&gt;&nbsp;valueList)</code></th>
<td class="colLast">
<div class="block">Prints an explanation of a node, with a list of (term, value) pairs.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelVisitor.</span><code><span class="memberNameLink"><a href="../RelVisitor.html#go(org.apache.calcite.rel.RelNode)">go</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;p)</code></th>
<td class="colLast">
<div class="block">Starts an iteration.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelWriter.html" title="interface in org.apache.calcite.rel">RelWriter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelWriter.</span><code><span class="memberNameLink"><a href="../RelWriter.html#input(java.lang.String,org.apache.calcite.rel.RelNode)">input</a></span>&#8203;(java.lang.String&nbsp;term,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">
<div class="block">Adds an input to the explanation of the current node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelRoot.</span><code><span class="memberNameLink"><a href="../RelRoot.html#of(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.sql.SqlKind)">of</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
<a href="../../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind)</code></th>
<td class="colLast">
<div class="block">Creates a simple RelRoot.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelRoot.</span><code><span class="memberNameLink"><a href="../RelRoot.html#of(org.apache.calcite.rel.RelNode,org.apache.calcite.sql.SqlKind)">of</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind)</code></th>
<td class="colLast">
<div class="block">Creates a simple RelRoot.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelNode.</span><code><span class="memberNameLink"><a href="../AbstractRelNode.html#replaceInput(int,org.apache.calcite.rel.RelNode)">replaceInput</a></span>&#8203;(int&nbsp;ordinalInParent,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;p)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BiRel.</span><code><span class="memberNameLink"><a href="../BiRel.html#replaceInput(int,org.apache.calcite.rel.RelNode)">replaceInput</a></span>&#8203;(int&nbsp;ordinalInParent,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;p)</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">RelNode.</span><code><span class="memberNameLink"><a href="../RelNode.html#replaceInput(int,org.apache.calcite.rel.RelNode)">replaceInput</a></span>&#8203;(int&nbsp;ordinalInParent,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;p)</code></th>
<td class="colLast">
<div class="block">Replaces the <code>ordinalInParent</code><sup>th</sup> input.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SingleRel.</span><code><span class="memberNameLink"><a href="../SingleRel.html#replaceInput(int,org.apache.calcite.rel.RelNode)">replaceInput</a></span>&#8203;(int&nbsp;ordinalInParent,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</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">RelVisitor.</span><code><span class="memberNameLink"><a href="../RelVisitor.html#replaceRoot(org.apache.calcite.rel.RelNode)">replaceRoot</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Replaces the root node of this traversal.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttle.</span><code><span class="memberNameLink"><a href="../RelShuttle.html#visit(org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;other)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#visit(org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;other)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelVisitor.</span><code><span class="memberNameLink"><a href="../RelVisitor.html#visit(org.apache.calcite.rel.RelNode,int,org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
int&nbsp;ordinal,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;parent)</code></th>
<td class="colLast">
<div class="block">Visits a node during a traversal.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#visitChild(org.apache.calcite.rel.RelNode,int,org.apache.calcite.rel.RelNode)">visitChild</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;parent,
int&nbsp;i,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child)</code></th>
<td class="colLast">
<div class="block">Visits a particular child of a parent.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../RelShuttleImpl.html#visitChildren(org.apache.calcite.rel.RelNode)">visitChildren</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelRoot.</span><code><span class="memberNameLink"><a href="../RelRoot.html#withRel(org.apache.calcite.rel.RelNode)">withRel</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Creates a copy of this RelRoot, assigning a <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../package-summary.html">org.apache.calcite.rel</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRelNode.</span><code><span class="memberNameLink"><a href="../AbstractRelNode.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelNode.</span><code><span class="memberNameLink"><a href="../RelNode.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">
<div class="block">Creates a copy of this relational expression, perhaps changing traits and
inputs.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../package-summary.html">org.apache.calcite.rel</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../BiRel.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">BiRel</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../RelRoot.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.sql.SqlKind,java.util.List,org.apache.calcite.rel.RelCollation)">RelRoot</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;validatedRowType,
<a href="../../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;java.lang.Integer,&#8203;java.lang.String&gt;&gt;&nbsp;fields,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation)</code></th>
<td class="colLast">
<div class="block">Creates a RelRoot.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../SingleRel.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">SingleRel</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">
<div class="block">Creates a <code>SingleRel</code>.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rel.convert">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../convert/package-summary.html">org.apache.calcite.rel.convert</a></h3>
<table class="useSummary">
<caption><span>Subinterfaces of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../convert/package-summary.html">org.apache.calcite.rel.convert</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../convert/Converter.html" title="interface in org.apache.calcite.rel.convert">Converter</a></span></code></th>
<td class="colLast">
<div class="block">A relational expression implements the interface <code>Converter</code> to
indicate that it converts a physical attribute, or
<a href="../../plan/RelTrait.html" title="interface in org.apache.calcite.plan"><code>trait</code></a>, of a relational expression
from one value to another.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Classes in <a href="../convert/package-summary.html">org.apache.calcite.rel.convert</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../convert/ConverterImpl.html" title="class in org.apache.calcite.rel.convert">ConverterImpl</a></span></code></th>
<td class="colLast">
<div class="block">Abstract implementation of <a href="../convert/Converter.html" title="interface in org.apache.calcite.rel.convert"><code>Converter</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="../convert/NoneConverter.html" title="class in org.apache.calcite.rel.convert">NoneConverter</a></span></code></th>
<td class="colLast">
<div class="block"><code>NoneConverter</code> converts a plan from <code>inConvention</code> to
<a href="../../plan/Convention.html#NONE"><code>Convention.NONE</code></a>.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../convert/package-summary.html">org.apache.calcite.rel.convert</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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>abstract <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ConverterRule.</span><code><span class="memberNameLink"><a href="../convert/ConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Converts a relational expression to the target trait(s) of this rule.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">NoneConverter.</span><code><span class="memberNameLink"><a href="../convert/NoneConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Converter.</span><code><span class="memberNameLink"><a href="../convert/Converter.html#getInput()">getInput</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the sole input relational expression</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../convert/package-summary.html">org.apache.calcite.rel.convert</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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>abstract <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ConverterRule.</span><code><span class="memberNameLink"><a href="../convert/ConverterRule.html#convert(org.apache.calcite.rel.RelNode)">convert</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Converts a relational expression to the target trait(s) of this rule.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../convert/package-summary.html">org.apache.calcite.rel.convert</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">NoneConverter.</span><code><span class="memberNameLink"><a href="../convert/NoneConverter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../convert/package-summary.html">org.apache.calcite.rel.convert</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../convert/ConverterImpl.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitDef,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">ConverterImpl</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a>&nbsp;traitDef,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child)</code></th>
<td class="colLast">
<div class="block">Creates a ConverterImpl.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../convert/NoneConverter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.RelNode)">NoneConverter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructor parameters in <a href="../convert/package-summary.html">org.apache.calcite.rel.convert</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../convert/ConverterRule.html#%3Cinit%3E(java.lang.Class,org.apache.calcite.plan.RelTrait,org.apache.calcite.plan.RelTrait,java.lang.String)">ConverterRule</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;clazz,
<a href="../../plan/RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>&nbsp;in,
<a href="../../plan/RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>&nbsp;out,
java.lang.String&nbsp;description)</code></th>
<td class="colLast">
<div class="block">Creates a <code>ConverterRule</code>.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rel.core">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../core/package-summary.html">org.apache.calcite.rel.core</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../core/package-summary.html">org.apache.calcite.rel.core</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a></span></code></th>
<td class="colLast">
<div class="block">Relational operator that eliminates
duplicates and computes totals.</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="../core/Calc.html" title="class in org.apache.calcite.rel.core">Calc</a></span></code></th>
<td class="colLast">
<div class="block"><code>Calc</code> is an abstract base class for implementations of
<a href="../logical/LogicalCalc.html" title="class in org.apache.calcite.rel.logical"><code>LogicalCalc</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="../core/Collect.html" title="class in org.apache.calcite.rel.core">Collect</a></span></code></th>
<td class="colLast">
<div class="block">A relational expression that collapses multiple rows into one.</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="../core/Correlate.html" title="class in org.apache.calcite.rel.core">Correlate</a></span></code></th>
<td class="colLast">
<div class="block">A relational operator that performs nested-loop joins.</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="../core/EquiJoin.html" title="class in org.apache.calcite.rel.core">EquiJoin</a></span></code></th>
<td class="colLast">
<div class="block">Base class for any join whose condition is based on column equality.</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="../core/Exchange.html" title="class in org.apache.calcite.rel.core">Exchange</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that imposes a particular distribution on its input
without otherwise changing its content.</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="../core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that iterates over its input
and returns elements for which <code>condition</code> evaluates to
<code>true</code>.</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="../core/Intersect.html" title="class in org.apache.calcite.rel.core">Intersect</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that returns the intersection of the rows of its
inputs.</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="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that combines two relational expressions according to
some condition.</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="../core/Match.html" title="class in org.apache.calcite.rel.core">Match</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that represent a MATCH_RECOGNIZE node.</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="../core/Minus.html" title="class in org.apache.calcite.rel.core">Minus</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that returns the rows of its first input minus any
matching rows from its other inputs.</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="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that computes a set of
'select expressions' from its input relational expression.</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="../core/Sample.html" title="class in org.apache.calcite.rel.core">Sample</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that returns a sample of the rows from its input.</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="../core/SemiJoin.html" title="class in org.apache.calcite.rel.core">SemiJoin</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that joins two relational expressions according to some
condition, but outputs only columns from the left input, and eliminates
duplicates.</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="../core/SetOp.html" title="class in org.apache.calcite.rel.core">SetOp</a></span></code></th>
<td class="colLast">
<div class="block"><code>SetOp</code> is an abstract base for relational set operators such
as UNION, MINUS (aka EXCEPT), and INTERSECT.</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="../core/Sort.html" title="class in org.apache.calcite.rel.core">Sort</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that imposes a particular sort order on its input
without otherwise changing its content.</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="../core/SortExchange.html" title="class in org.apache.calcite.rel.core">SortExchange</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that performs <a href="../core/Exchange.html" title="class in org.apache.calcite.rel.core"><code>Exchange</code></a> and <a href="../core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a>
simultaneously.</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="../core/TableFunctionScan.html" title="class in org.apache.calcite.rel.core">TableFunctionScan</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that calls a table-valued function.</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="../core/TableModify.html" title="class in org.apache.calcite.rel.core">TableModify</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that modifies a table.</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="../core/TableScan.html" title="class in org.apache.calcite.rel.core">TableScan</a></span></code></th>
<td class="colLast">
<div class="block">Relational operator that returns the contents of a table.</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="../core/Uncollect.html" title="class in org.apache.calcite.rel.core">Uncollect</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that unnests its input's columns into a relation.</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="../core/Union.html" title="class in org.apache.calcite.rel.core">Union</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that returns the union of the rows of its inputs,
optionally eliminating duplicates.</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="../core/Values.html" title="class in org.apache.calcite.rel.core">Values</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression whose value is a sequence of zero or more literal row
values.</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="../core/Window.html" title="class in org.apache.calcite.rel.core">Window</a></span></code></th>
<td class="colLast">
<div class="block">A relational expression representing a set of window aggregates.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../core/package-summary.html">org.apache.calcite.rel.core</a> with type parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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>protected com.google.common.collect.ImmutableList&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SetOp.</span><code><span class="memberNameLink"><a href="../core/SetOp.html#inputs">inputs</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private com.google.common.collect.ImmutableList&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">TableFunctionScan.</span><code><span class="memberNameLink"><a href="../core/TableFunctionScan.html#inputs">inputs</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../core/package-summary.html">org.apache.calcite.rel.core</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Calc.</span><code><span class="memberNameLink"><a href="../core/Calc.html#accept(org.apache.calcite.rex.RexShuttle)">accept</a></span>&#8203;(<a href="../../rex/RexShuttle.html" title="class in org.apache.calcite.rex">RexShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Filter.</span><code><span class="memberNameLink"><a href="../core/Filter.html#accept(org.apache.calcite.rex.RexShuttle)">accept</a></span>&#8203;(<a href="../../rex/RexShuttle.html" title="class in org.apache.calcite.rex">RexShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Join.</span><code><span class="memberNameLink"><a href="../core/Join.html#accept(org.apache.calcite.rex.RexShuttle)">accept</a></span>&#8203;(<a href="../../rex/RexShuttle.html" title="class in org.apache.calcite.rex">RexShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Project.</span><code><span class="memberNameLink"><a href="../core/Project.html#accept(org.apache.calcite.rex.RexShuttle)">accept</a></span>&#8203;(<a href="../../rex/RexShuttle.html" title="class in org.apache.calcite.rex">RexShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Sort.</span><code><span class="memberNameLink"><a href="../core/Sort.html#accept(org.apache.calcite.rex.RexShuttle)">accept</a></span>&#8203;(<a href="../../rex/RexShuttle.html" title="class in org.apache.calcite.rex">RexShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">TableFunctionScan.</span><code><span class="memberNameLink"><a href="../core/TableFunctionScan.html#accept(org.apache.calcite.rex.RexShuttle)">accept</a></span>&#8203;(<a href="../../rex/RexShuttle.html" title="class in org.apache.calcite.rex">RexShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">TableScan.</span><code><span class="memberNameLink"><a href="../core/TableScan.html#accept(org.apache.calcite.rel.RelShuttle)">accept</a></span>&#8203;(<a href="../RelShuttle.html" title="interface in org.apache.calcite.rel">RelShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Aggregate.</span><code><span class="memberNameLink"><a href="../core/Aggregate.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Collect.</span><code><span class="memberNameLink"><a href="../core/Collect.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Collect.</span><code><span class="memberNameLink"><a href="../core/Collect.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Filter.</span><code><span class="memberNameLink"><a href="../core/Filter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Match.</span><code><span class="memberNameLink"><a href="../core/Match.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Project.</span><code><span class="memberNameLink"><a href="../core/Project.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Sample.</span><code><span class="memberNameLink"><a href="../core/Sample.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Uncollect.</span><code><span class="memberNameLink"><a href="../core/Uncollect.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Uncollect.</span><code><span class="memberNameLink"><a href="../core/Uncollect.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.AggregateFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.AggregateFactory.html#createAggregate(org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,com.google.common.collect.ImmutableList,java.util.List)">createAggregate</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
com.google.common.collect.ImmutableList&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">
<div class="block">Creates an aggregate.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.AggregateFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.AggregateFactoryImpl.html#createAggregate(org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,com.google.common.collect.ImmutableList,java.util.List)">createAggregate</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
com.google.common.collect.ImmutableList&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.CorrelateFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.CorrelateFactory.html#createCorrelate(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.sql.SemiJoinType)">createCorrelate</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlationId,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;requiredColumns,
<a href="../../sql/SemiJoinType.html" title="enum in org.apache.calcite.sql">SemiJoinType</a>&nbsp;joinType)</code></th>
<td class="colLast">
<div class="block">Creates a correlate.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.CorrelateFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.CorrelateFactoryImpl.html#createCorrelate(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.sql.SemiJoinType)">createCorrelate</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlationId,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;requiredColumns,
<a href="../../sql/SemiJoinType.html" title="enum in org.apache.calcite.sql">SemiJoinType</a>&nbsp;joinType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.ExchangeFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.ExchangeFactory.html#createExchange(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution)">createExchange</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;distribution)</code></th>
<td class="colLast">
<div class="block">Creates a Exchange.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.ExchangeFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.ExchangeFactoryImpl.html#createExchange(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution)">createExchange</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;distribution)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.FilterFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.FilterFactory.html#createFilter(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">createFilter</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">
<div class="block">Creates a filter.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.FilterFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.FilterFactoryImpl.html#createFilter(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">createFilter</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.JoinFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.JoinFactory.html#createJoin(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.Set,org.apache.calcite.rel.core.JoinRelType,boolean)">createJoin</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
java.util.Set&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">
<div class="block">Creates a join.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.JoinFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.JoinFactory.html#createJoin(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType,java.util.Set,boolean)">createJoin</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.JoinFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.JoinFactoryImpl.html#createJoin(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.Set,org.apache.calcite.rel.core.JoinRelType,boolean)">createJoin</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
java.util.Set&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.JoinFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.JoinFactoryImpl.html#createJoin(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType,java.util.Set,boolean)">createJoin</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.MatchFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.MatchFactory.html#createMatch(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType,boolean,boolean,java.util.Map,java.util.Map,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.util.List,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode)">createMatch</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;pattern,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
boolean&nbsp;strictStart,
boolean&nbsp;strictEnd,
java.util.Map&lt;java.lang.String,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;patternDefinitions,
java.util.Map&lt;java.lang.String,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;measures,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;after,
java.util.Map&lt;java.lang.String,&#8203;? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;&nbsp;subsets,
boolean&nbsp;allRows,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;partitionKeys,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;orderKeys,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;interval)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../core/Match.html" title="class in org.apache.calcite.rel.core"><code>Match</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.MatchFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.MatchFactoryImpl.html#createMatch(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType,boolean,boolean,java.util.Map,java.util.Map,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.util.List,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode)">createMatch</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;pattern,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
boolean&nbsp;strictStart,
boolean&nbsp;strictEnd,
java.util.Map&lt;java.lang.String,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;patternDefinitions,
java.util.Map&lt;java.lang.String,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;measures,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;after,
java.util.Map&lt;java.lang.String,&#8203;? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;&nbsp;subsets,
boolean&nbsp;allRows,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;partitionKeys,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;orderKeys,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;interval)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.ProjectFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.ProjectFactory.html#createProject(org.apache.calcite.rel.RelNode,java.util.List,java.util.List)">createProject</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;childExprs,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames)</code></th>
<td class="colLast">
<div class="block">Creates a project.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.ProjectFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.ProjectFactoryImpl.html#createProject(org.apache.calcite.rel.RelNode,java.util.List,java.util.List)">createProject</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;childExprs,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.TableScanFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.TableScanFactory.html#createScan(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptTable)">createScan</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;table)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../core/TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.TableScanFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.TableScanFactoryImpl.html#createScan(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptTable)">createScan</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;table)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.SemiJoinFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.SemiJoinFactory.html#createSemiJoin(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">createSemiJoin</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">
<div class="block">Creates a semi-join.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.SemiJoinFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.SemiJoinFactoryImpl.html#createSemiJoin(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">createSemiJoin</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.SetOpFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.SetOpFactory.html#createSetOp(org.apache.calcite.sql.SqlKind,java.util.List,boolean)">createSetOp</a></span>&#8203;(<a href="../../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">
<div class="block">Creates a set operation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.SetOpFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.SetOpFactoryImpl.html#createSetOp(org.apache.calcite.sql.SqlKind,java.util.List,boolean)">createSetOp</a></span>&#8203;(<a href="../../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.SortFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.SortFactory.html#createSort(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">createSort</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.SortFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.SortFactory.html#createSort(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">createSort</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">
<div class="block">Creates a sort.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.SortFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.SortFactoryImpl.html#createSort(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">createSort</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.SortFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.SortFactoryImpl.html#createSort(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">createSort</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.SortExchangeFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.SortExchangeFactory.html#createSortExchange(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution,org.apache.calcite.rel.RelCollation)">createSortExchange</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;distribution,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../core/SortExchange.html" title="class in org.apache.calcite.rel.core"><code>SortExchange</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.SortExchangeFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.SortExchangeFactoryImpl.html#createSortExchange(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution,org.apache.calcite.rel.RelCollation)">createSortExchange</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;distribution,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.ValuesFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.ValuesFactory.html#createValues(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.type.RelDataType,java.util.List)">createValues</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.util.List&lt;com.google.common.collect.ImmutableList&lt;<a href="../../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a>&gt;&gt;&nbsp;tuples)</code></th>
<td class="colLast">
<div class="block">Creates a Values.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.ValuesFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.ValuesFactoryImpl.html#createValues(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.type.RelDataType,java.util.List)">createValues</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.util.List&lt;com.google.common.collect.ImmutableList&lt;<a href="../../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a>&gt;&gt;&nbsp;tuples)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">TableScan.</span><code><span class="memberNameLink"><a href="../core/TableScan.html#project(org.apache.calcite.util.ImmutableBitSet,java.util.Set,org.apache.calcite.tools.RelBuilder)">project</a></span>&#8203;(<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;fieldsUsed,
java.util.Set&lt;<a href="../type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;extraFields,
<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder)</code></th>
<td class="colLast">
<div class="block">Projects a subset of the fields of the table, and also asks for "extra"
fields that were not included in the table's official type.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../core/package-summary.html">org.apache.calcite.rel.core</a> that return types with arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SetOp.</span><code><span class="memberNameLink"><a href="../core/SetOp.html#getInputs()">getInputs</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">TableFunctionScan.</span><code><span class="memberNameLink"><a href="../core/TableFunctionScan.html#getInputs()">getInputs</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../core/package-summary.html">org.apache.calcite.rel.core</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateCall.</span><code><span class="memberNameLink"><a href="../core/AggregateCall.html#adaptTo(org.apache.calcite.rel.RelNode,java.util.List,int,int,int)">adaptTo</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;java.lang.Integer&gt;&nbsp;argList,
int&nbsp;filterArg,
int&nbsp;oldGroupKeyCount,
int&nbsp;newGroupKeyCount)</code></th>
<td class="colLast">
<div class="block">Creates equivalent AggregateCall that is adapted to a new input types
and/or number of columns in GROUP BY.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Aggregate.</span><code><span class="memberNameLink"><a href="../core/Aggregate.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">
<div class="block">Creates a copy of this aggregate.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>abstract <a href="../core/Calc.html" title="class in org.apache.calcite.rel.core">Calc</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Calc.</span><code><span class="memberNameLink"><a href="../core/Calc.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program)</code></th>
<td class="colLast">
<div class="block">Creates a copy of this <code>Calc</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../core/Calc.html" title="class in org.apache.calcite.rel.core">Calc</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Calc.</span><code><span class="memberNameLink"><a href="../core/Calc.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program,
java.util.List&lt;<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&gt;&nbsp;collationList)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Collect.</span><code><span class="memberNameLink"><a href="../core/Collect.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract <a href="../core/Correlate.html" title="class in org.apache.calcite.rel.core">Correlate</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Correlate.</span><code><span class="memberNameLink"><a href="../core/Correlate.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.sql.SemiJoinType)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlationId,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;requiredColumns,
<a href="../../sql/SemiJoinType.html" title="enum in org.apache.calcite.sql">SemiJoinType</a>&nbsp;joinType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>abstract <a href="../core/Exchange.html" title="class in org.apache.calcite.rel.core">Exchange</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Exchange.</span><code><span class="memberNameLink"><a href="../core/Exchange.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newInput,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;newDistribution)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Filter.</span><code><span class="memberNameLink"><a href="../core/Filter.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>abstract <a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Join.</span><code><span class="memberNameLink"><a href="../core/Join.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.JoinRelType,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;conditionExpr,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">
<div class="block">Creates a copy of this join, overriding condition, system fields and
inputs.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract <a href="../core/Match.html" title="class in org.apache.calcite.rel.core">Match</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Match.</span><code><span class="memberNameLink"><a href="../core/Match.html#copy(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.util.Map,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.util.List,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;pattern,
boolean&nbsp;strictStart,
boolean&nbsp;strictEnd,
java.util.Map&lt;java.lang.String,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;patternDefinitions,
java.util.Map&lt;java.lang.String,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;measures,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;after,
java.util.Map&lt;java.lang.String,&#8203;? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;&nbsp;subsets,
boolean&nbsp;allRows,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;partitionKeys,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;orderKeys,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;interval)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>abstract <a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Project.</span><code><span class="memberNameLink"><a href="../core/Project.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">
<div class="block">Copies a project.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Project.</span><code><span class="memberNameLink"><a href="../core/Project.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType,int)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
int&nbsp;flags)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../core/SemiJoin.html" title="class in org.apache.calcite.rel.core">SemiJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SemiJoin.</span><code><span class="memberNameLink"><a href="../core/SemiJoin.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.JoinRelType,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../core/Sort.html" title="class in org.apache.calcite.rel.core">Sort</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Sort.</span><code><span class="memberNameLink"><a href="../core/Sort.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newInput,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;newCollation)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>abstract <a href="../core/Sort.html" title="class in org.apache.calcite.rel.core">Sort</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Sort.</span><code><span class="memberNameLink"><a href="../core/Sort.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newInput,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;newCollation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../core/SortExchange.html" title="class in org.apache.calcite.rel.core">SortExchange</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SortExchange.</span><code><span class="memberNameLink"><a href="../core/SortExchange.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newInput,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;newDistribution)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>abstract <a href="../core/SortExchange.html" title="class in org.apache.calcite.rel.core">SortExchange</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SortExchange.</span><code><span class="memberNameLink"><a href="../core/SortExchange.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution,org.apache.calcite.rel.RelCollation)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newInput,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;newDistribution,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;newCollation)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Uncollect.</span><code><span class="memberNameLink"><a href="../core/Uncollect.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateCall.</span><code><span class="memberNameLink"><a href="../core/AggregateCall.html#create(org.apache.calcite.sql.SqlAggFunction,boolean,boolean,java.util.List,int,int,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType,java.lang.String)">create</a></span>&#8203;(<a href="../../sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a>&nbsp;aggFunction,
boolean&nbsp;distinct,
boolean&nbsp;approximate,
java.util.List&lt;java.lang.Integer&gt;&nbsp;argList,
int&nbsp;filterArg,
int&nbsp;groupCount,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type,
java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateCall.</span><code><span class="memberNameLink"><a href="../core/AggregateCall.html#create(org.apache.calcite.sql.SqlAggFunction,boolean,boolean,java.util.List,int,org.apache.calcite.rel.RelCollation,int,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType,java.lang.String)">create</a></span>&#8203;(<a href="../../sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a>&nbsp;aggFunction,
boolean&nbsp;distinct,
boolean&nbsp;approximate,
java.util.List&lt;java.lang.Integer&gt;&nbsp;argList,
int&nbsp;filterArg,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation,
int&nbsp;groupCount,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type,
java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Creates an AggregateCall, inferring its type if <code>type</code> is null.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateCall.</span><code><span class="memberNameLink"><a href="../core/AggregateCall.html#create(org.apache.calcite.sql.SqlAggFunction,boolean,java.util.List,int,int,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType,java.lang.String)">create</a></span>&#8203;(<a href="../../sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a>&nbsp;aggFunction,
boolean&nbsp;distinct,
java.util.List&lt;java.lang.Integer&gt;&nbsp;argList,
int&nbsp;filterArg,
int&nbsp;groupCount,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type,
java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateCall.</span><code><span class="memberNameLink"><a href="../core/AggregateCall.html#create(org.apache.calcite.sql.SqlAggFunction,boolean,java.util.List,int,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType,java.lang.String)">create</a></span>&#8203;(<a href="../../sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a>&nbsp;aggFunction,
boolean&nbsp;distinct,
java.util.List&lt;java.lang.Integer&gt;&nbsp;argList,
int&nbsp;groupCount,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type,
java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../core/SemiJoin.html" title="class in org.apache.calcite.rel.core">SemiJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SemiJoin.</span><code><span class="memberNameLink"><a href="../core/SemiJoin.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.util.ImmutableIntList)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;leftKeys,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;rightKeys)</code></th>
<td class="colLast">
<div class="block">Creates a SemiJoin.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../core/Uncollect.html" title="class in org.apache.calcite.rel.core">Uncollect</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Uncollect.</span><code><span class="memberNameLink"><a href="../core/Uncollect.html#create(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean)">create</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;withOrdinality)</code></th>
<td class="colLast">
<div class="block">Creates an Uncollect.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.AggregateFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.AggregateFactory.html#createAggregate(org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,com.google.common.collect.ImmutableList,java.util.List)">createAggregate</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
com.google.common.collect.ImmutableList&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">
<div class="block">Creates an aggregate.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.AggregateFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.AggregateFactoryImpl.html#createAggregate(org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,com.google.common.collect.ImmutableList,java.util.List)">createAggregate</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
com.google.common.collect.ImmutableList&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.CorrelateFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.CorrelateFactory.html#createCorrelate(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.sql.SemiJoinType)">createCorrelate</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlationId,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;requiredColumns,
<a href="../../sql/SemiJoinType.html" title="enum in org.apache.calcite.sql">SemiJoinType</a>&nbsp;joinType)</code></th>
<td class="colLast">
<div class="block">Creates a correlate.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.CorrelateFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.CorrelateFactoryImpl.html#createCorrelate(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.sql.SemiJoinType)">createCorrelate</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlationId,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;requiredColumns,
<a href="../../sql/SemiJoinType.html" title="enum in org.apache.calcite.sql">SemiJoinType</a>&nbsp;joinType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.ExchangeFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.ExchangeFactory.html#createExchange(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution)">createExchange</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;distribution)</code></th>
<td class="colLast">
<div class="block">Creates a Exchange.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.ExchangeFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.ExchangeFactoryImpl.html#createExchange(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution)">createExchange</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;distribution)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.FilterFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.FilterFactory.html#createFilter(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">createFilter</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">
<div class="block">Creates a filter.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.FilterFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.FilterFactoryImpl.html#createFilter(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">createFilter</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.JoinFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.JoinFactory.html#createJoin(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.Set,org.apache.calcite.rel.core.JoinRelType,boolean)">createJoin</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
java.util.Set&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">
<div class="block">Creates a join.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.JoinFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.JoinFactory.html#createJoin(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType,java.util.Set,boolean)">createJoin</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.JoinFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.JoinFactoryImpl.html#createJoin(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.Set,org.apache.calcite.rel.core.JoinRelType,boolean)">createJoin</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
java.util.Set&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.JoinFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.JoinFactoryImpl.html#createJoin(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType,java.util.Set,boolean)">createJoin</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.MatchFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.MatchFactory.html#createMatch(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType,boolean,boolean,java.util.Map,java.util.Map,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.util.List,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode)">createMatch</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;pattern,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
boolean&nbsp;strictStart,
boolean&nbsp;strictEnd,
java.util.Map&lt;java.lang.String,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;patternDefinitions,
java.util.Map&lt;java.lang.String,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;measures,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;after,
java.util.Map&lt;java.lang.String,&#8203;? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;&nbsp;subsets,
boolean&nbsp;allRows,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;partitionKeys,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;orderKeys,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;interval)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../core/Match.html" title="class in org.apache.calcite.rel.core"><code>Match</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.MatchFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.MatchFactoryImpl.html#createMatch(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType,boolean,boolean,java.util.Map,java.util.Map,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.util.List,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode)">createMatch</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;pattern,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
boolean&nbsp;strictStart,
boolean&nbsp;strictEnd,
java.util.Map&lt;java.lang.String,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;patternDefinitions,
java.util.Map&lt;java.lang.String,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;measures,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;after,
java.util.Map&lt;java.lang.String,&#8203;? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;&nbsp;subsets,
boolean&nbsp;allRows,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;partitionKeys,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;orderKeys,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;interval)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.ProjectFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.ProjectFactory.html#createProject(org.apache.calcite.rel.RelNode,java.util.List,java.util.List)">createProject</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;childExprs,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames)</code></th>
<td class="colLast">
<div class="block">Creates a project.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.ProjectFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.ProjectFactoryImpl.html#createProject(org.apache.calcite.rel.RelNode,java.util.List,java.util.List)">createProject</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;childExprs,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.SemiJoinFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.SemiJoinFactory.html#createSemiJoin(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">createSemiJoin</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">
<div class="block">Creates a semi-join.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.SemiJoinFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.SemiJoinFactoryImpl.html#createSemiJoin(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">createSemiJoin</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.SortFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.SortFactory.html#createSort(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">createSort</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.SortFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.SortFactory.html#createSort(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">createSort</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">
<div class="block">Creates a sort.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.SortFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.SortFactoryImpl.html#createSort(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">createSort</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.SortFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.SortFactoryImpl.html#createSort(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">createSort</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.SortExchangeFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.SortExchangeFactory.html#createSortExchange(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution,org.apache.calcite.rel.RelCollation)">createSortExchange</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;distribution,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../core/SortExchange.html" title="class in org.apache.calcite.rel.core"><code>SortExchange</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.SortExchangeFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.SortExchangeFactoryImpl.html#createSortExchange(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution,org.apache.calcite.rel.RelCollation)">createSortExchange</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;distribution,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Uncollect.</span><code><span class="memberNameLink"><a href="../core/Uncollect.html#deriveUncollectRowType(org.apache.calcite.rel.RelNode,boolean)">deriveUncollectRowType</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
boolean&nbsp;withOrdinality)</code></th>
<td class="colLast">
<div class="block">Returns the row type returned by applying the 'UNNEST' operation to a
relational expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Filter.</span><code><span class="memberNameLink"><a href="../core/Filter.html#estimateFilteredRows(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">estimateFilteredRows</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Filter.</span><code><span class="memberNameLink"><a href="../core/Filter.html#estimateFilteredRows(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram)">estimateFilteredRows</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Union.</span><code><span class="memberNameLink"><a href="../core/Union.html#estimateRowCount(org.apache.calcite.rel.RelNode)">estimateRowCount</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinInfo.</span><code><span class="memberNameLink"><a href="../core/JoinInfo.html#getEquiCondition(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexBuilder)">getEquiCondition</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Aggregate.</span><code><span class="memberNameLink"><a href="../core/Aggregate.html#isPredicate(org.apache.calcite.rel.RelNode,int)">isPredicate</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
int&nbsp;index)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../core/JoinInfo.html" title="class in org.apache.calcite.rel.core">JoinInfo</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinInfo.</span><code><span class="memberNameLink"><a href="../core/JoinInfo.html#of(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">of</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">
<div class="block">Creates a <code>JoinInfo</code> by analyzing a condition.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SetOp.</span><code><span class="memberNameLink"><a href="../core/SetOp.html#replaceInput(int,org.apache.calcite.rel.RelNode)">replaceInput</a></span>&#8203;(int&nbsp;ordinalInParent,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;p)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">TableFunctionScan.</span><code><span class="memberNameLink"><a href="../core/TableFunctionScan.html#replaceInput(int,org.apache.calcite.rel.RelNode)">replaceInput</a></span>&#8203;(int&nbsp;ordinalInParent,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;p)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../core/package-summary.html">org.apache.calcite.rel.core</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Aggregate.</span><code><span class="memberNameLink"><a href="../core/Aggregate.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../core/Calc.html" title="class in org.apache.calcite.rel.core">Calc</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Calc.</span><code><span class="memberNameLink"><a href="../core/Calc.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Collect.</span><code><span class="memberNameLink"><a href="../core/Collect.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../core/Correlate.html" title="class in org.apache.calcite.rel.core">Correlate</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Correlate.</span><code><span class="memberNameLink"><a href="../core/Correlate.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../core/Exchange.html" title="class in org.apache.calcite.rel.core">Exchange</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Exchange.</span><code><span class="memberNameLink"><a href="../core/Exchange.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Filter.</span><code><span class="memberNameLink"><a href="../core/Filter.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Join.</span><code><span class="memberNameLink"><a href="../core/Join.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Match.</span><code><span class="memberNameLink"><a href="../core/Match.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Project.</span><code><span class="memberNameLink"><a href="../core/Project.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Sample.</span><code><span class="memberNameLink"><a href="../core/Sample.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../core/SetOp.html" title="class in org.apache.calcite.rel.core">SetOp</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SetOp.</span><code><span class="memberNameLink"><a href="../core/SetOp.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract <a href="../core/SetOp.html" title="class in org.apache.calcite.rel.core">SetOp</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SetOp.</span><code><span class="memberNameLink"><a href="../core/SetOp.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../core/Sort.html" title="class in org.apache.calcite.rel.core">Sort</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Sort.</span><code><span class="memberNameLink"><a href="../core/Sort.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../core/TableFunctionScan.html" title="class in org.apache.calcite.rel.core">TableFunctionScan</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">TableFunctionScan.</span><code><span class="memberNameLink"><a href="../core/TableFunctionScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>abstract <a href="../core/TableFunctionScan.html" title="class in org.apache.calcite.rel.core">TableFunctionScan</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">TableFunctionScan.</span><code><span class="memberNameLink"><a href="../core/TableFunctionScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List,org.apache.calcite.rex.RexNode,java.lang.reflect.Type,org.apache.calcite.rel.type.RelDataType,java.util.Set)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;rexCall,
java.lang.reflect.Type&nbsp;elementType,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.util.Set&lt;<a href="../metadata/RelColumnMapping.html" title="class in org.apache.calcite.rel.metadata">RelColumnMapping</a>&gt;&nbsp;columnMappings)</code></th>
<td class="colLast">
<div class="block">Copies this relational expression, substituting traits and
inputs.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Uncollect.</span><code><span class="memberNameLink"><a href="../core/Uncollect.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.SetOpFactory.</span><code><span class="memberNameLink"><a href="../core/RelFactories.SetOpFactory.html#createSetOp(org.apache.calcite.sql.SqlKind,java.util.List,boolean)">createSetOp</a></span>&#8203;(<a href="../../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">
<div class="block">Creates a set operation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFactories.SetOpFactoryImpl.</span><code><span class="memberNameLink"><a href="../core/RelFactories.SetOpFactoryImpl.html#createSetOp(org.apache.calcite.sql.SqlKind,java.util.List,boolean)">createSetOp</a></span>&#8203;(<a href="../../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../core/package-summary.html">org.apache.calcite.rel.core</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Aggregate.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">Aggregate</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">
<div class="block">Creates an Aggregate.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Calc.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram)">Calc</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program)</code></th>
<td class="colLast">
<div class="block">Creates a Calc.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Calc.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram,java.util.List)">Calc</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program,
java.util.List&lt;<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&gt;&nbsp;collationList)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Collect.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.lang.String)">Collect</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
java.lang.String&nbsp;fieldName)</code></th>
<td class="colLast">
<div class="block">Creates a Collect.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Correlate.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.sql.SemiJoinType)">Correlate</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlationId,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;requiredColumns,
<a href="../../sql/SemiJoinType.html" title="enum in org.apache.calcite.sql">SemiJoinType</a>&nbsp;joinType)</code></th>
<td class="colLast">
<div class="block">Creates a Correlate.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/EquiJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.util.ImmutableIntList,java.util.Set,org.apache.calcite.rel.core.JoinRelType)">EquiJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;leftKeys,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;rightKeys,
java.util.Set&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType)</code></th>
<td class="colLast">
<div class="block">Creates an EquiJoin.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/EquiJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.rel.core.JoinRelType,java.util.Set)">EquiJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;leftKeys,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;rightKeys,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Exchange.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution)">Exchange</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;distribution)</code></th>
<td class="colLast">
<div class="block">Creates an Exchange.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Filter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">Filter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">
<div class="block">Creates a filter.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Join.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.Set,org.apache.calcite.rel.core.JoinRelType)">Join</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
java.util.Set&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType)</code></th>
<td class="colLast">
<div class="block">Creates a Join.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Join.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType,java.util.Set)">Join</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Match.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.util.Map,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.util.List,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode)">Match</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;pattern,
boolean&nbsp;strictStart,
boolean&nbsp;strictEnd,
java.util.Map&lt;java.lang.String,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;patternDefinitions,
java.util.Map&lt;java.lang.String,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;measures,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;after,
java.util.Map&lt;java.lang.String,&#8203;? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;&nbsp;subsets,
boolean&nbsp;allRows,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;partitionKeys,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;orderKeys,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;interval)</code></th>
<td class="colLast">
<div class="block">Creates a Match.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Project.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">Project</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">
<div class="block">Creates a Project.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Project.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType,int)">Project</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
int&nbsp;flags)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Sample.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelOptSamplingParameters)">Sample</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../plan/RelOptSamplingParameters.html" title="class in org.apache.calcite.plan">RelOptSamplingParameters</a>&nbsp;params)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/SemiJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.util.ImmutableIntList)">SemiJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;leftKeys,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;rightKeys)</code></th>
<td class="colLast">
<div class="block">Creates a SemiJoin.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Sort.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation)">Sort</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation)</code></th>
<td class="colLast">
<div class="block">Creates a Sort.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Sort.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">Sort</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">
<div class="block">Creates a Sort.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/SortExchange.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution,org.apache.calcite.rel.RelCollation)">SortExchange</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;distribution,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation)</code></th>
<td class="colLast">
<div class="block">Creates a SortExchange.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/TableModify.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.plan.RelOptTable,org.apache.calcite.prepare.Prepare.CatalogReader,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.TableModify.Operation,java.util.List,java.util.List,boolean)">TableModify</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;table,
<a href="../../prepare/Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a>&nbsp;catalogReader,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../core/TableModify.Operation.html" title="enum in org.apache.calcite.rel.core">TableModify.Operation</a>&nbsp;operation,
java.util.List&lt;java.lang.String&gt;&nbsp;updateColumnList,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;sourceExpressionList,
boolean&nbsp;flattened)</code></th>
<td class="colLast">
<div class="block">Creates a <code>TableModify</code>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Uncollect.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">Uncollect</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Uncollect.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean)">Uncollect</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;withOrdinality)</code></th>
<td class="colLast">
<div class="block">Creates an Uncollect.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Window.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType,java.util.List)">Window</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a>&gt;&nbsp;constants,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.util.List&lt;<a href="../core/Window.Group.html" title="class in org.apache.calcite.rel.core">Window.Group</a>&gt;&nbsp;groups)</code></th>
<td class="colLast">
<div class="block">Creates a window relational expression.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructor parameters in <a href="../core/package-summary.html">org.apache.calcite.rel.core</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Intersect.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">Intersect</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">
<div class="block">Creates an Intersect.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Minus.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">Minus</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/SetOp.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,java.util.List,org.apache.calcite.sql.SqlKind,boolean)">SetOp</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
<a href="../../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
boolean&nbsp;all)</code></th>
<td class="colLast">
<div class="block">Creates a SetOp.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/TableFunctionScan.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,java.util.List,org.apache.calcite.rex.RexNode,java.lang.reflect.Type,org.apache.calcite.rel.type.RelDataType,java.util.Set)">TableFunctionScan</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;rexCall,
java.lang.reflect.Type&nbsp;elementType,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.util.Set&lt;<a href="../metadata/RelColumnMapping.html" title="class in org.apache.calcite.rel.metadata">RelColumnMapping</a>&gt;&nbsp;columnMappings)</code></th>
<td class="colLast">
<div class="block">Creates a <code>TableFunctionScan</code>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../core/Union.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">Union</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rel.externalize">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../externalize/package-summary.html">org.apache.calcite.rel.externalize</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../externalize/package-summary.html">org.apache.calcite.rel.externalize</a> declared as <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelJsonReader.</span><code><span class="memberNameLink"><a href="../externalize/RelJsonReader.html#lastRel">lastRel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../externalize/package-summary.html">org.apache.calcite.rel.externalize</a> with type parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelJsonWriter.</span><code><span class="memberNameLink"><a href="../externalize/RelJsonWriter.html#relIdMap">relIdMap</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelJsonReader.</span><code><span class="memberNameLink"><a href="../externalize/RelJsonReader.html#relMap">relMap</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../externalize/package-summary.html">org.apache.calcite.rel.externalize</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelJson.</span><code><span class="memberNameLink"><a href="../externalize/RelJson.html#create(java.util.Map)">create</a></span>&#8203;(java.util.Map&lt;java.lang.String,&#8203;java.lang.Object&gt;&nbsp;map)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelJsonReader.</span><code><span class="memberNameLink"><a href="../externalize/RelJsonReader.html#lookupInput(java.lang.String)">lookupInput</a></span>&#8203;(java.lang.String&nbsp;jsonInput)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelJsonReader.</span><code><span class="memberNameLink"><a href="../externalize/RelJsonReader.html#read(java.lang.String)">read</a></span>&#8203;(java.lang.String&nbsp;s)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../externalize/package-summary.html">org.apache.calcite.rel.externalize</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelWriterImpl.</span><code><span class="memberNameLink"><a href="../externalize/RelWriterImpl.html#checkInputsPresentInExplain(org.apache.calcite.rel.RelNode)">checkInputsPresentInExplain</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelWriter.html" title="interface in org.apache.calcite.rel">RelWriter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelJsonWriter.</span><code><span class="memberNameLink"><a href="../externalize/RelJsonWriter.html#done(org.apache.calcite.rel.RelNode)">done</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelWriter.html" title="interface in org.apache.calcite.rel">RelWriter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelWriterImpl.</span><code><span class="memberNameLink"><a href="../externalize/RelWriterImpl.html#done(org.apache.calcite.rel.RelNode)">done</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</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">RelJsonWriter.</span><code><span class="memberNameLink"><a href="../externalize/RelJsonWriter.html#explain(org.apache.calcite.rel.RelNode,java.util.List)">explain</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;java.lang.String,&#8203;java.lang.Object&gt;&gt;&nbsp;valueList)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelWriterImpl.</span><code><span class="memberNameLink"><a href="../externalize/RelWriterImpl.html#explain(org.apache.calcite.rel.RelNode,java.util.List)">explain</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;java.lang.String,&#8203;java.lang.Object&gt;&gt;&nbsp;valueList)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelJsonWriter.</span><code><span class="memberNameLink"><a href="../externalize/RelJsonWriter.html#explain_(org.apache.calcite.rel.RelNode,java.util.List)">explain_</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;java.lang.String,&#8203;java.lang.Object&gt;&gt;&nbsp;values)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelWriterImpl.</span><code><span class="memberNameLink"><a href="../externalize/RelWriterImpl.html#explain_(org.apache.calcite.rel.RelNode,java.util.List)">explain_</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;java.lang.String,&#8203;java.lang.Object&gt;&gt;&nbsp;values)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelXmlWriter.</span><code><span class="memberNameLink"><a href="../externalize/RelXmlWriter.html#explain_(org.apache.calcite.rel.RelNode,java.util.List)">explain_</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;java.lang.String,&#8203;java.lang.Object&gt;&gt;&nbsp;values)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelXmlWriter.</span><code><span class="memberNameLink"><a href="../externalize/RelXmlWriter.html#explainGeneric(org.apache.calcite.rel.RelNode,java.util.List)">explainGeneric</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;java.lang.String,&#8203;java.lang.Object&gt;&gt;&nbsp;values)</code></th>
<td class="colLast">
<div class="block">Generates generic XML (sometimes called 'element-oriented XML').</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelXmlWriter.</span><code><span class="memberNameLink"><a href="../externalize/RelXmlWriter.html#explainSpecific(org.apache.calcite.rel.RelNode,java.util.List)">explainSpecific</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;java.lang.String,&#8203;java.lang.Object&gt;&gt;&nbsp;values)</code></th>
<td class="colLast">
<div class="block">Generates specific XML (sometimes called 'attribute-oriented XML').</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelWriter.html" title="interface in org.apache.calcite.rel">RelWriter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelJsonWriter.</span><code><span class="memberNameLink"><a href="../externalize/RelJsonWriter.html#input(java.lang.String,org.apache.calcite.rel.RelNode)">input</a></span>&#8203;(java.lang.String&nbsp;term,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelWriter.html" title="interface in org.apache.calcite.rel">RelWriter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelWriterImpl.</span><code><span class="memberNameLink"><a href="../externalize/RelWriterImpl.html#input(java.lang.String,org.apache.calcite.rel.RelNode)">input</a></span>&#8203;(java.lang.String&nbsp;term,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../externalize/package-summary.html">org.apache.calcite.rel.externalize</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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.lang.String</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelJson.</span><code><span class="memberNameLink"><a href="../externalize/RelJson.html#classToTypeName(java.lang.Class)">classToTypeName</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;class_)</code></th>
<td class="colLast">
<div class="block">Inverse of <a href="../externalize/RelJson.html#typeNameToClass(java.lang.String)"><code>RelJson.typeNameToClass(java.lang.String)</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.util.List&lt;java.lang.Object&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelJsonWriter.</span><code><span class="memberNameLink"><a href="../externalize/RelJsonWriter.html#explainInputs(java.util.List)">explainInputs</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelWriterImpl.</span><code><span class="memberNameLink"><a href="../externalize/RelWriterImpl.html#explainInputs(java.util.List)">explainInputs</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rel.logical">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../logical/package-summary.html">org.apache.calcite.rel.logical</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../logical/package-summary.html">org.apache.calcite.rel.logical</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical">LogicalAggregate</a></span></code></th>
<td class="colLast">
<div class="block"><code>LogicalAggregate</code> is a relational operator which eliminates
duplicates and computes totals.</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="../logical/LogicalCalc.html" title="class in org.apache.calcite.rel.logical">LogicalCalc</a></span></code></th>
<td class="colLast">
<div class="block">A relational expression which computes project expressions and also filters.</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="../logical/LogicalCorrelate.html" title="class in org.apache.calcite.rel.logical">LogicalCorrelate</a></span></code></th>
<td class="colLast">
<div class="block">A relational operator that performs nested-loop joins.</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="../logical/LogicalExchange.html" title="class in org.apache.calcite.rel.logical">LogicalExchange</a></span></code></th>
<td class="colLast">
<div class="block">Sub-class of <a href="../core/Exchange.html" title="class in org.apache.calcite.rel.core"><code>Exchange</code></a> not
targeted at any particular engine or calling convention.</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="../logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a></span></code></th>
<td class="colLast">
<div class="block">Sub-class of <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>
not targeted at any particular engine or calling convention.</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="../logical/LogicalIntersect.html" title="class in org.apache.calcite.rel.logical">LogicalIntersect</a></span></code></th>
<td class="colLast">
<div class="block">Sub-class of <a href="../core/Intersect.html" title="class in org.apache.calcite.rel.core"><code>Intersect</code></a>
not targeted at any particular engine or calling convention.</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="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></span></code></th>
<td class="colLast">
<div class="block">Sub-class of <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a>
not targeted at any particular engine or calling convention.</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="../logical/LogicalMatch.html" title="class in org.apache.calcite.rel.logical">LogicalMatch</a></span></code></th>
<td class="colLast">
<div class="block">Sub-class of <a href="../core/Match.html" title="class in org.apache.calcite.rel.core"><code>Match</code></a>
not targeted at any particular engine or calling convention.</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="../logical/LogicalMinus.html" title="class in org.apache.calcite.rel.logical">LogicalMinus</a></span></code></th>
<td class="colLast">
<div class="block">Sub-class of <a href="../core/Minus.html" title="class in org.apache.calcite.rel.core"><code>Minus</code></a>
not targeted at any particular engine or calling convention.</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="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a></span></code></th>
<td class="colLast">
<div class="block">Sub-class of <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> not
targeted at any particular engine or calling convention.</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="../logical/LogicalSort.html" title="class in org.apache.calcite.rel.logical">LogicalSort</a></span></code></th>
<td class="colLast">
<div class="block">Sub-class of <a href="../core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> not
targeted at any particular engine or calling convention.</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="../logical/LogicalSortExchange.html" title="class in org.apache.calcite.rel.logical">LogicalSortExchange</a></span></code></th>
<td class="colLast">
<div class="block">Sub-class of <a href="../core/SortExchange.html" title="class in org.apache.calcite.rel.core"><code>SortExchange</code></a> not
targeted at any particular engine or calling convention.</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="../logical/LogicalTableFunctionScan.html" title="class in org.apache.calcite.rel.logical">LogicalTableFunctionScan</a></span></code></th>
<td class="colLast">
<div class="block">Sub-class of <a href="../core/TableFunctionScan.html" title="class in org.apache.calcite.rel.core"><code>TableFunctionScan</code></a>
not targeted at any particular engine or calling convention.</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="../logical/LogicalTableModify.html" title="class in org.apache.calcite.rel.logical">LogicalTableModify</a></span></code></th>
<td class="colLast">
<div class="block">Sub-class of <a href="../core/TableModify.html" title="class in org.apache.calcite.rel.core"><code>TableModify</code></a>
not targeted at any particular engine or calling convention.</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="../logical/LogicalTableScan.html" title="class in org.apache.calcite.rel.logical">LogicalTableScan</a></span></code></th>
<td class="colLast">
<div class="block">A <code>LogicalTableScan</code> reads all the rows from a
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan"><code>RelOptTable</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="../logical/LogicalUnion.html" title="class in org.apache.calcite.rel.logical">LogicalUnion</a></span></code></th>
<td class="colLast">
<div class="block">Sub-class of <a href="../core/Union.html" title="class in org.apache.calcite.rel.core"><code>Union</code></a>
not targeted at any particular engine or calling convention.</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="../logical/LogicalValues.html" title="class in org.apache.calcite.rel.logical">LogicalValues</a></span></code></th>
<td class="colLast">
<div class="block">Sub-class of <a href="../core/Values.html" title="class in org.apache.calcite.rel.core"><code>Values</code></a>
not targeted at any particular engine or calling convention.</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="../logical/LogicalWindow.html" title="class in org.apache.calcite.rel.logical">LogicalWindow</a></span></code></th>
<td class="colLast">
<div class="block">Sub-class of <a href="../core/Window.html" title="class in org.apache.calcite.rel.core"><code>Window</code></a>
not targeted at any particular engine or calling convention.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../logical/package-summary.html">org.apache.calcite.rel.logical</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalAggregate.</span><code><span class="memberNameLink"><a href="../logical/LogicalAggregate.html#accept(org.apache.calcite.rel.RelShuttle)">accept</a></span>&#8203;(<a href="../RelShuttle.html" title="interface in org.apache.calcite.rel">RelShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalCorrelate.</span><code><span class="memberNameLink"><a href="../logical/LogicalCorrelate.html#accept(org.apache.calcite.rel.RelShuttle)">accept</a></span>&#8203;(<a href="../RelShuttle.html" title="interface in org.apache.calcite.rel">RelShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalExchange.</span><code><span class="memberNameLink"><a href="../logical/LogicalExchange.html#accept(org.apache.calcite.rel.RelShuttle)">accept</a></span>&#8203;(<a href="../RelShuttle.html" title="interface in org.apache.calcite.rel">RelShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalFilter.</span><code><span class="memberNameLink"><a href="../logical/LogicalFilter.html#accept(org.apache.calcite.rel.RelShuttle)">accept</a></span>&#8203;(<a href="../RelShuttle.html" title="interface in org.apache.calcite.rel">RelShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalIntersect.</span><code><span class="memberNameLink"><a href="../logical/LogicalIntersect.html#accept(org.apache.calcite.rel.RelShuttle)">accept</a></span>&#8203;(<a href="../RelShuttle.html" title="interface in org.apache.calcite.rel">RelShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalJoin.</span><code><span class="memberNameLink"><a href="../logical/LogicalJoin.html#accept(org.apache.calcite.rel.RelShuttle)">accept</a></span>&#8203;(<a href="../RelShuttle.html" title="interface in org.apache.calcite.rel">RelShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalMatch.</span><code><span class="memberNameLink"><a href="../logical/LogicalMatch.html#accept(org.apache.calcite.rel.RelShuttle)">accept</a></span>&#8203;(<a href="../RelShuttle.html" title="interface in org.apache.calcite.rel">RelShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalMinus.</span><code><span class="memberNameLink"><a href="../logical/LogicalMinus.html#accept(org.apache.calcite.rel.RelShuttle)">accept</a></span>&#8203;(<a href="../RelShuttle.html" title="interface in org.apache.calcite.rel">RelShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalProject.</span><code><span class="memberNameLink"><a href="../logical/LogicalProject.html#accept(org.apache.calcite.rel.RelShuttle)">accept</a></span>&#8203;(<a href="../RelShuttle.html" title="interface in org.apache.calcite.rel">RelShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalSort.</span><code><span class="memberNameLink"><a href="../logical/LogicalSort.html#accept(org.apache.calcite.rel.RelShuttle)">accept</a></span>&#8203;(<a href="../RelShuttle.html" title="interface in org.apache.calcite.rel">RelShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalUnion.</span><code><span class="memberNameLink"><a href="../logical/LogicalUnion.html#accept(org.apache.calcite.rel.RelShuttle)">accept</a></span>&#8203;(<a href="../RelShuttle.html" title="interface in org.apache.calcite.rel">RelShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalValues.</span><code><span class="memberNameLink"><a href="../logical/LogicalValues.html#accept(org.apache.calcite.rel.RelShuttle)">accept</a></span>&#8203;(<a href="../RelShuttle.html" title="interface in org.apache.calcite.rel">RelShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalTableScan.</span><code><span class="memberNameLink"><a href="../logical/LogicalTableScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalValues.</span><code><span class="memberNameLink"><a href="../logical/LogicalValues.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalWindow.</span><code><span class="memberNameLink"><a href="../logical/LogicalWindow.html#create(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram)">create</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalWindow by parsing a <a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex"><code>RexProgram</code></a>.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../logical/package-summary.html">org.apache.calcite.rel.logical</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical">LogicalAggregate</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalAggregate.</span><code><span class="memberNameLink"><a href="../logical/LogicalAggregate.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../logical/LogicalCalc.html" title="class in org.apache.calcite.rel.logical">LogicalCalc</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalCalc.</span><code><span class="memberNameLink"><a href="../logical/LogicalCalc.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../logical/LogicalCorrelate.html" title="class in org.apache.calcite.rel.logical">LogicalCorrelate</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalCorrelate.</span><code><span class="memberNameLink"><a href="../logical/LogicalCorrelate.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.sql.SemiJoinType)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlationId,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;requiredColumns,
<a href="../../sql/SemiJoinType.html" title="enum in org.apache.calcite.sql">SemiJoinType</a>&nbsp;joinType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../core/Exchange.html" title="class in org.apache.calcite.rel.core">Exchange</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalExchange.</span><code><span class="memberNameLink"><a href="../logical/LogicalExchange.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newInput,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;newDistribution)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalFilter.</span><code><span class="memberNameLink"><a href="../logical/LogicalFilter.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalJoin.</span><code><span class="memberNameLink"><a href="../logical/LogicalJoin.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.JoinRelType,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;conditionExpr,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../core/Match.html" title="class in org.apache.calcite.rel.core">Match</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalMatch.</span><code><span class="memberNameLink"><a href="../logical/LogicalMatch.html#copy(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.util.Map,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.util.List,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;pattern,
boolean&nbsp;strictStart,
boolean&nbsp;strictEnd,
java.util.Map&lt;java.lang.String,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;patternDefinitions,
java.util.Map&lt;java.lang.String,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;measures,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;after,
java.util.Map&lt;java.lang.String,&#8203;? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;&nbsp;subsets,
boolean&nbsp;allRows,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;partitionKeys,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;orderKeys,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;interval)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalProject.</span><code><span class="memberNameLink"><a href="../logical/LogicalProject.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../core/Sort.html" title="class in org.apache.calcite.rel.core">Sort</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalSort.</span><code><span class="memberNameLink"><a href="../logical/LogicalSort.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newInput,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;newCollation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../core/SortExchange.html" title="class in org.apache.calcite.rel.core">SortExchange</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalSortExchange.</span><code><span class="memberNameLink"><a href="../logical/LogicalSortExchange.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution,org.apache.calcite.rel.RelCollation)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newInput,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;newDistribution,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;newCollation)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical">LogicalAggregate</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalAggregate.</span><code><span class="memberNameLink"><a href="../logical/LogicalAggregate.html#create(org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical">LogicalAggregate</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalAggregate.</span><code><span class="memberNameLink"><a href="../logical/LogicalAggregate.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalAggregate.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../logical/LogicalCalc.html" title="class in org.apache.calcite.rel.logical">LogicalCalc</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalCalc.</span><code><span class="memberNameLink"><a href="../logical/LogicalCalc.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../logical/LogicalCorrelate.html" title="class in org.apache.calcite.rel.logical">LogicalCorrelate</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalCorrelate.</span><code><span class="memberNameLink"><a href="../logical/LogicalCorrelate.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.sql.SemiJoinType)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlationId,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;requiredColumns,
<a href="../../sql/SemiJoinType.html" title="enum in org.apache.calcite.sql">SemiJoinType</a>&nbsp;joinType)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalCorrelate.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../logical/LogicalExchange.html" title="class in org.apache.calcite.rel.logical">LogicalExchange</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalExchange.</span><code><span class="memberNameLink"><a href="../logical/LogicalExchange.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;distribution)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalExchange.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalFilter.</span><code><span class="memberNameLink"><a href="../logical/LogicalFilter.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalFilter.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalFilter.</span><code><span class="memberNameLink"><a href="../logical/LogicalFilter.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,com.google.common.collect.ImmutableSet)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
com.google.common.collect.ImmutableSet&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalFilter.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalJoin.</span><code><span class="memberNameLink"><a href="../logical/LogicalJoin.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.Set,org.apache.calcite.rel.core.JoinRelType)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
java.util.Set&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalJoin.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalJoin.</span><code><span class="memberNameLink"><a href="../logical/LogicalJoin.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.Set,org.apache.calcite.rel.core.JoinRelType,boolean,com.google.common.collect.ImmutableList)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
java.util.Set&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;semiJoinDone,
com.google.common.collect.ImmutableList&lt;<a href="../type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;systemFieldList)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalJoin, flagged with whether it has been translated to a
semi-join.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalJoin.</span><code><span class="memberNameLink"><a href="../logical/LogicalJoin.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType,java.util.Set)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalJoin.</span><code><span class="memberNameLink"><a href="../logical/LogicalJoin.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType,java.util.Set,boolean,com.google.common.collect.ImmutableList)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped,
boolean&nbsp;semiJoinDone,
com.google.common.collect.ImmutableList&lt;<a href="../type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;systemFieldList)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../logical/LogicalMatch.html" title="class in org.apache.calcite.rel.logical">LogicalMatch</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalMatch.</span><code><span class="memberNameLink"><a href="../logical/LogicalMatch.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.util.Map,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.util.List,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;pattern,
boolean&nbsp;strictStart,
boolean&nbsp;strictEnd,
java.util.Map&lt;java.lang.String,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;patternDefinitions,
java.util.Map&lt;java.lang.String,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;measures,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;after,
java.util.Map&lt;java.lang.String,&#8203;? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;&nbsp;subsets,
boolean&nbsp;allRows,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;partitionKeys,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;orderKeys,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;interval)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalMatch.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalProject.</span><code><span class="memberNameLink"><a href="../logical/LogicalProject.html#create(org.apache.calcite.rel.RelNode,java.util.List,java.util.List)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalProject.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalProject.</span><code><span class="memberNameLink"><a href="../logical/LogicalProject.html#create(org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalProject, specifying row type rather than field names.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../logical/LogicalSort.html" title="class in org.apache.calcite.rel.logical">LogicalSort</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalSort.</span><code><span class="memberNameLink"><a href="../logical/LogicalSort.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalSort.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../logical/LogicalSortExchange.html" title="class in org.apache.calcite.rel.logical">LogicalSortExchange</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalSortExchange.</span><code><span class="memberNameLink"><a href="../logical/LogicalSortExchange.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution,org.apache.calcite.rel.RelCollation)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;distribution,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalSortExchange.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../logical/LogicalTableModify.html" title="class in org.apache.calcite.rel.logical">LogicalTableModify</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalTableModify.</span><code><span class="memberNameLink"><a href="../logical/LogicalTableModify.html#create(org.apache.calcite.plan.RelOptTable,org.apache.calcite.prepare.Prepare.CatalogReader,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.TableModify.Operation,java.util.List,java.util.List,boolean)">create</a></span>&#8203;(<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;table,
<a href="../../prepare/Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a>&nbsp;schema,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../core/TableModify.Operation.html" title="enum in org.apache.calcite.rel.core">TableModify.Operation</a>&nbsp;operation,
java.util.List&lt;java.lang.String&gt;&nbsp;updateColumnList,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;sourceExpressionList,
boolean&nbsp;flattened)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalTableModify.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalWindow.</span><code><span class="memberNameLink"><a href="../logical/LogicalWindow.html#create(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram)">create</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalWindow by parsing a <a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex"><code>RexProgram</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../logical/LogicalWindow.html" title="class in org.apache.calcite.rel.logical">LogicalWindow</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalWindow.</span><code><span class="memberNameLink"><a href="../logical/LogicalWindow.html#create(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType,java.util.List)">create</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a>&gt;&nbsp;constants,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.util.List&lt;<a href="../core/Window.Group.html" title="class in org.apache.calcite.rel.core">Window.Group</a>&gt;&nbsp;groups)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalWindow.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical">LogicalAggregate</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalAggregate.</span><code><span class="memberNameLink"><a href="../logical/LogicalAggregate.html#create_(org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">create_</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../logical/package-summary.html">org.apache.calcite.rel.logical</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../logical/LogicalIntersect.html" title="class in org.apache.calcite.rel.logical">LogicalIntersect</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalIntersect.</span><code><span class="memberNameLink"><a href="../logical/LogicalIntersect.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../logical/LogicalMinus.html" title="class in org.apache.calcite.rel.logical">LogicalMinus</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalMinus.</span><code><span class="memberNameLink"><a href="../logical/LogicalMinus.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../logical/LogicalTableFunctionScan.html" title="class in org.apache.calcite.rel.logical">LogicalTableFunctionScan</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalTableFunctionScan.</span><code><span class="memberNameLink"><a href="../logical/LogicalTableFunctionScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List,org.apache.calcite.rex.RexNode,java.lang.reflect.Type,org.apache.calcite.rel.type.RelDataType,java.util.Set)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;rexCall,
java.lang.reflect.Type&nbsp;elementType,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.util.Set&lt;<a href="../metadata/RelColumnMapping.html" title="class in org.apache.calcite.rel.metadata">RelColumnMapping</a>&gt;&nbsp;columnMappings)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../logical/LogicalTableModify.html" title="class in org.apache.calcite.rel.logical">LogicalTableModify</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalTableModify.</span><code><span class="memberNameLink"><a href="../logical/LogicalTableModify.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalTableScan.</span><code><span class="memberNameLink"><a href="../logical/LogicalTableScan.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../logical/LogicalUnion.html" title="class in org.apache.calcite.rel.logical">LogicalUnion</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalUnion.</span><code><span class="memberNameLink"><a href="../logical/LogicalUnion.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalValues.</span><code><span class="memberNameLink"><a href="../logical/LogicalValues.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../logical/LogicalWindow.html" title="class in org.apache.calcite.rel.logical">LogicalWindow</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalWindow.</span><code><span class="memberNameLink"><a href="../logical/LogicalWindow.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../logical/LogicalIntersect.html" title="class in org.apache.calcite.rel.logical">LogicalIntersect</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalIntersect.</span><code><span class="memberNameLink"><a href="../logical/LogicalIntersect.html#create(java.util.List,boolean)">create</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalIntersect.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../logical/LogicalMinus.html" title="class in org.apache.calcite.rel.logical">LogicalMinus</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalMinus.</span><code><span class="memberNameLink"><a href="../logical/LogicalMinus.html#create(java.util.List,boolean)">create</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalMinus.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../logical/LogicalTableFunctionScan.html" title="class in org.apache.calcite.rel.logical">LogicalTableFunctionScan</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalTableFunctionScan.</span><code><span class="memberNameLink"><a href="../logical/LogicalTableFunctionScan.html#create(org.apache.calcite.plan.RelOptCluster,java.util.List,org.apache.calcite.rex.RexNode,java.lang.reflect.Type,org.apache.calcite.rel.type.RelDataType,java.util.Set)">create</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;rexCall,
java.lang.reflect.Type&nbsp;elementType,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.util.Set&lt;<a href="../metadata/RelColumnMapping.html" title="class in org.apache.calcite.rel.metadata">RelColumnMapping</a>&gt;&nbsp;columnMappings)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalTableFunctionScan.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../logical/LogicalUnion.html" title="class in org.apache.calcite.rel.logical">LogicalUnion</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalUnion.</span><code><span class="memberNameLink"><a href="../logical/LogicalUnion.html#create(java.util.List,boolean)">create</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalUnion.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../logical/package-summary.html">org.apache.calcite.rel.logical</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalAggregate.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">LogicalAggregate</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalAggregate.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalAggregate.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.util.ImmutableBitSet,java.util.List,java.util.List)">LogicalAggregate</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
boolean&nbsp;indicator,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalCalc.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram)">LogicalCalc</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalCalc.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalCalc.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram,java.util.List)">LogicalCalc</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program,
java.util.List&lt;<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&gt;&nbsp;collationList)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalCorrelate.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.sql.SemiJoinType)">LogicalCorrelate</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlationId,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;requiredColumns,
<a href="../../sql/SemiJoinType.html" title="enum in org.apache.calcite.sql">SemiJoinType</a>&nbsp;joinType)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalCorrelate.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalCorrelate.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.sql.SemiJoinType)">LogicalCorrelate</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlationId,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;requiredColumns,
<a href="../../sql/SemiJoinType.html" title="enum in org.apache.calcite.sql">SemiJoinType</a>&nbsp;joinType)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalExchange.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution)">LogicalExchange</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;distribution)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalFilter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">LogicalFilter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalFilter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,com.google.common.collect.ImmutableSet)">LogicalFilter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
com.google.common.collect.ImmutableSet&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalFilter.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalFilter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">LogicalFilter</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.Set,org.apache.calcite.rel.core.JoinRelType,boolean,com.google.common.collect.ImmutableList)">LogicalJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
java.util.Set&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;semiJoinDone,
com.google.common.collect.ImmutableList&lt;<a href="../type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;systemFieldList)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalJoin.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType,java.util.Set,boolean,com.google.common.collect.ImmutableList)">LogicalJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped,
boolean&nbsp;semiJoinDone,
com.google.common.collect.ImmutableList&lt;<a href="../type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;systemFieldList)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType,java.util.Set)">LogicalJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType,java.util.Set,boolean,com.google.common.collect.ImmutableList)">LogicalJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped,
boolean&nbsp;semiJoinDone,
com.google.common.collect.ImmutableList&lt;<a href="../type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;systemFieldList)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalMatch.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.util.Map,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.util.List,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode)">LogicalMatch</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;pattern,
boolean&nbsp;strictStart,
boolean&nbsp;strictEnd,
java.util.Map&lt;java.lang.String,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;patternDefinitions,
java.util.Map&lt;java.lang.String,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;measures,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;after,
java.util.Map&lt;java.lang.String,&#8203;? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;&nbsp;subsets,
boolean&nbsp;allRows,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;partitionKeys,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;orderKeys,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;interval)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalMatch.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalProject.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType)">LogicalProject</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalProject.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalProject.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType,int)">LogicalProject</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
int&nbsp;flags)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalProject.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.RelNode,java.util.List,java.util.List,int)">LogicalProject</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames,
int&nbsp;flags)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalSort.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">LogicalSort</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalSortExchange.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelDistribution,org.apache.calcite.rel.RelCollation)">LogicalSortExchange</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;distribution,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalTableModify.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptTable,org.apache.calcite.prepare.Prepare.CatalogReader,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.TableModify.Operation,java.util.List,boolean)">LogicalTableModify</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;table,
<a href="../../prepare/Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a>&nbsp;schema,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../core/TableModify.Operation.html" title="enum in org.apache.calcite.rel.core">TableModify.Operation</a>&nbsp;operation,
java.util.List&lt;java.lang.String&gt;&nbsp;updateColumnList,
boolean&nbsp;flattened)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalTableModify.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.plan.RelOptTable,org.apache.calcite.prepare.Prepare.CatalogReader,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.TableModify.Operation,java.util.List,java.util.List,boolean)">LogicalTableModify</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;table,
<a href="../../prepare/Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a>&nbsp;schema,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../core/TableModify.Operation.html" title="enum in org.apache.calcite.rel.core">TableModify.Operation</a>&nbsp;operation,
java.util.List&lt;java.lang.String&gt;&nbsp;updateColumnList,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;sourceExpressionList,
boolean&nbsp;flattened)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalTableModify.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalWindow.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.type.RelDataType,java.util.List)">LogicalWindow</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a>&gt;&nbsp;constants,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.util.List&lt;<a href="../core/Window.Group.html" title="class in org.apache.calcite.rel.core">Window.Group</a>&gt;&nbsp;groups)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalWindow.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructor parameters in <a href="../logical/package-summary.html">org.apache.calcite.rel.logical</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalIntersect.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,java.util.List,boolean)">LogicalIntersect</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalIntersect.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">LogicalIntersect</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalIntersect.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalMinus.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,java.util.List,boolean)">LogicalMinus</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalMinus.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">LogicalMinus</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalMinus.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalTableFunctionScan.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,java.util.List,org.apache.calcite.rex.RexNode,java.lang.reflect.Type,org.apache.calcite.rel.type.RelDataType,java.util.Set)">LogicalTableFunctionScan</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;rexCall,
java.lang.reflect.Type&nbsp;elementType,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.util.Set&lt;<a href="../metadata/RelColumnMapping.html" title="class in org.apache.calcite.rel.metadata">RelColumnMapping</a>&gt;&nbsp;columnMappings)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalTableFunctionScan.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,java.util.List,org.apache.calcite.rex.RexNode,java.lang.reflect.Type,org.apache.calcite.rel.type.RelDataType,java.util.Set)">LogicalTableFunctionScan</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;rexCall,
java.lang.reflect.Type&nbsp;elementType,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.util.Set&lt;<a href="../metadata/RelColumnMapping.html" title="class in org.apache.calcite.rel.metadata">RelColumnMapping</a>&gt;&nbsp;columnMappings)</code></th>
<td class="colLast">
<div class="block">Creates a <code>LogicalTableFunctionScan</code>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalUnion.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,java.util.List,boolean)">LogicalUnion</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../logical/LogicalUnion.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)">LogicalUnion</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
boolean&nbsp;all)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalUnion.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rel.metadata">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../metadata/package-summary.html">org.apache.calcite.rel.metadata</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../metadata/package-summary.html">org.apache.calcite.rel.metadata</a> with type parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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.Set&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JaninoRelMetadataProvider.</span><code><span class="memberNameLink"><a href="../metadata/JaninoRelMetadataProvider.html#ALL_RELS">ALL_RELS</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private com.google.common.cache.LoadingCache&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;java.lang.Class&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;java.lang.Class&lt;<a href="../metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>&gt;&gt;,&#8203;<a href="../metadata/UnboundMetadata.html" title="interface in org.apache.calcite.rel.metadata">UnboundMetadata</a>&lt;<a href="../metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MetadataFactoryImpl.</span><code><span class="memberNameLink"><a href="../metadata/MetadataFactoryImpl.html#cache">cache</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) java.util.Set&lt;java.lang.Class&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReflectiveRelMetadataProvider.Space.</span><code><span class="memberNameLink"><a href="../metadata/ReflectiveRelMetadataProvider.Space.html#classes">classes</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) java.util.Map&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;java.lang.Class&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;java.lang.reflect.Method&gt;,&#8203;java.lang.reflect.Method&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReflectiveRelMetadataProvider.Space.</span><code><span class="memberNameLink"><a href="../metadata/ReflectiveRelMetadataProvider.Space.html#handlerMap">handlerMap</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.concurrent.ConcurrentMap&lt;java.lang.Class&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../metadata/UnboundMetadata.html" title="interface in org.apache.calcite.rel.metadata">UnboundMetadata</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReflectiveRelMetadataProvider.</span><code><span class="memberNameLink"><a href="../metadata/ReflectiveRelMetadataProvider.html#map">map</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JaninoRelMetadataProvider.NoHandler.</span><code><span class="memberNameLink"><a href="../metadata/JaninoRelMetadataProvider.NoHandler.html#relClass">relClass</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.ImmutableList&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JaninoRelMetadataProvider.Key.</span><code><span class="memberNameLink"><a href="../metadata/JaninoRelMetadataProvider.Key.html#relClasses">relClasses</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../metadata/package-summary.html">org.apache.calcite.rel.metadata</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Metadata.</span><code><span class="memberNameLink"><a href="../metadata/Metadata.html#rel()">rel</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the relational expression that this metadata is about.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../metadata/package-summary.html">org.apache.calcite.rel.metadata</a> that return types with arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.NodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.NodeTypes.html#getNodeTypes()">getNodeTypes</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a multimap from the class to the nodes instantiating that
class.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.NodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.NodeTypes.html#getNodeTypes()">getNodeTypes</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a multimap from the class to the nodes instantiating that
class.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.NodeTypes.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.NodeTypes.Handler.html#getNodeTypes(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.NodeTypes.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.NodeTypes.Handler.html#getNodeTypes(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.plan.hep.HepRelVertex,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../../plan/hep/HepRelVertex.html" title="class in org.apache.calcite.plan.hep">HepRelVertex</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.plan.hep.HepRelVertex,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../../plan/hep/HepRelVertex.html" title="class in org.apache.calcite.plan.hep">HepRelVertex</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.plan.volcano.RelSubset,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../../plan/volcano/RelSubset.html" title="class in org.apache.calcite.plan.volcano">RelSubset</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.plan.volcano.RelSubset,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../../plan/volcano/RelSubset.html" title="class in org.apache.calcite.plan.volcano">RelSubset</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.Aggregate,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.Aggregate,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.Calc,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/Calc.html" title="class in org.apache.calcite.rel.core">Calc</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.Calc,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/Calc.html" title="class in org.apache.calcite.rel.core">Calc</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.Filter,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.Filter,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.Intersect,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/Intersect.html" title="class in org.apache.calcite.rel.core">Intersect</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.Intersect,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/Intersect.html" title="class in org.apache.calcite.rel.core">Intersect</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.Join,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.Join,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.Minus,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/Minus.html" title="class in org.apache.calcite.rel.core">Minus</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.Minus,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/Minus.html" title="class in org.apache.calcite.rel.core">Minus</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.Project,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.Project,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.SemiJoin,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/SemiJoin.html" title="class in org.apache.calcite.rel.core">SemiJoin</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.SemiJoin,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/SemiJoin.html" title="class in org.apache.calcite.rel.core">SemiJoin</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.Sort,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/Sort.html" title="class in org.apache.calcite.rel.core">Sort</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.Sort,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/Sort.html" title="class in org.apache.calcite.rel.core">Sort</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.TableScan,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/TableScan.html" title="class in org.apache.calcite.rel.core">TableScan</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.TableScan,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/TableScan.html" title="class in org.apache.calcite.rel.core">TableScan</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.Union,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/Union.html" title="class in org.apache.calcite.rel.core">Union</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.Union,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/Union.html" title="class in org.apache.calcite.rel.core">Union</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.Values,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/Values.html" title="class in org.apache.calcite.rel.core">Values</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.core.Values,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../core/Values.html" title="class in org.apache.calcite.rel.core">Values</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.RelNode,java.lang.Class,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;c,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.RelNode,java.lang.Class,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;c,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">
<div class="block">Catch-all implementation for
<a href="../metadata/BuiltInMetadata.NodeTypes.html#getNodeTypes()"><code>BuiltInMetadata.NodeTypes.getNodeTypes()</code></a>,
invoked using reflection.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">
<div class="block">Catch-all implementation for
<a href="../metadata/BuiltInMetadata.NodeTypes.html#getNodeTypes()"><code>BuiltInMetadata.NodeTypes.getNodeTypes()</code></a>,
invoked using reflection.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getNodeTypes(org.apache.calcite.rel.RelNode)">getNodeTypes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.NodeTypes.html#getNodeTypes()"><code>BuiltInMetadata.NodeTypes.getNodeTypes()</code></a>
statistic.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getNodeTypes(org.apache.calcite.rel.RelNode)">getNodeTypes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.NodeTypes.html#getNodeTypes()"><code>BuiltInMetadata.NodeTypes.getNodeTypes()</code></a>
statistic.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static com.google.common.cache.CacheLoader&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;java.lang.Class&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;java.lang.Class&lt;<a href="../metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>&gt;&gt;,&#8203;<a href="../metadata/UnboundMetadata.html" title="interface in org.apache.calcite.rel.metadata">UnboundMetadata</a>&lt;<a href="../metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MetadataFactoryImpl.</span><code><span class="memberNameLink"><a href="../metadata/MetadataFactoryImpl.html#loader(org.apache.calcite.rel.metadata.RelMetadataProvider)">loader</a></span>&#8203;(<a href="../metadata/RelMetadataProvider.html" title="interface in org.apache.calcite.rel.metadata">RelMetadataProvider</a>&nbsp;provider)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../metadata/package-summary.html">org.apache.calcite.rel.metadata</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdUtil.</span><code><span class="memberNameLink"><a href="../metadata/RelMdUtil.html#areColumnsDefinitelyUnique(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,java.util.List)">areColumnsDefinitelyUnique</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a>&gt;&nbsp;columnRefs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdUtil.</span><code><span class="memberNameLink"><a href="../metadata/RelMdUtil.html#areColumnsDefinitelyUnique(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet)">areColumnsDefinitelyUnique</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;colMask)</code></th>
<td class="colLast">
<div class="block">Returns true if the columns represented in a bit mask are definitely
known to form a unique column set.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdUtil.</span><code><span class="memberNameLink"><a href="../metadata/RelMdUtil.html#areColumnsDefinitelyUniqueWhenNullsFiltered(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,java.util.List)">areColumnsDefinitelyUniqueWhenNullsFiltered</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a>&gt;&nbsp;columnRefs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdUtil.</span><code><span class="memberNameLink"><a href="../metadata/RelMdUtil.html#areColumnsDefinitelyUniqueWhenNullsFiltered(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet)">areColumnsDefinitelyUniqueWhenNullsFiltered</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;colMask)</code></th>
<td class="colLast">
<div class="block">Returns true if the columns represented in a bit mask are definitely
known to form a unique column set, when nulls have been filtered from
the columns.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.ColumnUniqueness.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.ColumnUniqueness.Handler.html#areColumnsUnique(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.util.ImmutableBitSet,boolean)">areColumnsUnique</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;columns,
boolean&nbsp;ignoreNulls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdColumnUniqueness.</span><code><span class="memberNameLink"><a href="../metadata/RelMdColumnUniqueness.html#areColumnsUnique(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.util.ImmutableBitSet,boolean)">areColumnsUnique</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;columns,
boolean&nbsp;ignoreNulls)</code></th>
<td class="colLast">
<div class="block">Catch-all implementation for
<a href="../metadata/BuiltInMetadata.ColumnUniqueness.html#areColumnsUnique(org.apache.calcite.util.ImmutableBitSet,boolean)"><code>BuiltInMetadata.ColumnUniqueness.areColumnsUnique(ImmutableBitSet, boolean)</code></a>,
invoked using reflection, for any relational expression not
handled by a more specific method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.Boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdUtil.</span><code><span class="memberNameLink"><a href="../metadata/RelMdUtil.html#areColumnsUnique(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,java.util.List)">areColumnsUnique</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a>&gt;&nbsp;columnRefs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#areColumnsUnique(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet)">areColumnsUnique</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;columns)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.ColumnUniqueness.html#areColumnsUnique(org.apache.calcite.util.ImmutableBitSet,boolean)"><code>BuiltInMetadata.ColumnUniqueness.areColumnsUnique(ImmutableBitSet, boolean)</code></a>
statistic.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#areColumnsUnique(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet,boolean)">areColumnsUnique</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;columns,
boolean&nbsp;ignoreNulls)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.ColumnUniqueness.html#areColumnsUnique(org.apache.calcite.util.ImmutableBitSet,boolean)"><code>BuiltInMetadata.ColumnUniqueness.areColumnsUnique(ImmutableBitSet, boolean)</code></a>
statistic.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.Boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdUtil.</span><code><span class="memberNameLink"><a href="../metadata/RelMdUtil.html#areColumnsUniqueWhenNullsFiltered(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,java.util.List)">areColumnsUniqueWhenNullsFiltered</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a>&gt;&nbsp;columnRefs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#areRowsUnique(org.apache.calcite.rel.RelNode)">areRowsUnique</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns whether the rows of a given relational expression are distinct.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.Double&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.Size.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.Size.Handler.html#averageColumnSizes(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">averageColumnSizes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.Double&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdSize.</span><code><span class="memberNameLink"><a href="../metadata/RelMdSize.html#averageColumnSizes(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">averageColumnSizes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">
<div class="block">Catch-all implementation for
<a href="../metadata/BuiltInMetadata.Size.html#averageColumnSizes()"><code>BuiltInMetadata.Size.averageColumnSizes()</code></a>,
invoked using reflection.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.Size.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.Size.Handler.html#averageRowSize(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">averageRowSize</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdSize.</span><code><span class="memberNameLink"><a href="../metadata/RelMdSize.html#averageRowSize(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">averageRowSize</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">
<div class="block">Catch-all implementation for
<a href="../metadata/BuiltInMetadata.Size.html#averageRowSize()"><code>BuiltInMetadata.Size.averageRowSize()</code></a>,
invoked using reflection.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../metadata/UnboundMetadata.html" title="type parameter in UnboundMetadata">M</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UnboundMetadata.</span><code><span class="memberNameLink"><a href="../metadata/UnboundMetadata.html#bind(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">bind</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdCollation.</span><code><span class="memberNameLink"><a href="../metadata/RelMdCollation.html#calc(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram)">calc</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program)</code></th>
<td class="colLast">
<div class="block">Helper method to determine a
<a href="../core/Calc.html" title="class in org.apache.calcite.rel.core"><code>Calc</code></a>'s collation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdDistribution.</span><code><span class="memberNameLink"><a href="../metadata/RelMdDistribution.html#calc(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram)">calc</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program)</code></th>
<td class="colLast">
<div class="block">Helper method to determine a
<a href="../core/Calc.html" title="class in org.apache.calcite.rel.core"><code>Calc</code></a>'s distribution.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdUtil.</span><code><span class="memberNameLink"><a href="../metadata/RelMdUtil.html#checkInputForCollationAndLimit(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">checkInputForCollationAndLimit</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offset,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetch)</code></th>
<td class="colLast">
<div class="block">Returns whether a relational expression is already sorted and has fewer
rows than the sum of offset and limit.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.ImmutableList&lt;<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.Collation.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.Collation.Handler.html#collations(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">collations</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.ImmutableList&lt;<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdCollation.</span><code><span class="memberNameLink"><a href="../metadata/RelMdCollation.html#collations(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">collations</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">
<div class="block">Catch-all implementation for
<a href="../metadata/BuiltInMetadata.Collation.html#collations()"><code>BuiltInMetadata.Collation.collations()</code></a>,
invoked using reflection, for any relational expression not
handled by a more specific method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.ImmutableList&lt;<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#collations(org.apache.calcite.rel.RelNode)">collations</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.Collation.html#collations()"><code>BuiltInMetadata.Collation.collations()</code></a>
statistic.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdUtil.</span><code><span class="memberNameLink"><a href="../metadata/RelMdUtil.html#computeSemiJoinSelectivity(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,java.util.List,java.util.List)">computeSemiJoinSelectivity</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;factRel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;dimRel,
java.util.List&lt;java.lang.Integer&gt;&nbsp;factKeyList,
java.util.List&lt;java.lang.Integer&gt;&nbsp;dimKeyList)</code></th>
<td class="colLast">
<div class="block">Computes the selectivity of a semijoin filter if it is applied on a fact
table.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdUtil.</span><code><span class="memberNameLink"><a href="../metadata/RelMdUtil.html#computeSemiJoinSelectivity(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.SemiJoin)">computeSemiJoinSelectivity</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;factRel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;dimRel,
<a href="../core/SemiJoin.html" title="class in org.apache.calcite.rel.core">SemiJoin</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Computes the selectivity of a semijoin filter if it is applied on a fact
table.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.Memory.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.Memory.Handler.html#cumulativeMemoryWithinPhase(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">cumulativeMemoryWithinPhase</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdMemory.</span><code><span class="memberNameLink"><a href="../metadata/RelMdMemory.html#cumulativeMemoryWithinPhase(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">cumulativeMemoryWithinPhase</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">
<div class="block">Catch-all implementation for
<a href="../metadata/BuiltInMetadata.Memory.html#cumulativeMemoryWithinPhase()"><code>BuiltInMetadata.Memory.cumulativeMemoryWithinPhase()</code></a>,
invoked using reflection.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#cumulativeMemoryWithinPhase(org.apache.calcite.rel.RelNode)">cumulativeMemoryWithinPhase</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.Memory.html#cumulativeMemoryWithinPhase()"><code>BuiltInMetadata.Memory.cumulativeMemoryWithinPhase()</code></a>
statistic.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.Memory.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.Memory.Handler.html#cumulativeMemoryWithinPhaseSplit(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">cumulativeMemoryWithinPhaseSplit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdMemory.</span><code><span class="memberNameLink"><a href="../metadata/RelMdMemory.html#cumulativeMemoryWithinPhaseSplit(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">cumulativeMemoryWithinPhaseSplit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">
<div class="block">Catch-all implementation for
<a href="../metadata/BuiltInMetadata.Memory.html#cumulativeMemoryWithinPhaseSplit()"><code>BuiltInMetadata.Memory.cumulativeMemoryWithinPhaseSplit()</code></a>,
invoked using reflection.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#cumulativeMemoryWithinPhaseSplit(org.apache.calcite.rel.RelNode)">cumulativeMemoryWithinPhaseSplit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.Memory.html#cumulativeMemoryWithinPhaseSplit()"><code>BuiltInMetadata.Memory.cumulativeMemoryWithinPhaseSplit()</code></a>
statistic.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.Distribution.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.Distribution.Handler.html#distribution(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">distribution</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdDistribution.</span><code><span class="memberNameLink"><a href="../metadata/RelMdDistribution.html#distribution(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">distribution</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">
<div class="block">Fallback method to deduce distribution for any relational expression not
handled by a more specific method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#distribution(org.apache.calcite.rel.RelNode)">distribution</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.Distribution.html#distribution()"><code>BuiltInMetadata.Distribution.distribution()</code></a>
statistic.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdUtil.</span><code><span class="memberNameLink"><a href="../metadata/RelMdUtil.html#estimateFilteredRows(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">estimateFilteredRows</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdUtil.</span><code><span class="memberNameLink"><a href="../metadata/RelMdUtil.html#estimateFilteredRows(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram,org.apache.calcite.rel.metadata.RelMetadataQuery)">estimateFilteredRows</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdCollation.</span><code><span class="memberNameLink"><a href="../metadata/RelMdCollation.html#filter(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode)">filter</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">
<div class="block">Helper method to determine a
<a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>'s collation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdDistribution.</span><code><span class="memberNameLink"><a href="../metadata/RelMdDistribution.html#filter(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode)">filter</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">
<div class="block">Helper method to determine a
<a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>'s distribution.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.AllPredicates.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.AllPredicates.Handler.html#getAllPredicates(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getAllPredicates</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdAllPredicates.</span><code><span class="memberNameLink"><a href="../metadata/RelMdAllPredicates.html#getAllPredicates(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getAllPredicates</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">
<div class="block">Catch-all implementation for
<a href="../metadata/BuiltInMetadata.AllPredicates.html#getAllPredicates()"><code>BuiltInMetadata.AllPredicates.getAllPredicates()</code></a>,
invoked using reflection.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getAllPredicates(org.apache.calcite.rel.RelNode)">getAllPredicates</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.AllPredicates.html#getAllPredicates()"><code>BuiltInMetadata.AllPredicates.getAllPredicates()</code></a>
statistic.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.Double&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getAverageColumnSizes(org.apache.calcite.rel.RelNode)">getAverageColumnSizes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.Size.html#averageColumnSizes()"><code>BuiltInMetadata.Size.averageColumnSizes()</code></a>
statistic.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.Double&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getAverageColumnSizesNotNull(org.apache.calcite.rel.RelNode)">getAverageColumnSizesNotNull</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">As <a href="../metadata/RelMetadataQuery.html#getAverageColumnSizes(org.apache.calcite.rel.RelNode)"><code>RelMetadataQuery.getAverageColumnSizes(org.apache.calcite.rel.RelNode)</code></a> but
never returns a null list, only ever a list of nulls.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getAverageRowSize(org.apache.calcite.rel.RelNode)">getAverageRowSize</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.Size.html#averageRowSize()"><code>BuiltInMetadata.Size.averageRowSize()</code></a>
statistic.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../metadata/RelColumnOrigin.html" title="class in org.apache.calcite.rel.metadata">RelColumnOrigin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getColumnOrigin(org.apache.calcite.rel.RelNode,int)">getColumnOrigin</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
int&nbsp;column)</code></th>
<td class="colLast">
<div class="block">Determines the origin of a column, provided the column maps to a single
column that isn't derived.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.Set&lt;<a href="../metadata/RelColumnOrigin.html" title="class in org.apache.calcite.rel.metadata">RelColumnOrigin</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.ColumnOrigin.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.ColumnOrigin.Handler.html#getColumnOrigins(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery,int)">getColumnOrigins</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
int&nbsp;outputColumn)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Set&lt;<a href="../metadata/RelColumnOrigin.html" title="class in org.apache.calcite.rel.metadata">RelColumnOrigin</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdColumnOrigins.</span><code><span class="memberNameLink"><a href="../metadata/RelMdColumnOrigins.html#getColumnOrigins(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery,int)">getColumnOrigins</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
int&nbsp;iOutputColumn)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.Set&lt;<a href="../metadata/RelColumnOrigin.html" title="class in org.apache.calcite.rel.metadata">RelColumnOrigin</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getColumnOrigins(org.apache.calcite.rel.RelNode,int)">getColumnOrigins</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
int&nbsp;column)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.ColumnOrigin.html#getColumnOrigins(int)"><code>BuiltInMetadata.ColumnOrigin.getColumnOrigins(int)</code></a>
statistic.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.CumulativeCost.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.CumulativeCost.Handler.html#getCumulativeCost(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getCumulativeCost</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdPercentageOriginalRows.</span><code><span class="memberNameLink"><a href="../metadata/RelMdPercentageOriginalRows.html#getCumulativeCost(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getCumulativeCost</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getCumulativeCost(org.apache.calcite.rel.RelNode)">getCumulativeCost</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.CumulativeCost.html#getCumulativeCost()"><code>BuiltInMetadata.CumulativeCost.getCumulativeCost()</code></a>
statistic.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.DistinctRowCount.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.DistinctRowCount.Handler.html#getDistinctRowCount(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.rex.RexNode)">getDistinctRowCount</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupKey,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;predicate)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdDistinctRowCount.</span><code><span class="memberNameLink"><a href="../metadata/RelMdDistinctRowCount.html#getDistinctRowCount(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.rex.RexNode)">getDistinctRowCount</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupKey,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Catch-all implementation for
<a href="../metadata/BuiltInMetadata.DistinctRowCount.html#getDistinctRowCount(org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.rex.RexNode)"><code>BuiltInMetadata.DistinctRowCount.getDistinctRowCount(ImmutableBitSet, RexNode)</code></a>,
invoked using reflection.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getDistinctRowCount(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.rex.RexNode)">getDistinctRowCount</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupKey,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.DistinctRowCount.html#getDistinctRowCount(org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.rex.RexNode)"><code>BuiltInMetadata.DistinctRowCount.getDistinctRowCount(ImmutableBitSet, RexNode)</code></a>
statistic.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getDistribution(org.apache.calcite.rel.RelNode)">getDistribution</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.Distribution.html#distribution()"><code>BuiltInMetadata.Distribution.distribution()</code></a>
statistic.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.Set&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.ExpressionLineage.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.ExpressionLineage.Handler.html#getExpressionLineage(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rex.RexNode)">getExpressionLineage</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;expression)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Set&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdExpressionLineage.</span><code><span class="memberNameLink"><a href="../metadata/RelMdExpressionLineage.html#getExpressionLineage(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rex.RexNode)">getExpressionLineage</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;outputExpression)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.Set&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getExpressionLineage(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">getExpressionLineage</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;expression)</code></th>
<td class="colLast">
<div class="block">Determines the origin of a column.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdUtil.</span><code><span class="memberNameLink"><a href="../metadata/RelMdUtil.html#getJoinDistinctRowCount(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.rex.RexNode,boolean)">getJoinDistinctRowCount</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;joinRel,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupKey,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;predicate,
boolean&nbsp;useMaxNdv)</code></th>
<td class="colLast">
<div class="block">Computes the number of distinct rows for a set of keys returned from a
join.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdUtil.</span><code><span class="memberNameLink"><a href="../metadata/RelMdUtil.html#getJoinPopulationSize(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet)">getJoinPopulationSize</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;joinRel,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupKey)</code></th>
<td class="colLast">
<div class="block">Computes the population size for a set of keys returned from a join</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.MaxRowCount.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.MaxRowCount.Handler.html#getMaxRowCount(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getMaxRowCount</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdMaxRowCount.</span><code><span class="memberNameLink"><a href="../metadata/RelMdMaxRowCount.html#getMaxRowCount(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getMaxRowCount</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getMaxRowCount(org.apache.calcite.rel.RelNode)">getMaxRowCount</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.MaxRowCount.html#getMaxRowCount()"><code>BuiltInMetadata.MaxRowCount.getMaxRowCount()</code></a>
statistic.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.MinRowCount.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.MinRowCount.Handler.html#getMinRowCount(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getMinRowCount</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdMinRowCount.</span><code><span class="memberNameLink"><a href="../metadata/RelMdMinRowCount.html#getMinRowCount(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getMinRowCount</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getMinRowCount(org.apache.calcite.rel.RelNode)">getMinRowCount</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.MinRowCount.html#getMinRowCount()"><code>BuiltInMetadata.MinRowCount.getMinRowCount()</code></a>
statistic.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.NodeTypes.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.NodeTypes.Handler.html#getNodeTypes(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.RelNode,java.lang.Class,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;c,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">
<div class="block">Catch-all implementation for
<a href="../metadata/BuiltInMetadata.NodeTypes.html#getNodeTypes()"><code>BuiltInMetadata.NodeTypes.getNodeTypes()</code></a>,
invoked using reflection.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getNodeTypes(org.apache.calcite.rel.RelNode)">getNodeTypes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.NodeTypes.html#getNodeTypes()"><code>BuiltInMetadata.NodeTypes.getNodeTypes()</code></a>
statistic.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.NonCumulativeCost.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.NonCumulativeCost.Handler.html#getNonCumulativeCost(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNonCumulativeCost</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdPercentageOriginalRows.</span><code><span class="memberNameLink"><a href="../metadata/RelMdPercentageOriginalRows.html#getNonCumulativeCost(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNonCumulativeCost</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getNonCumulativeCost(org.apache.calcite.rel.RelNode)">getNonCumulativeCost</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.NonCumulativeCost.html#getNonCumulativeCost()"><code>BuiltInMetadata.NonCumulativeCost.getNonCumulativeCost()</code></a>
statistic.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.PercentageOriginalRows.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.PercentageOriginalRows.Handler.html#getPercentageOriginalRows(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getPercentageOriginalRows</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdPercentageOriginalRows.</span><code><span class="memberNameLink"><a href="../metadata/RelMdPercentageOriginalRows.html#getPercentageOriginalRows(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getPercentageOriginalRows</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getPercentageOriginalRows(org.apache.calcite.rel.RelNode)">getPercentageOriginalRows</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.PercentageOriginalRows.html#getPercentageOriginalRows()"><code>BuiltInMetadata.PercentageOriginalRows.getPercentageOriginalRows()</code></a>
statistic.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.PopulationSize.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.PopulationSize.Handler.html#getPopulationSize(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.util.ImmutableBitSet)">getPopulationSize</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupKey)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdPopulationSize.</span><code><span class="memberNameLink"><a href="../metadata/RelMdPopulationSize.html#getPopulationSize(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.util.ImmutableBitSet)">getPopulationSize</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupKey)</code></th>
<td class="colLast">
<div class="block">Catch-all implementation for
<a href="../metadata/BuiltInMetadata.PopulationSize.html#getPopulationSize(org.apache.calcite.util.ImmutableBitSet)"><code>BuiltInMetadata.PopulationSize.getPopulationSize(ImmutableBitSet)</code></a>,
invoked using reflection.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getPopulationSize(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet)">getPopulationSize</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupKey)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.PopulationSize.html#getPopulationSize(org.apache.calcite.util.ImmutableBitSet)"><code>BuiltInMetadata.PopulationSize.getPopulationSize(ImmutableBitSet)</code></a>
statistic.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.Predicates.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.Predicates.Handler.html#getPredicates(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getPredicates</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdPredicates.</span><code><span class="memberNameLink"><a href="../metadata/RelMdPredicates.html#getPredicates(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getPredicates</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">
<div class="block">Catch-all implementation for
<a href="../metadata/BuiltInMetadata.Predicates.html#getPredicates()"><code>BuiltInMetadata.Predicates.getPredicates()</code></a>,
invoked using reflection.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getPulledUpPredicates(org.apache.calcite.rel.RelNode)">getPulledUpPredicates</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.Predicates.html#getPredicates()"><code>BuiltInMetadata.Predicates.getPredicates()</code></a>
statistic.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.RowCount.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.RowCount.Handler.html#getRowCount(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getRowCount</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdRowCount.</span><code><span class="memberNameLink"><a href="../metadata/RelMdRowCount.html#getRowCount(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getRowCount</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">
<div class="block">Catch-all implementation for
<a href="../metadata/BuiltInMetadata.RowCount.html#getRowCount()"><code>BuiltInMetadata.RowCount.getRowCount()</code></a>,
invoked using reflection.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getRowCount(org.apache.calcite.rel.RelNode)">getRowCount</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.RowCount.html#getRowCount()"><code>BuiltInMetadata.RowCount.getRowCount()</code></a>
statistic.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.Selectivity.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.Selectivity.Handler.html#getSelectivity(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rex.RexNode)">getSelectivity</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;predicate)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdSelectivity.</span><code><span class="memberNameLink"><a href="../metadata/RelMdSelectivity.html#getSelectivity(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rex.RexNode)">getSelectivity</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;predicate)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getSelectivity(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">getSelectivity</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.Selectivity.html#getSelectivity(org.apache.calcite.rex.RexNode)"><code>BuiltInMetadata.Selectivity.getSelectivity(RexNode)</code></a>
statistic.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdUtil.</span><code><span class="memberNameLink"><a href="../metadata/RelMdUtil.html#getSemiJoinRowCount(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rex.RexNode)">getSemiJoinRowCount</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">
<div class="block">Returns an estimate of the number of rows returned by a
<a href="../core/SemiJoin.html" title="class in org.apache.calcite.rel.core"><code>SemiJoin</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getTableOrigin(org.apache.calcite.rel.RelNode)">getTableOrigin</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Determines the origin of a <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>, provided it maps to a single
table, optionally with filtering and projection.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Set&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.TableReferences.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.TableReferences.Handler.html#getTableReferences(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getTableReferences</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.Set&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdTableReferences.</span><code><span class="memberNameLink"><a href="../metadata/RelMdTableReferences.html#getTableReferences(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">getTableReferences</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Set&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getTableReferences(org.apache.calcite.rel.RelNode)">getTableReferences</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Determines the tables used by a plan.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.Set&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.UniqueKeys.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.UniqueKeys.Handler.html#getUniqueKeys(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery,boolean)">getUniqueKeys</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
boolean&nbsp;ignoreNulls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Set&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdUniqueKeys.</span><code><span class="memberNameLink"><a href="../metadata/RelMdUniqueKeys.html#getUniqueKeys(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery,boolean)">getUniqueKeys</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
boolean&nbsp;ignoreNulls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.Set&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getUniqueKeys(org.apache.calcite.rel.RelNode)">getUniqueKeys</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.UniqueKeys.html#getUniqueKeys(boolean)"><code>BuiltInMetadata.UniqueKeys.getUniqueKeys(boolean)</code></a>
statistic.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Set&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#getUniqueKeys(org.apache.calcite.rel.RelNode,boolean)">getUniqueKeys</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
boolean&nbsp;ignoreNulls)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.UniqueKeys.html#getUniqueKeys(boolean)"><code>BuiltInMetadata.UniqueKeys.getUniqueKeys(boolean)</code></a>
statistic.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.Parallelism.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.Parallelism.Handler.html#isPhaseTransition(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">isPhaseTransition</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdParallelism.</span><code><span class="memberNameLink"><a href="../metadata/RelMdParallelism.html#isPhaseTransition(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">isPhaseTransition</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">
<div class="block">Catch-all implementation for
<a href="../metadata/BuiltInMetadata.Parallelism.html#isPhaseTransition()"><code>BuiltInMetadata.Parallelism.isPhaseTransition()</code></a>,
invoked using reflection.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#isPhaseTransition(org.apache.calcite.rel.RelNode)">isPhaseTransition</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.Parallelism.html#isPhaseTransition()"><code>BuiltInMetadata.Parallelism.isPhaseTransition()</code></a>
statistic.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.ExplainVisibility.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.ExplainVisibility.Handler.html#isVisibleInExplain(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.sql.SqlExplainLevel)">isVisibleInExplain</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../sql/SqlExplainLevel.html" title="enum in org.apache.calcite.sql">SqlExplainLevel</a>&nbsp;explainLevel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdExplainVisibility.</span><code><span class="memberNameLink"><a href="../metadata/RelMdExplainVisibility.html#isVisibleInExplain(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.sql.SqlExplainLevel)">isVisibleInExplain</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../sql/SqlExplainLevel.html" title="enum in org.apache.calcite.sql">SqlExplainLevel</a>&nbsp;explainLevel)</code></th>
<td class="colLast">
<div class="block">Catch-all implementation for
<a href="../metadata/BuiltInMetadata.ExplainVisibility.html#isVisibleInExplain(org.apache.calcite.sql.SqlExplainLevel)"><code>BuiltInMetadata.ExplainVisibility.isVisibleInExplain(SqlExplainLevel)</code></a>,
invoked using reflection.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#isVisibleInExplain(org.apache.calcite.rel.RelNode,org.apache.calcite.sql.SqlExplainLevel)">isVisibleInExplain</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../sql/SqlExplainLevel.html" title="enum in org.apache.calcite.sql">SqlExplainLevel</a>&nbsp;explainLevel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.ExplainVisibility.html#isVisibleInExplain(org.apache.calcite.sql.SqlExplainLevel)"><code>BuiltInMetadata.ExplainVisibility.isVisibleInExplain(SqlExplainLevel)</code></a>
statistic.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdCollation.</span><code><span class="memberNameLink"><a href="../metadata/RelMdCollation.html#limit(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode)">limit</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">
<div class="block">Helper method to determine a
limit's collation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdDistribution.</span><code><span class="memberNameLink"><a href="../metadata/RelMdDistribution.html#limit(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode)">limit</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">
<div class="block">Helper method to determine a
limit's distribution.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.Memory.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.Memory.Handler.html#memory(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">memory</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdMemory.</span><code><span class="memberNameLink"><a href="../metadata/RelMdMemory.html#memory(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">memory</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">
<div class="block">Catch-all implementation for
<a href="../metadata/BuiltInMetadata.Memory.html#memory()"><code>BuiltInMetadata.Memory.memory()</code></a>,
invoked using reflection.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#memory(org.apache.calcite.rel.RelNode)">memory</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.Memory.html#memory()"><code>BuiltInMetadata.Memory.memory()</code></a>
statistic.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdCollation.</span><code><span class="memberNameLink"><a href="../metadata/RelMdCollation.html#mergeJoin(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.util.ImmutableIntList)">mergeJoin</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;leftKeys,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;rightKeys)</code></th>
<td class="colLast">
<div class="block">Helper method to determine a <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a>'s collation assuming that it
uses a merge-join algorithm.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdCollation.</span><code><span class="memberNameLink"><a href="../metadata/RelMdCollation.html#project(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,java.util.List)">project</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects)</code></th>
<td class="colLast">
<div class="block">Helper method to determine a <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>'s collation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdDistribution.</span><code><span class="memberNameLink"><a href="../metadata/RelMdDistribution.html#project(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,java.util.List)">project</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects)</code></th>
<td class="colLast">
<div class="block">Helper method to determine a <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>'s collation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdPredicates.</span><code><span class="memberNameLink"><a href="../metadata/RelMdPredicates.html#projectPredicate(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.util.ImmutableBitSet)">projectPredicate</a></span>&#8203;(<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;r,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;columnsMapped)</code></th>
<td class="colLast">
<div class="block">Converts a predicate on a particular set of columns into a predicate on
a subset of those columns, weakening if necessary.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;M extends <a href="../metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>&gt;<br>M</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MetadataFactory.</span><code><span class="memberNameLink"><a href="../metadata/MetadataFactory.html#query(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery,java.lang.Class)">query</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
java.lang.Class&lt;M&gt;&nbsp;metadataClazz)</code></th>
<td class="colLast">
<div class="block">Returns a metadata interface to get a particular kind of metadata
from a particular relational expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&lt;M extends <a href="../metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>&gt;<br>M</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MetadataFactoryImpl.</span><code><span class="memberNameLink"><a href="../metadata/MetadataFactoryImpl.html#query(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery,java.lang.Class)">query</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
java.lang.Class&lt;M&gt;&nbsp;metadataClazz)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdColumnUniqueness.</span><code><span class="memberNameLink"><a href="../metadata/RelMdColumnUniqueness.html#simplyProjects(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet)">simplyProjects</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;columns)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdDistribution.</span><code><span class="memberNameLink"><a href="../metadata/RelMdDistribution.html#sort(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode)">sort</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">
<div class="block">Helper method to determine a
<a href="../core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a>'s distribution.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Integer</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">BuiltInMetadata.Parallelism.Handler.</span><code><span class="memberNameLink"><a href="../metadata/BuiltInMetadata.Parallelism.Handler.html#splitCount(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">splitCount</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Integer</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdParallelism.</span><code><span class="memberNameLink"><a href="../metadata/RelMdParallelism.html#splitCount(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">splitCount</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">
<div class="block">Catch-all implementation for
<a href="../metadata/BuiltInMetadata.Parallelism.html#splitCount()"><code>BuiltInMetadata.Parallelism.splitCount()</code></a>,
invoked using reflection.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Integer</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#splitCount(org.apache.calcite.rel.RelNode)">splitCount</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns the
<a href="../metadata/BuiltInMetadata.Parallelism.html#splitCount()"><code>BuiltInMetadata.Parallelism.splitCount()</code></a>
statistic.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdCollation.</span><code><span class="memberNameLink"><a href="../metadata/RelMdCollation.html#window(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,com.google.common.collect.ImmutableList)">window</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
com.google.common.collect.ImmutableList&lt;<a href="../core/Window.Group.html" title="class in org.apache.calcite.rel.core">Window.Group</a>&gt;&nbsp;groups)</code></th>
<td class="colLast">
<div class="block">Helper method to determine a
<a href="../core/Window.html" title="class in org.apache.calcite.rel.core"><code>Window</code></a>'s collation.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../metadata/package-summary.html">org.apache.calcite.rel.metadata</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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>&lt;M extends <a href="../metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>&gt;<br><a href="../metadata/UnboundMetadata.html" title="interface in org.apache.calcite.rel.metadata">UnboundMetadata</a>&lt;M&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CachingRelMetadataProvider.</span><code><span class="memberNameLink"><a href="../metadata/CachingRelMetadataProvider.html#apply(java.lang.Class,java.lang.Class)">apply</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;relClass,
java.lang.Class&lt;? extends M&gt;&nbsp;metadataClass)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;M extends <a href="../metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>&gt;<br><a href="../metadata/UnboundMetadata.html" title="interface in org.apache.calcite.rel.metadata">UnboundMetadata</a>&lt;M&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ChainedRelMetadataProvider.</span><code><span class="memberNameLink"><a href="../metadata/ChainedRelMetadataProvider.html#apply(java.lang.Class,java.lang.Class)">apply</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;relClass,
java.lang.Class&lt;? extends M&gt;&nbsp;metadataClass)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&lt;M extends <a href="../metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>&gt;<br><a href="../metadata/UnboundMetadata.html" title="interface in org.apache.calcite.rel.metadata">UnboundMetadata</a>&lt;M&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JaninoRelMetadataProvider.</span><code><span class="memberNameLink"><a href="../metadata/JaninoRelMetadataProvider.html#apply(java.lang.Class,java.lang.Class)">apply</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;relClass,
java.lang.Class&lt;? extends M&gt;&nbsp;metadataClass)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;M extends <a href="../metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>&gt;<br><a href="../metadata/UnboundMetadata.html" title="interface in org.apache.calcite.rel.metadata">UnboundMetadata</a>&lt;M&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReflectiveRelMetadataProvider.</span><code><span class="memberNameLink"><a href="../metadata/ReflectiveRelMetadataProvider.html#apply(java.lang.Class)">apply</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;relClass)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&lt;M extends <a href="../metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>&gt;<br><a href="../metadata/UnboundMetadata.html" title="interface in org.apache.calcite.rel.metadata">UnboundMetadata</a>&lt;M&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReflectiveRelMetadataProvider.</span><code><span class="memberNameLink"><a href="../metadata/ReflectiveRelMetadataProvider.html#apply(java.lang.Class,java.lang.Class)">apply</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;relClass,
java.lang.Class&lt;? extends M&gt;&nbsp;metadataClass)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;M extends <a href="../metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>&gt;<br><a href="../metadata/UnboundMetadata.html" title="interface in org.apache.calcite.rel.metadata">UnboundMetadata</a>&lt;M&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataProvider.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataProvider.html#apply(java.lang.Class,java.lang.Class)">apply</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;relClass,
java.lang.Class&lt;? extends M&gt;&nbsp;metadataClass)</code></th>
<td class="colLast">
<div class="block">Retrieves metadata of a particular type and for a particular sub-class
of relational expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) java.lang.reflect.Method</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReflectiveRelMetadataProvider.Space.</span><code><span class="memberNameLink"><a href="../metadata/ReflectiveRelMetadataProvider.Space.html#find(java.lang.Class,java.lang.reflect.Method)">find</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;relNodeClass,
java.lang.reflect.Method&nbsp;method)</code></th>
<td class="colLast">
<div class="block">Finds an implementation of a method for <code>relNodeClass</code> or its
nearest base class.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static com.google.common.collect.Multimap&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdNodeTypes.</span><code><span class="memberNameLink"><a href="../metadata/RelMdNodeTypes.html#getNodeTypes(org.apache.calcite.rel.RelNode,java.lang.Class,org.apache.calcite.rel.metadata.RelMetadataQuery)">getNodeTypes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;c,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static &lt;M extends <a href="../metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>&gt;<br><a href="../metadata/MetadataHandler.html" title="interface in org.apache.calcite.rel.metadata">MetadataHandler</a>&lt;M&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JaninoRelMetadataProvider.</span><code><span class="memberNameLink"><a href="../metadata/JaninoRelMetadataProvider.html#load3(org.apache.calcite.rel.metadata.MetadataDef,com.google.common.collect.Multimap,com.google.common.collect.ImmutableList)">load3</a></span>&#8203;(<a href="../metadata/MetadataDef.html" title="class in org.apache.calcite.rel.metadata">MetadataDef</a>&lt;M&gt;&nbsp;def,
com.google.common.collect.Multimap&lt;java.lang.reflect.Method,&#8203;<a href="../metadata/MetadataHandler.html" title="interface in org.apache.calcite.rel.metadata">MetadataHandler</a>&lt;M&gt;&gt;&nbsp;map,
com.google.common.collect.ImmutableList&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;relClasses)</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">JaninoRelMetadataProvider.</span><code><span class="memberNameLink"><a href="../metadata/JaninoRelMetadataProvider.html#register(java.lang.Iterable)">register</a></span>&#8203;(java.lang.Iterable&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;classes)</code></th>
<td class="colLast">
<div class="block">Registers some classes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) &lt;M extends <a href="../metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>,&#8203;H extends <a href="../metadata/MetadataHandler.html" title="interface in org.apache.calcite.rel.metadata">MetadataHandler</a>&lt;M&gt;&gt;<br>H</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JaninoRelMetadataProvider.</span><code><span class="memberNameLink"><a href="../metadata/JaninoRelMetadataProvider.html#revise(java.lang.Class,org.apache.calcite.rel.metadata.MetadataDef)">revise</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;rClass,
<a href="../metadata/MetadataDef.html" title="class in org.apache.calcite.rel.metadata">MetadataDef</a>&lt;M&gt;&nbsp;def)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected &lt;M extends <a href="../metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>,&#8203;H extends <a href="../metadata/MetadataHandler.html" title="interface in org.apache.calcite.rel.metadata">MetadataHandler</a>&lt;M&gt;&gt;<br>H</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMetadataQuery.</span><code><span class="memberNameLink"><a href="../metadata/RelMetadataQuery.html#revise(java.lang.Class,org.apache.calcite.rel.metadata.MetadataDef)">revise</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;class_,
<a href="../metadata/MetadataDef.html" title="class in org.apache.calcite.rel.metadata">MetadataDef</a>&lt;M&gt;&nbsp;def)</code></th>
<td class="colLast">
<div class="block">Re-generates the handler for a given kind of metadata, adding support for
<code>class_</code> if it is not already present.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructor parameters in <a href="../metadata/package-summary.html">org.apache.calcite.rel.metadata</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../metadata/JaninoRelMetadataProvider.Key.html#%3Cinit%3E(org.apache.calcite.rel.metadata.MetadataDef,org.apache.calcite.rel.metadata.RelMetadataProvider,com.google.common.collect.ImmutableList)">Key</a></span>&#8203;(<a href="../metadata/MetadataDef.html" title="class in org.apache.calcite.rel.metadata">MetadataDef</a>&nbsp;def,
<a href="../metadata/RelMetadataProvider.html" title="interface in org.apache.calcite.rel.metadata">RelMetadataProvider</a>&nbsp;provider,
com.google.common.collect.ImmutableList&lt;java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&gt;&nbsp;relClassList)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../metadata/JaninoRelMetadataProvider.NoHandler.html#%3Cinit%3E(java.lang.Class)">NoHandler</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;relClass)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../metadata/ReflectiveRelMetadataProvider.html#%3Cinit%3E(java.util.concurrent.ConcurrentMap,java.lang.Class,com.google.common.collect.Multimap)">ReflectiveRelMetadataProvider</a></span>&#8203;(java.util.concurrent.ConcurrentMap&lt;java.lang.Class&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;,&#8203;<a href="../metadata/UnboundMetadata.html" title="interface in org.apache.calcite.rel.metadata">UnboundMetadata</a>&gt;&nbsp;map,
java.lang.Class&lt;? extends <a href="../metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>&gt;&nbsp;metadataClass0,
com.google.common.collect.Multimap&lt;java.lang.reflect.Method,&#8203;<a href="../metadata/MetadataHandler.html" title="interface in org.apache.calcite.rel.metadata">MetadataHandler</a>&gt;&nbsp;handlerMap)</code></th>
<td class="colLast">
<div class="block">Creates a ReflectiveRelMetadataProvider.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rel.mutable">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../mutable/package-summary.html">org.apache.calcite.rel.mutable</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../mutable/package-summary.html">org.apache.calcite.rel.mutable</a> declared as <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MutableLeafRel.</span><code><span class="memberNameLink"><a href="../mutable/MutableLeafRel.html#rel">rel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../mutable/package-summary.html">org.apache.calcite.rel.mutable</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MutableRels.</span><code><span class="memberNameLink"><a href="../mutable/MutableRels.html#fromMutable(org.apache.calcite.rel.mutable.MutableRel)">fromMutable</a></span>&#8203;(<a href="../mutable/MutableRel.html" title="class in org.apache.calcite.rel.mutable">MutableRel</a>&nbsp;node)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MutableRels.</span><code><span class="memberNameLink"><a href="../mutable/MutableRels.html#fromMutable(org.apache.calcite.rel.mutable.MutableRel,org.apache.calcite.tools.RelBuilder)">fromMutable</a></span>&#8203;(<a href="../mutable/MutableRel.html" title="class in org.apache.calcite.rel.mutable">MutableRel</a>&nbsp;node,
<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../mutable/package-summary.html">org.apache.calcite.rel.mutable</a> that return types with arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 static java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MutableRels.</span><code><span class="memberNameLink"><a href="../mutable/MutableRels.html#fromMutables(java.util.List,org.apache.calcite.tools.RelBuilder)">fromMutables</a></span>&#8203;(java.util.List&lt;<a href="../mutable/MutableRel.html" title="class in org.apache.calcite.rel.mutable">MutableRel</a>&gt;&nbsp;nodes,
<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../mutable/package-summary.html">org.apache.calcite.rel.mutable</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../mutable/MutableRel.html" title="class in org.apache.calcite.rel.mutable">MutableRel</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MutableRels.</span><code><span class="memberNameLink"><a href="../mutable/MutableRels.html#toMutable(org.apache.calcite.rel.RelNode)">toMutable</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../mutable/package-summary.html">org.apache.calcite.rel.mutable</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 static java.util.List&lt;<a href="../mutable/MutableRel.html" title="class in org.apache.calcite.rel.mutable">MutableRel</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MutableRels.</span><code><span class="memberNameLink"><a href="../mutable/MutableRels.html#toMutables(java.util.List)">toMutables</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;nodes)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../mutable/package-summary.html">org.apache.calcite.rel.mutable</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../mutable/MutableLeafRel.html#%3Cinit%3E(org.apache.calcite.rel.mutable.MutableRelType,org.apache.calcite.rel.RelNode)">MutableLeafRel</a></span>&#8203;(<a href="../mutable/MutableRelType.html" title="enum in org.apache.calcite.rel.mutable">MutableRelType</a>&nbsp;type,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rel.rel2sql">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../rel2sql/package-summary.html">org.apache.calcite.rel.rel2sql</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../rel2sql/package-summary.html">org.apache.calcite.rel.rel2sql</a> declared as <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelToSqlConverter.Frame.</span><code><span class="memberNameLink"><a href="../rel2sql/RelToSqlConverter.Frame.html#r">r</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlImplementor.Builder.</span><code><span class="memberNameLink"><a href="../rel2sql/SqlImplementor.Builder.html#rel">rel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../rel2sql/package-summary.html">org.apache.calcite.rel.rel2sql</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../rel2sql/SqlImplementor.Builder.html" title="class in org.apache.calcite.rel.rel2sql">SqlImplementor.Builder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlImplementor.Result.</span><code><span class="memberNameLink"><a href="../rel2sql/SqlImplementor.Result.html#builder(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.rel2sql.SqlImplementor.Clause...)">builder</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../rel2sql/SqlImplementor.Clause.html" title="enum in org.apache.calcite.rel.rel2sql">SqlImplementor.Clause</a>...&nbsp;clauses)</code></th>
<td class="colLast">
<div class="block">Once you have a Result of implementing a child relational expression,
call this method to create a Builder to implement the current relational
expression by adding additional clauses to the SQL query.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../rel2sql/SqlImplementor.Result.html" title="class in org.apache.calcite.rel.rel2sql">SqlImplementor.Result</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelToSqlConverter.</span><code><span class="memberNameLink"><a href="../rel2sql/RelToSqlConverter.html#dispatch(org.apache.calcite.rel.RelNode)">dispatch</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;e)</code></th>
<td class="colLast">
<div class="block">Dispatches a call to the <code>visit(Xxx e)</code> method where <code>Xxx</code>
most closely matches the runtime type of the argument.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelToSqlConverter.</span><code><span class="memberNameLink"><a href="../rel2sql/RelToSqlConverter.html#parseCorrelTable(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.rel2sql.SqlImplementor.Result)">parseCorrelTable</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;relNode,
<a href="../rel2sql/SqlImplementor.Result.html" title="class in org.apache.calcite.rel.rel2sql">SqlImplementor.Result</a>&nbsp;x)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../rel2sql/SqlImplementor.Result.html" title="class in org.apache.calcite.rel.rel2sql">SqlImplementor.Result</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlImplementor.</span><code><span class="memberNameLink"><a href="../rel2sql/SqlImplementor.html#result(org.apache.calcite.sql.SqlNode,java.util.Collection,org.apache.calcite.rel.RelNode,java.util.Map)">result</a></span>&#8203;(<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node,
java.util.Collection&lt;<a href="../rel2sql/SqlImplementor.Clause.html" title="enum in org.apache.calcite.rel.rel2sql">SqlImplementor.Clause</a>&gt;&nbsp;clauses,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.Map&lt;java.lang.String,&#8203;<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;aliases)</code></th>
<td class="colLast">
<div class="block">Creates a result based on a single relational expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../rel2sql/SqlImplementor.Result.html" title="class in org.apache.calcite.rel.rel2sql">SqlImplementor.Result</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlImplementor.</span><code><span class="memberNameLink"><a href="../rel2sql/SqlImplementor.html#setOpToSql(org.apache.calcite.sql.SqlSetOperator,org.apache.calcite.rel.RelNode)">setOpToSql</a></span>&#8203;(<a href="../../sql/SqlSetOperator.html" title="class in org.apache.calcite.sql">SqlSetOperator</a>&nbsp;operator,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../rel2sql/SqlImplementor.Result.html" title="class in org.apache.calcite.rel.rel2sql">SqlImplementor.Result</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelToSqlConverter.</span><code><span class="memberNameLink"><a href="../rel2sql/RelToSqlConverter.html#visit(org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;e)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../rel2sql/SqlImplementor.Result.html" title="class in org.apache.calcite.rel.rel2sql">SqlImplementor.Result</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelToSqlConverter.</span><code><span class="memberNameLink"><a href="../rel2sql/RelToSqlConverter.html#visitChild(int,org.apache.calcite.rel.RelNode)">visitChild</a></span>&#8203;(int&nbsp;i,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;e)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract <a href="../rel2sql/SqlImplementor.Result.html" title="class in org.apache.calcite.rel.rel2sql">SqlImplementor.Result</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlImplementor.</span><code><span class="memberNameLink"><a href="../rel2sql/SqlImplementor.html#visitChild(int,org.apache.calcite.rel.RelNode)">visitChild</a></span>&#8203;(int&nbsp;i,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;e)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../rel2sql/package-summary.html">org.apache.calcite.rel.rel2sql</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../rel2sql/SqlImplementor.Builder.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.sql.SqlSelect,org.apache.calcite.rel.rel2sql.SqlImplementor.Context,java.util.Map)">Builder</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../rel2sql/SqlImplementor.Clause.html" title="enum in org.apache.calcite.rel.rel2sql">SqlImplementor.Clause</a>&gt;&nbsp;clauses,
<a href="../../sql/SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select,
<a href="../rel2sql/SqlImplementor.Context.html" title="class in org.apache.calcite.rel.rel2sql">SqlImplementor.Context</a>&nbsp;context,
java.util.Map&lt;java.lang.String,&#8203;<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;aliases)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../rel2sql/RelToSqlConverter.Frame.html#%3Cinit%3E(int,org.apache.calcite.rel.RelNode)">Frame</a></span>&#8203;(int&nbsp;ordinalInParent,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rel.rules">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../rules/package-summary.html">org.apache.calcite.rel.rules</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../rules/package-summary.html">org.apache.calcite.rel.rules</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../rules/EquiJoin.html" title="class in org.apache.calcite.rel.rules">EquiJoin</a></span></code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use
<a href="../core/EquiJoin.html" title="class in org.apache.calcite.rel.core"><code>EquiJoin in 'core' package</code></a></div>
</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="../rules/MultiJoin.html" title="class in org.apache.calcite.rel.rules">MultiJoin</a></span></code></th>
<td class="colLast">
<div class="block">A MultiJoin represents a join of N inputs, whereas regular Joins
represent strictly binary joins.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../rules/package-summary.html">org.apache.calcite.rel.rules</a> declared as <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcRelSplitter.</span><code><span class="memberNameLink"><a href="../rules/CalcRelSplitter.html#child">child</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PushProjector.</span><code><span class="memberNameLink"><a href="../rules/PushProjector.html#childRel">childRel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptSemiJoinOptimizer.</span><code><span class="memberNameLink"><a href="../rules/LoptSemiJoinOptimizer.html#chosenSemiJoins">chosenSemiJoins</a></span></code></th>
<td class="colLast">
<div class="block">Semijoins corresponding to each join factor, if they are going to be
filtered by semijoins.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptJoinTree.</span><code><span class="memberNameLink"><a href="../rules/LoptJoinTree.html#joinTree">joinTree</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateJoinTransposeRule.Side.</span><code><span class="memberNameLink"><a href="../rules/AggregateJoinTransposeRule.Side.html#newInput">newInput</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.ViewPartialRewriting.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.ViewPartialRewriting.html#newView">newView</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.ViewPartialRewriting.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.ViewPartialRewriting.html#newViewNode">newViewNode</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MultiJoinOptimizeBushyRule.LeafVertex.</span><code><span class="memberNameLink"><a href="../rules/MultiJoinOptimizeBushyRule.LeafVertex.html#rel">rel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../rules/package-summary.html">org.apache.calcite.rel.rules</a> with type parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MultiJoin.</span><code><span class="memberNameLink"><a href="../rules/MultiJoin.html#inputs">inputs</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private com.google.common.collect.ImmutableList&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptMultiJoin.</span><code><span class="memberNameLink"><a href="../rules/LoptMultiJoin.html#joinFactors">joinFactors</a></span></code></th>
<td class="colLast">
<div class="block">Original inputs into the MultiJoin</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../rules/package-summary.html">org.apache.calcite.rel.rules</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MultiJoin.</span><code><span class="memberNameLink"><a href="../rules/MultiJoin.html#accept(org.apache.calcite.rex.RexShuttle)">accept</a></span>&#8203;(<a href="../../rex/RexShuttle.html" title="class in org.apache.calcite.rex">RexShuttle</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateProjectMergeRule.</span><code><span class="memberNameLink"><a href="../rules/AggregateProjectMergeRule.html#apply(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Aggregate,org.apache.calcite.rel.core.Project)">apply</a></span>&#8203;(<a href="../../plan/RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;project)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PushProjector.</span><code><span class="memberNameLink"><a href="../rules/PushProjector.html#convertProject(org.apache.calcite.rex.RexNode)">convertProject</a></span>&#8203;(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;defaultExpr)</code></th>
<td class="colLast">
<div class="block">Decomposes a projection to the input references referenced by a
projection and a filter, either of which is optional.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MultiJoin.</span><code><span class="memberNameLink"><a href="../rules/MultiJoin.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReduceExpressionsRule.CalcReduceExpressionsRule.</span><code><span class="memberNameLink"><a href="../rules/ReduceExpressionsRule.CalcReduceExpressionsRule.html#createEmptyRelOrEquivalent(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Calc)">createEmptyRelOrEquivalent</a></span>&#8203;(<a href="../../plan/RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../core/Calc.html" title="class in org.apache.calcite.rel.core">Calc</a>&nbsp;input)</code></th>
<td class="colLast">
<div class="block">For static schema systems, a filter that is always false or null can be
replaced by a values operator that produces no rows, as the schema
information can just be taken from the input Rel.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReduceExpressionsRule.FilterReduceExpressionsRule.</span><code><span class="memberNameLink"><a href="../rules/ReduceExpressionsRule.FilterReduceExpressionsRule.html#createEmptyRelOrEquivalent(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Filter)">createEmptyRelOrEquivalent</a></span>&#8203;(<a href="../../plan/RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a>&nbsp;input)</code></th>
<td class="colLast">
<div class="block">For static schema systems, a filter that is always false or null can be
replaced by a values operator that produces no rows, as the schema
information can just be taken from the input Rel.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PushProjector.</span><code><span class="memberNameLink"><a href="../rules/PushProjector.html#createNewProject(org.apache.calcite.rel.RelNode,int%5B%5D)">createNewProject</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;projChild,
int[]&nbsp;adjustments)</code></th>
<td class="colLast">
<div class="block">Creates a new projection based on the original projection, adjusting all
input refs using an adjustment array passed in.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptOptimizeJoinRule.</span><code><span class="memberNameLink"><a href="../rules/LoptOptimizeJoinRule.html#createTopProject(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.rules.LoptMultiJoin,org.apache.calcite.rel.rules.LoptJoinTree,java.util.List)">createTopProject</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../rules/LoptMultiJoin.html" title="class in org.apache.calcite.rel.rules">LoptMultiJoin</a>&nbsp;multiJoin,
<a href="../rules/LoptJoinTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree</a>&nbsp;joinTree,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames)</code></th>
<td class="colLast">
<div class="block">Creates the topmost projection that will sit on top of the selected join
ordering.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected abstract <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.html#createUnion(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">createUnion</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;unionInputQuery,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;unionInputView)</code></th>
<td class="colLast">
<div class="block">If the view will be used in a union rewriting, this method is responsible for
generating the union and any other operator needed on top of it, e.g., a Project
operator.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewAggregateRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewAggregateRule.html#createUnion(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">createUnion</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;unionInputQuery,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;unionInputView)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewJoinRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewJoinRule.html#createUnion(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">createUnion</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;unionInputQuery,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;unionInputView)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcRelSplitter.</span><code><span class="memberNameLink"><a href="../rules/CalcRelSplitter.html#execute()">execute</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptSemiJoinOptimizer.</span><code><span class="memberNameLink"><a href="../rules/LoptSemiJoinOptimizer.html#getChosenSemiJoin(int)">getChosenSemiJoin</a></span>&#8203;(int&nbsp;factIdx)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptMultiJoin.</span><code><span class="memberNameLink"><a href="../rules/LoptMultiJoin.html#getJoinFactor(int)">getJoinFactor</a></span>&#8203;(int&nbsp;factIdx)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptJoinTree.</span><code><span class="memberNameLink"><a href="../rules/LoptJoinTree.html#getJoinTree()">getJoinTree</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinProjectTransposeRule.</span><code><span class="memberNameLink"><a href="../rules/JoinProjectTransposeRule.html#getProjectChild(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Project,boolean)">getProjectChild</a></span>&#8203;(<a href="../../plan/RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;project,
boolean&nbsp;leftChild)</code></th>
<td class="colLast">
<div class="block">Returns the child of the project that will be used as input into the new
LogicalJoin once the projects are pulled above the LogicalJoin.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MultiJoinProjectTransposeRule.</span><code><span class="memberNameLink"><a href="../rules/MultiJoinProjectTransposeRule.html#getProjectChild(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.logical.LogicalProject,boolean)">getProjectChild</a></span>&#8203;(<a href="../../plan/RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a>&nbsp;project,
boolean&nbsp;leftChild)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcRelSplitter.</span><code><span class="memberNameLink"><a href="../rules/CalcRelSplitter.html#handle(org.apache.calcite.rel.RelNode)">handle</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Opportunity to further refine the relational expression created for a
given level.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcRelSplitter.RelType.</span><code><span class="memberNameLink"><a href="../rules/CalcRelSplitter.RelType.html#makeRel(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram)">makeRel</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewAggregateRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewAggregateRule.html#rewriteQuery(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexSimplify,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses)">rewriteQuery</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rex/RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&nbsp;simplify,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;compensationColumnsEquiPred,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;otherCompensationPred,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
com.google.common.collect.BiMap&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;queryToViewTableMapping,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;viewEC,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;queryEC)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewJoinRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewJoinRule.html#rewriteQuery(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexSimplify,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses)">rewriteQuery</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rex/RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&nbsp;simplify,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;compensationColumnsEquiPred,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;otherCompensationPred,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
com.google.common.collect.BiMap&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;viewToQueryTableMapping,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;viewEC,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;queryEC)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected abstract <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.html#rewriteQuery(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexSimplify,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses)">rewriteQuery</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rex/RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&nbsp;simplify,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;compensationColumnsEquiPred,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;otherCompensationPred,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
com.google.common.collect.BiMap&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;viewToQueryTableMapping,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;viewEC,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;queryEC)</code></th>
<td class="colLast">
<div class="block">If the view will be used in a union rewriting, this method is responsible for
rewriting the query branch of the union using the given compensation predicate.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewAggregateRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewAggregateRule.html#rewriteView(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexSimplify,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.MatchModality,boolean,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses)">rewriteView</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rex/RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&nbsp;simplify,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../rules/AbstractMaterializedViewRule.MatchModality.html" title="enum in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.MatchModality</a>&nbsp;matchModality,
boolean&nbsp;unionRewriting,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topViewProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;viewNode,
com.google.common.collect.BiMap&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;queryToViewTableMapping,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;queryEC)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewJoinRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewJoinRule.html#rewriteView(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexSimplify,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.MatchModality,boolean,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses)">rewriteView</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rex/RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&nbsp;simplify,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../rules/AbstractMaterializedViewRule.MatchModality.html" title="enum in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.MatchModality</a>&nbsp;matchModality,
boolean&nbsp;unionRewriting,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topViewProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;viewNode,
com.google.common.collect.BiMap&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;queryToViewTableMapping,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;queryEC)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected abstract <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.html#rewriteView(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexSimplify,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.MatchModality,boolean,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses)">rewriteView</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rex/RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&nbsp;simplify,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../rules/AbstractMaterializedViewRule.MatchModality.html" title="enum in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.MatchModality</a>&nbsp;matchModality,
boolean&nbsp;unionRewriting,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topViewProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;viewNode,
com.google.common.collect.BiMap&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;queryToViewTableMapping,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;queryEC)</code></th>
<td class="colLast">
<div class="block">Rewrites the query using the given view query.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ProjectRemoveRule.</span><code><span class="memberNameLink"><a href="../rules/ProjectRemoveRule.html#strip(org.apache.calcite.rel.core.Project)">strip</a></span>&#8203;(<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;project)</code></th>
<td class="colLast">
<div class="block">Returns the child of a project if the project is trivial, otherwise
the project itself.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinCommuteRule.</span><code><span class="memberNameLink"><a href="../rules/JoinCommuteRule.html#swap(org.apache.calcite.rel.core.Join)">swap</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;join)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinCommuteRule.</span><code><span class="memberNameLink"><a href="../rules/JoinCommuteRule.html#swap(org.apache.calcite.rel.core.Join,boolean)">swap</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;join,
boolean&nbsp;swapOuterJoins)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinCommuteRule.</span><code><span class="memberNameLink"><a href="../rules/JoinCommuteRule.html#swap(org.apache.calcite.rel.core.Join,boolean,org.apache.calcite.tools.RelBuilder)">swap</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;join,
boolean&nbsp;swapOuterJoins,
<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder)</code></th>
<td class="colLast">
<div class="block">Returns a relational expression with the inputs switched round.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ProjectCorrelateTransposeRule.RelNodesExprsHandler.</span><code><span class="memberNameLink"><a href="../rules/ProjectCorrelateTransposeRule.RelNodesExprsHandler.html#visitChild(org.apache.calcite.rel.RelNode,int,org.apache.calcite.rel.RelNode)">visitChild</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;parent,
int&nbsp;i,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../rules/package-summary.html">org.apache.calcite.rel.rules</a> that return types with arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinToMultiJoinRule.</span><code><span class="memberNameLink"><a href="../rules/JoinToMultiJoinRule.html#combineInputs(org.apache.calcite.rel.core.Join,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,java.util.List,java.util.List)">combineInputs</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;join,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;projFieldsList,
java.util.List&lt;int[]&gt;&nbsp;joinFieldRefCountsList)</code></th>
<td class="colLast">
<div class="block">Combines the inputs into a LogicalJoin into an array of inputs.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MultiJoin.</span><code><span class="memberNameLink"><a href="../rules/MultiJoin.html#getInputs()">getInputs</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewAggregateRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewAggregateRule.html#pushFilterToOriginalViewPlan(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">pushFilterToOriginalViewPlan</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;builder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topViewProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;viewNode,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;cond)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewAggregateRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewAggregateRule.html#pushFilterToOriginalViewPlan(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">pushFilterToOriginalViewPlan</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;builder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topViewProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;viewNode,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;cond)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewJoinRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewJoinRule.html#pushFilterToOriginalViewPlan(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">pushFilterToOriginalViewPlan</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;builder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topViewProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;viewNode,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;cond)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewJoinRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewJoinRule.html#pushFilterToOriginalViewPlan(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">pushFilterToOriginalViewPlan</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;builder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topViewProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;viewNode,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;cond)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected abstract <a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.html#pushFilterToOriginalViewPlan(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">pushFilterToOriginalViewPlan</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;builder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topViewProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;viewNode,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;cond)</code></th>
<td class="colLast">
<div class="block">Once we create a compensation predicate, this method is responsible for pushing
the resulting filter through the view nodes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected abstract <a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.html#pushFilterToOriginalViewPlan(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">pushFilterToOriginalViewPlan</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;builder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topViewProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;viewNode,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;cond)</code></th>
<td class="colLast">
<div class="block">Once we create a compensation predicate, this method is responsible for pushing
the resulting filter through the view nodes.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../rules/package-summary.html">org.apache.calcite.rel.rules</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptOptimizeJoinRule.</span><code><span class="memberNameLink"><a href="../rules/LoptOptimizeJoinRule.html#areSelfJoinKeysUnique(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">areSelfJoinKeysUnique</a></span>&#8203;(<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;leftRel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rightRel,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;joinFilters)</code></th>
<td class="colLast">
<div class="block">Determines if the equality portion of a self-join condition is between
identical keys that are unique.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinToMultiJoinRule.</span><code><span class="memberNameLink"><a href="../rules/JoinToMultiJoinRule.html#canCombine(org.apache.calcite.rel.RelNode,boolean)">canCombine</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;nullGenerating)</code></th>
<td class="colLast">
<div class="block">Returns whether an input can be merged into a given relational expression
without changing semantics.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinToMultiJoinRule.</span><code><span class="memberNameLink"><a href="../rules/JoinToMultiJoinRule.html#combineInputs(org.apache.calcite.rel.core.Join,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,java.util.List,java.util.List)">combineInputs</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;join,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;projFieldsList,
java.util.List&lt;int[]&gt;&nbsp;joinFieldRefCountsList)</code></th>
<td class="colLast">
<div class="block">Combines the inputs into a LogicalJoin into an array of inputs.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinToMultiJoinRule.</span><code><span class="memberNameLink"><a href="../rules/JoinToMultiJoinRule.html#combineJoinFilters(org.apache.calcite.rel.core.Join,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">combineJoinFilters</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;joinRel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right)</code></th>
<td class="colLast">
<div class="block">Combines the join filters from the left and right inputs (if they are
MultiJoinRels) with the join filter in the joinrel into a single AND'd
join filter, unless the inputs correspond to null generating inputs in an
outer join</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinToMultiJoinRule.</span><code><span class="memberNameLink"><a href="../rules/JoinToMultiJoinRule.html#combineOuterJoins(org.apache.calcite.rel.core.Join,java.util.List,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,java.util.List)">combineOuterJoins</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;joinRel,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;combinedInputs,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;&nbsp;joinSpecs)</code></th>
<td class="colLast">
<div class="block">Combines the outer join conditions and join types from the left and right
join inputs.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinToMultiJoinRule.</span><code><span class="memberNameLink"><a href="../rules/JoinToMultiJoinRule.html#combinePostJoinFilters(org.apache.calcite.rel.core.Join,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">combinePostJoinFilters</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;joinRel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right)</code></th>
<td class="colLast">
<div class="block">Combines the post-join filters from the left and right inputs (if they
are MultiJoinRels) into a single AND'd filter.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected abstract <a href="../rules/AbstractMaterializedViewRule.ViewPartialRewriting.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.ViewPartialRewriting</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.html#compensateViewPartial(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,java.util.Set,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,java.util.Set)">compensateViewPartial</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
java.util.Set&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;queryTableRefs,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;queryEC,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topViewProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;viewNode,
java.util.Set&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;viewTableRefs)</code></th>
<td class="colLast">
<div class="block">It checks whether the query can be rewritten using the view even though the
query uses additional tables.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../rules/AbstractMaterializedViewRule.ViewPartialRewriting.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.ViewPartialRewriting</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewAggregateRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewAggregateRule.html#compensateViewPartial(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,java.util.Set,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,java.util.Set)">compensateViewPartial</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
java.util.Set&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;queryTableRefs,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;queryEC,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topViewProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;viewNode,
java.util.Set&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;viewTableRefs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../rules/AbstractMaterializedViewRule.ViewPartialRewriting.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.ViewPartialRewriting</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewJoinRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewJoinRule.html#compensateViewPartial(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,java.util.Set,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,java.util.Set)">compensateViewPartial</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
java.util.Set&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;queryTableRefs,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;queryEC,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topViewProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;viewNode,
java.util.Set&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;viewTableRefs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptSemiJoinOptimizer.</span><code><span class="memberNameLink"><a href="../rules/LoptSemiJoinOptimizer.html#computeScore(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.SemiJoin)">computeScore</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;factRel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;dimRel,
<a href="../core/SemiJoin.html" title="class in org.apache.calcite.rel.core">SemiJoin</a>&nbsp;semiJoin)</code></th>
<td class="colLast">
<div class="block">Computes a score relevant to applying a set of semijoins on a fact table.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PushProjector.</span><code><span class="memberNameLink"><a href="../rules/PushProjector.html#createNewProject(org.apache.calcite.rel.RelNode,int%5B%5D)">createNewProject</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;projChild,
int[]&nbsp;adjustments)</code></th>
<td class="colLast">
<div class="block">Creates a new projection based on the original projection, adjusting all
input refs using an adjustment array passed in.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinProjectTransposeRule.</span><code><span class="memberNameLink"><a href="../rules/JoinProjectTransposeRule.html#createProjectExprs(org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,int,org.apache.calcite.rex.RexBuilder,java.util.List,java.util.List)">createProjectExprs</a></span>&#8203;(<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;projRel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;joinChild,
int&nbsp;adjustmentAmount,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;joinChildrenFields,
java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;java.lang.String&gt;&gt;&nbsp;projects)</code></th>
<td class="colLast">
<div class="block">Creates projection expressions corresponding to one of the inputs into
the join</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PushProjector.</span><code><span class="memberNameLink"><a href="../rules/PushProjector.html#createProjectRefsAndExprs(org.apache.calcite.rel.RelNode,boolean,boolean)">createProjectRefsAndExprs</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;projChild,
boolean&nbsp;adjust,
boolean&nbsp;rightSide)</code></th>
<td class="colLast">
<div class="block">Creates a projection based on the inputs specified in a bitmap and the
expressions that need to be preserved.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected abstract <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.html#createUnion(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">createUnion</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;unionInputQuery,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;unionInputView)</code></th>
<td class="colLast">
<div class="block">If the view will be used in a union rewriting, this method is responsible for
generating the union and any other operator needed on top of it, e.g., a Project
operator.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewAggregateRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewAggregateRule.html#createUnion(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">createUnion</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;unionInputQuery,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;unionInputView)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewJoinRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewJoinRule.html#createUnion(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">createUnion</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;unionInputQuery,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;unionInputView)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.html#extractReferences(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.RelNode)">extractReferences</a></span>&#8203;(<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">If the node is an Aggregate, it returns a list of references to the grouping columns.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../rules/LoptSemiJoinOptimizer.FemLocalIndex.html" title="class in org.apache.calcite.rel.rules">LoptSemiJoinOptimizer.FemLocalIndex</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptSemiJoinOptimizer.LcsIndexOptimizer.</span><code><span class="memberNameLink"><a href="../rules/LoptSemiJoinOptimizer.LcsIndexOptimizer.html#findSemiJoinIndexByCost(org.apache.calcite.rel.RelNode,java.util.List,java.util.List,java.util.List)">findSemiJoinIndexByCost</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;dimRel,
java.util.List&lt;java.lang.Integer&gt;&nbsp;actualLeftKeys,
java.util.List&lt;java.lang.Integer&gt;&nbsp;rightKeys,
java.util.List&lt;java.lang.Integer&gt;&nbsp;bestKeyOrder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected com.google.common.collect.Multimap&lt;java.lang.Integer,&#8203;java.lang.Integer&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewAggregateRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewAggregateRule.html#generateMapping(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexSimplify,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,java.util.List)">generateMapping</a></span>&#8203;(<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rex/RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&nbsp;simplify,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;target,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;positions,
com.google.common.collect.BiMap&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;tableMapping,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;sourceEC,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;additionalExprs)</code></th>
<td class="colLast">
<div class="block">Mapping from node expressions to target expressions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../rules/AbstractMaterializedViewRule.NodeLineage.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.NodeLineage</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.html#generateSwapColumnTableReferencesLineage(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,java.util.List)">generateSwapColumnTableReferencesLineage</a></span>&#8203;(<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
com.google.common.collect.BiMap&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;tableMapping,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;ec,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodeExprs)</code></th>
<td class="colLast">
<div class="block">It swaps the column references and then the table references of the input
expressions using the equivalence classes and the table mapping.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../rules/AbstractMaterializedViewRule.NodeLineage.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.NodeLineage</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.html#generateSwapTableColumnReferencesLineage(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,java.util.List)">generateSwapTableColumnReferencesLineage</a></span>&#8203;(<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
com.google.common.collect.BiMap&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;tableMapping,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;ec,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodeExprs)</code></th>
<td class="colLast">
<div class="block">It swaps the table references and then the column references of the input
expressions using the table mapping and the equivalence classes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateReduceFunctionsRule.</span><code><span class="memberNameLink"><a href="../rules/AggregateReduceFunctionsRule.html#getFieldType(org.apache.calcite.rel.RelNode,int)">getFieldType</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;relNode,
int&nbsp;i)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcRelSplitter.</span><code><span class="memberNameLink"><a href="../rules/CalcRelSplitter.html#handle(org.apache.calcite.rel.RelNode)">handle</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Opportunity to further refine the relational expression created for a
given level.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PruneEmptyRules.</span><code><span class="memberNameLink"><a href="../rules/PruneEmptyRules.html#isEmpty(org.apache.calcite.rel.RelNode)">isEmpty</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptOptimizeJoinRule.</span><code><span class="memberNameLink"><a href="../rules/LoptOptimizeJoinRule.html#isJoinTree(org.apache.calcite.rel.RelNode)">isJoinTree</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Returns whether a RelNode corresponds to a Join that wasn't one of the
original MultiJoin input factors.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected abstract boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.html#isValidPlan(org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">isValidPlan</a></span>&#8203;(<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewAggregateRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewAggregateRule.html#isValidPlan(org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">isValidPlan</a></span>&#8203;(<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewJoinRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewJoinRule.html#isValidPlan(org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">isValidPlan</a></span>&#8203;(<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.html#isValidRelNodePlan(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.metadata.RelMetadataQuery)">isValidRelNodePlan</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code></th>
<td class="colLast">
<div class="block">Currently we only support TableScan - Project - Filter - Inner Join</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcRelSplitter.RelType.</span><code><span class="memberNameLink"><a href="../rules/CalcRelSplitter.RelType.html#makeRel(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexProgram)">makeRel</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rex/RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static <a href="../rules/AbstractMaterializedViewRule.ViewPartialRewriting.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.ViewPartialRewriting</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.ViewPartialRewriting.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.ViewPartialRewriting.html#of(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode)">of</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newView,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;newTopViewProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newViewNode)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.html#perform(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode)">perform</a></span>&#8203;(<a href="../../plan/RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Rewriting logic is based on "Optimizing Queries Using Materialized Views:
A Practical, Scalable Solution" by Goldstein and Larson.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SemiJoinRule.</span><code><span class="memberNameLink"><a href="../rules/SemiJoinRule.html#perform(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.core.Join,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Aggregate)">perform</a></span>&#8203;(<a href="../../plan/RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;project,
<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;join,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewAggregateRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewAggregateRule.html#pushFilterToOriginalViewPlan(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">pushFilterToOriginalViewPlan</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;builder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topViewProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;viewNode,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;cond)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewJoinRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewJoinRule.html#pushFilterToOriginalViewPlan(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">pushFilterToOriginalViewPlan</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;builder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topViewProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;viewNode,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;cond)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected abstract <a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.html#pushFilterToOriginalViewPlan(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">pushFilterToOriginalViewPlan</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;builder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topViewProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;viewNode,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;cond)</code></th>
<td class="colLast">
<div class="block">Once we create a compensation predicate, this method is responsible for pushing
the resulting filter through the view nodes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReduceExpressionsRule.</span><code><span class="memberNameLink"><a href="../rules/ReduceExpressionsRule.html#reduceExpressions(org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.plan.RelOptPredicateList)">reduceExpressions</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;expList,
<a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a>&nbsp;predicates)</code></th>
<td class="colLast">
<div class="block">Reduces a list of expressions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReduceExpressionsRule.</span><code><span class="memberNameLink"><a href="../rules/ReduceExpressionsRule.html#reduceExpressions(org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.plan.RelOptPredicateList,boolean)">reduceExpressions</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;expList,
<a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a>&nbsp;predicates,
boolean&nbsp;unknownAsFalse)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReduceExpressionsRule.</span><code><span class="memberNameLink"><a href="../rules/ReduceExpressionsRule.html#reduceExpressions(org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.plan.RelOptPredicateList,boolean,boolean)">reduceExpressions</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;expList,
<a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a>&nbsp;predicates,
boolean&nbsp;unknownAsFalse,
boolean&nbsp;matchNullability)</code></th>
<td class="colLast">
<div class="block">Reduces a list of expressions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReduceExpressionsRule.</span><code><span class="memberNameLink"><a href="../rules/ReduceExpressionsRule.html#reduceExpressionsInternal(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexSimplify,org.apache.calcite.rex.RexUnknownAs,java.util.List,org.apache.calcite.plan.RelOptPredicateList)">reduceExpressionsInternal</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../rex/RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&nbsp;simplify,
<a href="../../rex/RexUnknownAs.html" title="enum in org.apache.calcite.rex">RexUnknownAs</a>&nbsp;unknownAs,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;expList,
<a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a>&nbsp;predicates)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MultiJoin.</span><code><span class="memberNameLink"><a href="../rules/MultiJoin.html#replaceInput(int,org.apache.calcite.rel.RelNode)">replaceInput</a></span>&#8203;(int&nbsp;ordinalInParent,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;p)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.html#replaceWithOriginalReferences(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.NodeLineage,org.apache.calcite.rex.RexNode)">replaceWithOriginalReferences</a></span>&#8203;(<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
<a href="../rules/AbstractMaterializedViewRule.NodeLineage.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.NodeLineage</a>&nbsp;nodeLineage,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;exprToRewrite)</code></th>
<td class="colLast">
<div class="block">Given the input expression, it will replace (sub)expressions when possible
using the content of the mapping.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.html#rewriteExpression(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,java.util.List,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,boolean,org.apache.calcite.rex.RexNode)">rewriteExpression</a></span>&#8203;(<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;targetNode,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodeExprs,
com.google.common.collect.BiMap&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;tableMapping,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;ec,
boolean&nbsp;swapTableColumn,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;exprToRewrite)</code></th>
<td class="colLast">
<div class="block">First, the method takes the node expressions <code>nodeExprs</code> and swaps the table
and column references using the table mapping and the equivalence classes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.html#rewriteExpressions(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,java.util.List,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,boolean,java.util.List)">rewriteExpressions</a></span>&#8203;(<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;targetNode,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodeExprs,
com.google.common.collect.BiMap&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;tableMapping,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;ec,
boolean&nbsp;swapTableColumn,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;exprsToRewrite)</code></th>
<td class="colLast">
<div class="block">First, the method takes the node expressions <code>nodeExprs</code> and swaps the table
and column references using the table mapping and the equivalence classes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewAggregateRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewAggregateRule.html#rewriteQuery(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexSimplify,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses)">rewriteQuery</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rex/RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&nbsp;simplify,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;compensationColumnsEquiPred,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;otherCompensationPred,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
com.google.common.collect.BiMap&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;queryToViewTableMapping,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;viewEC,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;queryEC)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewJoinRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewJoinRule.html#rewriteQuery(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexSimplify,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses)">rewriteQuery</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rex/RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&nbsp;simplify,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;compensationColumnsEquiPred,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;otherCompensationPred,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
com.google.common.collect.BiMap&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;viewToQueryTableMapping,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;viewEC,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;queryEC)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected abstract <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.html#rewriteQuery(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexSimplify,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses)">rewriteQuery</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rex/RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&nbsp;simplify,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;compensationColumnsEquiPred,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;otherCompensationPred,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
com.google.common.collect.BiMap&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;viewToQueryTableMapping,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;viewEC,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;queryEC)</code></th>
<td class="colLast">
<div class="block">If the view will be used in a union rewriting, this method is responsible for
rewriting the query branch of the union using the given compensation predicate.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewAggregateRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewAggregateRule.html#rewriteView(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexSimplify,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.MatchModality,boolean,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses)">rewriteView</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rex/RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&nbsp;simplify,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../rules/AbstractMaterializedViewRule.MatchModality.html" title="enum in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.MatchModality</a>&nbsp;matchModality,
boolean&nbsp;unionRewriting,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topViewProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;viewNode,
com.google.common.collect.BiMap&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;queryToViewTableMapping,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;queryEC)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewJoinRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.MaterializedViewJoinRule.html#rewriteView(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexSimplify,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.MatchModality,boolean,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses)">rewriteView</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rex/RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&nbsp;simplify,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../rules/AbstractMaterializedViewRule.MatchModality.html" title="enum in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.MatchModality</a>&nbsp;matchModality,
boolean&nbsp;unionRewriting,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topViewProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;viewNode,
com.google.common.collect.BiMap&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;queryToViewTableMapping,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;queryEC)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected abstract <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.html#rewriteView(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexSimplify,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.MatchModality,boolean,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses)">rewriteView</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rex/RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&nbsp;simplify,
<a href="../metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../rules/AbstractMaterializedViewRule.MatchModality.html" title="enum in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.MatchModality</a>&nbsp;matchModality,
boolean&nbsp;unionRewriting,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topViewProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;viewNode,
com.google.common.collect.BiMap&lt;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;queryToViewTableMapping,
<a href="../rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;queryEC)</code></th>
<td class="colLast">
<div class="block">Rewrites the query using the given view query.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private int</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptOptimizeJoinRule.</span><code><span class="memberNameLink"><a href="../rules/LoptOptimizeJoinRule.html#rowWidthCost(org.apache.calcite.rel.RelNode)">rowWidthCost</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;tree)</code></th>
<td class="colLast">
<div class="block">Computes a cost for a join tree based on the row widths of the inputs
into the join.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinToMultiJoinRule.</span><code><span class="memberNameLink"><a href="../rules/JoinToMultiJoinRule.html#shiftRightFilter(org.apache.calcite.rel.core.Join,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.rules.MultiJoin,org.apache.calcite.rex.RexNode)">shiftRightFilter</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;joinRel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../rules/MultiJoin.html" title="class in org.apache.calcite.rel.rules">MultiJoin</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;rightFilter)</code></th>
<td class="colLast">
<div class="block">Shifts a filter originating from the right child of the LogicalJoin to the
right, to reflect the filter now being applied on the resulting
MultiJoin.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.html#shuttleReferences(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,com.google.common.collect.Multimap,org.apache.calcite.rel.RelNode,org.apache.calcite.util.mapping.Mapping)">shuttleReferences</a></span>&#8203;(<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;expr,
com.google.common.collect.Multimap&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;java.lang.Integer&gt;&nbsp;exprsLineage,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
<a href="../../util/mapping/Mapping.html" title="interface in org.apache.calcite.util.mapping">Mapping</a>&nbsp;rewritingMapping)</code></th>
<td class="colLast">
<div class="block">Replaces all the possible sub-expressions by input references
to the input node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateUnionTransposeRule.</span><code><span class="memberNameLink"><a href="../rules/AggregateUnionTransposeRule.html#transformAggCalls(org.apache.calcite.rel.RelNode,int,java.util.List)">transformAggCalls</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
int&nbsp;groupCount,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;origCalls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../rules/LoptSemiJoinOptimizer.LcsTable.html" title="class in org.apache.calcite.rel.rules">LoptSemiJoinOptimizer.LcsTable</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptSemiJoinOptimizer.</span><code><span class="memberNameLink"><a href="../rules/LoptSemiJoinOptimizer.html#validateKeys(org.apache.calcite.rel.RelNode,java.util.List,java.util.List,java.util.List)">validateKeys</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;factRel,
java.util.List&lt;java.lang.Integer&gt;&nbsp;leftKeys,
java.util.List&lt;java.lang.Integer&gt;&nbsp;rightKeys,
java.util.List&lt;java.lang.Integer&gt;&nbsp;actualLeftKeys)</code></th>
<td class="colLast">
<div class="block">Validates the candidate semijoin keys corresponding to the fact table.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ProjectCorrelateTransposeRule.RelNodesExprsHandler.</span><code><span class="memberNameLink"><a href="../rules/ProjectCorrelateTransposeRule.RelNodesExprsHandler.html#visitChild(org.apache.calcite.rel.RelNode,int,org.apache.calcite.rel.RelNode)">visitChild</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;parent,
int&nbsp;i,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../rules/package-summary.html">org.apache.calcite.rel.rules</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 com.google.common.collect.ImmutableMap&lt;java.lang.Integer,&#8203;<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinToMultiJoinRule.</span><code><span class="memberNameLink"><a href="../rules/JoinToMultiJoinRule.html#addOnJoinFieldRefCounts(java.util.List,int,org.apache.calcite.rex.RexNode,java.util.List)">addOnJoinFieldRefCounts</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;multiJoinInputs,
int&nbsp;nTotalFields,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;joinCondition,
java.util.List&lt;int[]&gt;&nbsp;origJoinFieldRefCounts)</code></th>
<td class="colLast">
<div class="block">Adds on to the existing join condition reference counts the references
from the new join condition.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinToMultiJoinRule.</span><code><span class="memberNameLink"><a href="../rules/JoinToMultiJoinRule.html#combineOuterJoins(org.apache.calcite.rel.core.Join,java.util.List,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,java.util.List)">combineOuterJoins</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;joinRel,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;combinedInputs,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;&nbsp;joinSpecs)</code></th>
<td class="colLast">
<div class="block">Combines the outer join conditions and join types from the left and right
join inputs.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MultiJoin.</span><code><span class="memberNameLink"><a href="../rules/MultiJoin.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../rules/package-summary.html">org.apache.calcite.rel.rules</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../rules/EquiJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.util.ImmutableIntList,org.apache.calcite.rel.core.JoinRelType,java.util.Set)">EquiJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;leftKeys,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;rightKeys,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../rules/MultiJoinOptimizeBushyRule.LeafVertex.html#%3Cinit%3E(int,org.apache.calcite.rel.RelNode,double,int)">LeafVertex</a></span>&#8203;(int&nbsp;id,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
double&nbsp;cost,
int&nbsp;fieldOffset)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../rules/LoptJoinTree.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,int)">LoptJoinTree</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;joinTree,
int&nbsp;factorId)</code></th>
<td class="colLast">
<div class="block">Creates a join-tree consisting of a single node.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../rules/LoptJoinTree.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.rules.LoptJoinTree.BinaryTree,boolean)">LoptJoinTree</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;joinTree,
<a href="../rules/LoptJoinTree.BinaryTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree.BinaryTree</a>&nbsp;factorTree,
boolean&nbsp;removableSelfJoin)</code></th>
<td class="colLast">
<div class="block">Associates the factor ids with a join-tree.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../rules/LoptJoinTree.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.rules.LoptJoinTree.BinaryTree,org.apache.calcite.rel.rules.LoptJoinTree.BinaryTree)">LoptJoinTree</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;joinTree,
<a href="../rules/LoptJoinTree.BinaryTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree.BinaryTree</a>&nbsp;leftFactorTree,
<a href="../rules/LoptJoinTree.BinaryTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree.BinaryTree</a>&nbsp;rightFactorTree)</code></th>
<td class="colLast">
<div class="block">Associates the factor ids with a join-tree given the factors corresponding
to the left and right subtrees of the join.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../rules/LoptJoinTree.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.rules.LoptJoinTree.BinaryTree,org.apache.calcite.rel.rules.LoptJoinTree.BinaryTree,boolean)">LoptJoinTree</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;joinTree,
<a href="../rules/LoptJoinTree.BinaryTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree.BinaryTree</a>&nbsp;leftFactorTree,
<a href="../rules/LoptJoinTree.BinaryTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree.BinaryTree</a>&nbsp;rightFactorTree,
boolean&nbsp;removableSelfJoin)</code></th>
<td class="colLast">
<div class="block">Associates the factor ids with a join-tree given the factors corresponding
to the left and right subtrees of the join.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../rules/PushProjector.html#%3Cinit%3E(org.apache.calcite.rel.core.Project,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.rules.PushProjector.ExprCondition,org.apache.calcite.tools.RelBuilder)">PushProjector</a></span>&#8203;(<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;origProj,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;origFilter,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;childRel,
<a href="../rules/PushProjector.ExprCondition.html" title="interface in org.apache.calcite.rel.rules">PushProjector.ExprCondition</a>&nbsp;preserveExprCondition,
<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder)</code></th>
<td class="colLast">
<div class="block">Creates a PushProjector object for pushing projects past a RelNode.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../rules/AbstractMaterializedViewRule.ViewPartialRewriting.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode)">ViewPartialRewriting</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newView,
<a href="../core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;newTopViewProject,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newViewNode)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructor parameters in <a href="../rules/package-summary.html">org.apache.calcite.rel.rules</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../rules/CoerceInputsRule.html#%3Cinit%3E(java.lang.Class,boolean)">CoerceInputsRule</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;consumerRelClass,
boolean&nbsp;coerceNames)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../rules/CoerceInputsRule.html#%3Cinit%3E(java.lang.Class,boolean,org.apache.calcite.tools.RelBuilderFactory)">CoerceInputsRule</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;consumerRelClass,
boolean&nbsp;coerceNames,
<a href="../../tools/RelBuilderFactory.html" title="interface in org.apache.calcite.tools">RelBuilderFactory</a>&nbsp;relBuilderFactory)</code></th>
<td class="colLast">
<div class="block">Creates a CoerceInputsRule.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../rules/MultiJoin.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,java.util.List,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType,boolean,java.util.List,java.util.List,java.util.List,com.google.common.collect.ImmutableMap,org.apache.calcite.rex.RexNode)">MultiJoin</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;joinFilter,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
boolean&nbsp;isFullOuterJoin,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;outerJoinConditions,
java.util.List&lt;<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&gt;&nbsp;joinTypes,
java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;projFields,
com.google.common.collect.ImmutableMap&lt;java.lang.Integer,&#8203;<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&gt;&nbsp;joinFieldRefCountsMap,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;postJoinFilter)</code></th>
<td class="colLast">
<div class="block">Constructs a MultiJoin.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../rules/ReduceExpressionsRule.html#%3Cinit%3E(java.lang.Class,boolean,org.apache.calcite.tools.RelBuilderFactory,java.lang.String)">ReduceExpressionsRule</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;clazz,
boolean&nbsp;matchNullability,
<a href="../../tools/RelBuilderFactory.html" title="interface in org.apache.calcite.tools">RelBuilderFactory</a>&nbsp;relBuilderFactory,
java.lang.String&nbsp;description)</code></th>
<td class="colLast">
<div class="block">Creates a ReduceExpressionsRule.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../rules/ReduceExpressionsRule.html#%3Cinit%3E(java.lang.Class,org.apache.calcite.tools.RelBuilderFactory,java.lang.String)">ReduceExpressionsRule</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;clazz,
<a href="../../tools/RelBuilderFactory.html" title="interface in org.apache.calcite.tools">RelBuilderFactory</a>&nbsp;relBuilderFactory,
java.lang.String&nbsp;description)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rel.stream">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../stream/package-summary.html">org.apache.calcite.rel.stream</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../stream/package-summary.html">org.apache.calcite.rel.stream</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../stream/Chi.html" title="class in org.apache.calcite.rel.stream">Chi</a></span></code></th>
<td class="colLast">
<div class="block">Relational operator that converts a stream to a relation.</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="../stream/Delta.html" title="class in org.apache.calcite.rel.stream">Delta</a></span></code></th>
<td class="colLast">
<div class="block">Relational operator that converts a relation to a stream.</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="../stream/LogicalChi.html" title="class in org.apache.calcite.rel.stream">LogicalChi</a></span></code></th>
<td class="colLast">
<div class="block">Sub-class of <a href="../stream/Chi.html" title="class in org.apache.calcite.rel.stream"><code>Chi</code></a>
not targeted at any particular engine or calling convention.</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="../stream/LogicalDelta.html" title="class in org.apache.calcite.rel.stream">LogicalDelta</a></span></code></th>
<td class="colLast">
<div class="block">Sub-class of <a href="../stream/Delta.html" title="class in org.apache.calcite.rel.stream"><code>Delta</code></a>
not targeted at any particular engine or calling convention.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../stream/package-summary.html">org.apache.calcite.rel.stream</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalDelta.</span><code><span class="memberNameLink"><a href="../stream/LogicalDelta.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../stream/package-summary.html">org.apache.calcite.rel.stream</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../stream/LogicalDelta.html" title="class in org.apache.calcite.rel.stream">LogicalDelta</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalDelta.</span><code><span class="memberNameLink"><a href="../stream/LogicalDelta.html#create(org.apache.calcite.rel.RelNode)">create</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalDelta.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../stream/package-summary.html">org.apache.calcite.rel.stream</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalDelta.</span><code><span class="memberNameLink"><a href="../stream/LogicalDelta.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)">copy</a></span>&#8203;(<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../stream/package-summary.html">org.apache.calcite.rel.stream</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../stream/Chi.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">Chi</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../stream/Delta.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">Delta</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../stream/LogicalChi.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">LogicalChi</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../stream/LogicalDelta.html#%3Cinit%3E(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">LogicalDelta</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalDelta.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rex">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../rex/package-summary.html">org.apache.calcite.rex</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../../rex/package-summary.html">org.apache.calcite.rex</a> declared as <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexSubQuery.</span><code><span class="memberNameLink"><a href="../../rex/RexSubQuery.html#rel">rel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../rex/package-summary.html">org.apache.calcite.rex</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexSubQuery.</span><code><span class="memberNameLink"><a href="../../rex/RexSubQuery.html#clone(org.apache.calcite.rel.RelNode)">clone</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexSubQuery.</span><code><span class="memberNameLink"><a href="../../rex/RexSubQuery.html#exists(org.apache.calcite.rel.RelNode)">exists</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Creates an EXISTS sub-query.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static com.google.common.collect.ImmutableList&lt;<a href="../type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexPermuteInputsShuttle.</span><code><span class="memberNameLink"><a href="../../rex/RexPermuteInputsShuttle.html#fields(org.apache.calcite.rel.RelNode%5B%5D)">fields</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[]&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexSubQuery.</span><code><span class="memberNameLink"><a href="../../rex/RexSubQuery.html#in(org.apache.calcite.rel.RelNode,com.google.common.collect.ImmutableList)">in</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
com.google.common.collect.ImmutableList&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</code></th>
<td class="colLast">
<div class="block">Creates an IN sub-query.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexBuilder.</span><code><span class="memberNameLink"><a href="../../rex/RexBuilder.html#makeInputRef(org.apache.calcite.rel.RelNode,int)">makeInputRef</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
int&nbsp;i)</code></th>
<td class="colLast">
<div class="block">Creates a reference to a given field of the input relational expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexBuilder.</span><code><span class="memberNameLink"><a href="../../rex/RexBuilder.html#makeRangeReference(org.apache.calcite.rel.RelNode)">makeRangeReference</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">
<div class="block">Creates a reference to all the fields in the row.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexSubQuery.</span><code><span class="memberNameLink"><a href="../../rex/RexSubQuery.html#scalar(org.apache.calcite.rel.RelNode)">scalar</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Creates a scalar sub-query.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexSubQuery.</span><code><span class="memberNameLink"><a href="../../rex/RexSubQuery.html#some(org.apache.calcite.rel.RelNode,com.google.common.collect.ImmutableList,org.apache.calcite.sql.fun.SqlQuantifyOperator)">some</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
com.google.common.collect.ImmutableList&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
<a href="../../sql/fun/SqlQuantifyOperator.html" title="class in org.apache.calcite.sql.fun">SqlQuantifyOperator</a>&nbsp;op)</code></th>
<td class="colLast">
<div class="block">Creates a SOME sub-query.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) static <a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexSubQuery.</span><code><span class="memberNameLink"><a href="../../rex/RexSubQuery.html#type(org.apache.calcite.rel.RelNode,com.google.common.collect.ImmutableList)">type</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
com.google.common.collect.ImmutableList&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../rex/package-summary.html">org.apache.calcite.rex</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rex/RexPermuteInputsShuttle.html#%3Cinit%3E(org.apache.calcite.util.mapping.Mappings.TargetMapping,org.apache.calcite.rel.RelNode...)">RexPermuteInputsShuttle</a></span>&#8203;(<a href="../../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a>&nbsp;mapping,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>...&nbsp;inputs)</code></th>
<td class="colLast">
<div class="block">Creates a RexPermuteInputsShuttle.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rex/RexSubQuery.html#%3Cinit%3E(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.sql.SqlOperator,com.google.common.collect.ImmutableList,org.apache.calcite.rel.RelNode)">RexSubQuery</a></span>&#8203;(<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type,
<a href="../../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&nbsp;op,
com.google.common.collect.ImmutableList&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.schema">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../schema/package-summary.html">org.apache.calcite.schema</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../schema/package-summary.html">org.apache.calcite.schema</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">TranslatableTable.</span><code><span class="memberNameLink"><a href="../../schema/TranslatableTable.html#toRel(org.apache.calcite.plan.RelOptTable.ToRelContext,org.apache.calcite.plan.RelOptTable)">toRel</a></span>&#8203;(<a href="../../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a>&nbsp;context,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;relOptTable)</code></th>
<td class="colLast">
<div class="block">Converts this table into a <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>relational expression</code></a>.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../schema/package-summary.html">org.apache.calcite.schema</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../core/TableModify.html" title="class in org.apache.calcite.rel.core">TableModify</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ModifiableTable.</span><code><span class="memberNameLink"><a href="../../schema/ModifiableTable.html#toModificationRel(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptTable,org.apache.calcite.prepare.Prepare.CatalogReader,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.TableModify.Operation,java.util.List,java.util.List,boolean)">toModificationRel</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;table,
<a href="../../prepare/Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a>&nbsp;catalogReader,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../core/TableModify.Operation.html" title="enum in org.apache.calcite.rel.core">TableModify.Operation</a>&nbsp;operation,
java.util.List&lt;java.lang.String&gt;&nbsp;updateColumnList,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;sourceExpressionList,
boolean&nbsp;flattened)</code></th>
<td class="colLast">
<div class="block">Creates a relational expression that modifies this table.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.schema.impl">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../schema/impl/package-summary.html">org.apache.calcite.schema.impl</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../../schema/impl/package-summary.html">org.apache.calcite.schema.impl</a> that implement <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../../schema/impl/StarTable.StarTableScan.html" title="class in org.apache.calcite.schema.impl">StarTable.StarTableScan</a></span></code></th>
<td class="colLast">
<div class="block">Relational expression that scans a <a href="../../schema/impl/StarTable.html" title="class in org.apache.calcite.schema.impl"><code>StarTable</code></a>.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../schema/impl/package-summary.html">org.apache.calcite.schema.impl</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MaterializedViewTable.</span><code><span class="memberNameLink"><a href="../../schema/impl/MaterializedViewTable.html#toRel(org.apache.calcite.plan.RelOptTable.ToRelContext,org.apache.calcite.plan.RelOptTable)">toRel</a></span>&#8203;(<a href="../../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a>&nbsp;context,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;relOptTable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StarTable.</span><code><span class="memberNameLink"><a href="../../schema/impl/StarTable.html#toRel(org.apache.calcite.plan.RelOptTable.ToRelContext,org.apache.calcite.plan.RelOptTable)">toRel</a></span>&#8203;(<a href="../../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a>&nbsp;context,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;table)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ViewTable.</span><code><span class="memberNameLink"><a href="../../schema/impl/ViewTable.html#toRel(org.apache.calcite.plan.RelOptTable.ToRelContext,org.apache.calcite.plan.RelOptTable)">toRel</a></span>&#8203;(<a href="../../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a>&nbsp;context,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;relOptTable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.sql.ddl">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../sql/ddl/package-summary.html">org.apache.calcite.sql.ddl</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../sql/ddl/package-summary.html">org.apache.calcite.sql.ddl</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../core/TableModify.html" title="class in org.apache.calcite.rel.core">TableModify</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlCreateTable.AbstractModifiableTable.</span><code><span class="memberNameLink"><a href="../../sql/ddl/SqlCreateTable.AbstractModifiableTable.html#toModificationRel(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptTable,org.apache.calcite.prepare.Prepare.CatalogReader,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.TableModify.Operation,java.util.List,java.util.List,boolean)">toModificationRel</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;table,
<a href="../../prepare/Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a>&nbsp;catalogReader,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
<a href="../core/TableModify.Operation.html" title="enum in org.apache.calcite.rel.core">TableModify.Operation</a>&nbsp;operation,
java.util.List&lt;java.lang.String&gt;&nbsp;updateColumnList,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;sourceExpressionList,
boolean&nbsp;flattened)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.sql2rel">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a></h3>
<table class="useSummary">
<caption><span>Subinterfaces of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../sql2rel/RelStructuredTypeFlattener.SelfFlatteningRel.html" title="interface in org.apache.calcite.sql2rel">RelStructuredTypeFlattener.SelfFlatteningRel</a></span></code></th>
<td class="colLast">
<div class="block">Mix-in interface for relational expressions that know how to
flatten themselves.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a> declared as <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#currentRel">currentRel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.DecorrelateRexShuttle.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.DecorrelateRexShuttle.html#currentRel">currentRel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelStructuredTypeFlattener.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelStructuredTypeFlattener.html#currentRel">currentRel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.Frame.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.Frame.html#r">r</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.CorrelationUse.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.CorrelationUse.html#r">r</a></span></code></th>
<td class="colLast">
<div class="block">The relational expression that uses the variable.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.Blackboard.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.Blackboard.html#root">root</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a> with type parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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) java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.Blackboard.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.Blackboard.html#cursors">cursors</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../util/ReflectiveVisitDispatcher.html" title="interface in org.apache.calcite.util">ReflectiveVisitDispatcher</a>&lt;<a href="../../sql2rel/RelStructuredTypeFlattener.html" title="class in org.apache.calcite.sql2rel">RelStructuredTypeFlattener</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelStructuredTypeFlattener.RewriteRelVisitor.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelStructuredTypeFlattener.RewriteRelVisitor.html#dispatcher">dispatcher</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.Blackboard.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.Blackboard.html#inputs">inputs</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#leaves">leaves</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../sql2rel/RelDecorrelator.Frame.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.Frame</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.DecorrelateRexShuttle.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.DecorrelateRexShuttle.html#map">map</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../sql2rel/RelDecorrelator.Frame.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.Frame</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#map">map</a></span></code></th>
<td class="colLast">
<div class="block">Built during decorrelation, of rel to all the newly created correlated
variables in its output, and to map old input positions to new input
positions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.SortedMap&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.CorelMap.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.CorelMap.html#mapCorToCorRel">mapCorToCorRel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) java.util.SortedMap&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.CorelMapBuilder.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.CorelMapBuilder.html#mapCorToCorRel">mapCorToCorRel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private com.google.common.collect.Multimap&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../sql2rel/RelDecorrelator.CorRef.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorRef</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.CorelMap.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.CorelMap.html#mapRefRelToCorRef">mapRefRelToCorRef</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) com.google.common.collect.SortedSetMultimap&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../sql2rel/RelDecorrelator.CorRef.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorRef</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.CorelMapBuilder.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.CorelMapBuilder.html#mapRefRelToCorRef">mapRefRelToCorRef</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Integer&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.Blackboard.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.Blackboard.html#mapRootRelToFieldProjection">mapRootRelToFieldProjection</a></span></code></th>
<td class="colLast">
<div class="block">Project the groupby expressions out of the root of this sub-select.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelStructuredTypeFlattener.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelStructuredTypeFlattener.html#oldToNewRelMap">oldToNewRelMap</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelStructuredTypeFlattener.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelStructuredTypeFlattener.html#oldToNewRelMap">oldToNewRelMap</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.lang.Integer&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.LookupContext.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.LookupContext.html#relOffsetList">relOffsetList</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#aggregateCorrelatorOutput(org.apache.calcite.rel.core.Correlate,org.apache.calcite.rel.logical.LogicalProject,java.util.Set)">aggregateCorrelatorOutput</a></span>&#8203;(<a href="../core/Correlate.html" title="class in org.apache.calcite.rel.core">Correlate</a>&nbsp;correlate,
<a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a>&nbsp;project,
java.util.Set&lt;java.lang.Integer&gt;&nbsp;isCount)</code></th>
<td class="colLast">
<div class="block">Pulls a <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> above a <a href="../core/Correlate.html" title="class in org.apache.calcite.rel.core"><code>Correlate</code></a> from its RHS input.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertColumnList(org.apache.calcite.sql.SqlInsert,org.apache.calcite.rel.RelNode)">convertColumnList</a></span>&#8203;(<a href="../../sql/SqlInsert.html" title="class in org.apache.calcite.sql">SqlInsert</a>&nbsp;call,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;source)</code></th>
<td class="colLast">
<div class="block">Creates a source for an INSERT statement.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertCursor(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql2rel.SqlToRelConverter.SubQuery)">convertCursor</a></span>&#8203;(<a href="../../sql2rel/SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../sql2rel/SqlToRelConverter.SubQuery.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.SubQuery</a>&nbsp;subQuery)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertDelete(org.apache.calcite.sql.SqlDelete)">convertDelete</a></span>&#8203;(<a href="../../sql/SqlDelete.html" title="class in org.apache.calcite.sql">SqlDelete</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertInsert(org.apache.calcite.sql.SqlInsert)">convertInsert</a></span>&#8203;(<a href="../../sql/SqlInsert.html" title="class in org.apache.calcite.sql">SqlInsert</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertMerge(org.apache.calcite.sql.SqlMerge)">convertMerge</a></span>&#8203;(<a href="../../sql/SqlMerge.html" title="class in org.apache.calcite.sql">SqlMerge</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertMultisets(java.util.List,org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard)">convertMultisets</a></span>&#8203;(java.util.List&lt;<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&gt;&nbsp;operands,
<a href="../../sql2rel/SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a>&nbsp;bb)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertQueryOrInList(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.type.RelDataType)">convertQueryOrInList</a></span>&#8203;(<a href="../../sql2rel/SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;seek,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;targetRowType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertRowConstructor(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlCall)">convertRowConstructor</a></span>&#8203;(<a href="../../sql2rel/SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;rowConstructor)</code></th>
<td class="colLast">
<div class="block">Converts a row constructor into a relational expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertRowValues(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlNode,java.util.Collection,boolean,org.apache.calcite.rel.type.RelDataType)">convertRowValues</a></span>&#8203;(<a href="../../sql2rel/SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;rowList,
java.util.Collection&lt;<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&gt;&nbsp;rows,
boolean&nbsp;allowLiteralsOnly,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;targetRowType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertSelect(org.apache.calcite.sql.SqlSelect,boolean)">convertSelect</a></span>&#8203;(<a href="../../sql/SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a>&nbsp;select,
boolean&nbsp;top)</code></th>
<td class="colLast">
<div class="block">Converts a SELECT statement's parse tree into a relational expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertSetOp(org.apache.calcite.sql.SqlCall)">convertSetOp</a></span>&#8203;(<a href="../../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call)</code></th>
<td class="colLast">
<div class="block">Converts a set operation (UNION, INTERSECT, MINUS) into relational
expressions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertToSingleValueSubq(org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.RelNode)">convertToSingleValueSubq</a></span>&#8203;(<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;query,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;plan)</code></th>
<td class="colLast">
<div class="block">Converts the RelNode tree for a select statement to a select that
produces a single value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertUpdate(org.apache.calcite.sql.SqlUpdate)">convertUpdate</a></span>&#8203;(<a href="../../sql/SqlUpdate.html" title="class in org.apache.calcite.sql">SqlUpdate</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertValues(org.apache.calcite.sql.SqlCall,org.apache.calcite.rel.type.RelDataType)">convertValues</a></span>&#8203;(<a href="../../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;values,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;targetRowType)</code></th>
<td class="colLast">
<div class="block">Converts a SELECT statement's parse tree into a relational expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#createAggregate(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.util.ImmutableBitSet,com.google.common.collect.ImmutableList,java.util.List)">createAggregate</a></span>&#8203;(<a href="../../sql2rel/SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
com.google.common.collect.ImmutableList&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">
<div class="block">Creates an Aggregate.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#createJoin(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType)">createJoin</a></span>&#8203;(<a href="../../sql2rel/SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;leftRel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rightRel,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;joinCond,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#createModify(org.apache.calcite.plan.RelOptTable,org.apache.calcite.rel.RelNode)">createModify</a></span>&#8203;(<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;targetTable,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;source)</code></th>
<td class="colLast">
<div class="block">Creates a relational expression to modify a table or modifiable view.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#createProjectWithAdditionalExprs(org.apache.calcite.rel.RelNode,java.util.List)">createProjectWithAdditionalExprs</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;java.lang.String&gt;&gt;&nbsp;additionalExprs)</code></th>
<td class="colLast">
<div class="block">Projects all <code>input</code> output fields plus the additional expressions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#createSource(org.apache.calcite.plan.RelOptTable,org.apache.calcite.rel.RelNode,org.apache.calcite.schema.ModifiableView,org.apache.calcite.rel.type.RelDataType)">createSource</a></span>&#8203;(<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;targetTable,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;source,
<a href="../../schema/ModifiableView.html" title="interface in org.apache.calcite.schema">ModifiableView</a>&nbsp;modifiableView,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;delegateRowType)</code></th>
<td class="colLast">
<div class="block">Wraps a relational expression in the projects and filters implied by
a <a href="../../schema/ModifiableView.html" title="interface in org.apache.calcite.schema"><code>ModifiableView</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#createValueGenerator(java.lang.Iterable,int,java.util.SortedMap)">createValueGenerator</a></span>&#8203;(java.lang.Iterable&lt;<a href="../../sql2rel/RelDecorrelator.CorRef.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorRef</a>&gt;&nbsp;correlations,
int&nbsp;valueGenFieldOffset,
java.util.SortedMap&lt;<a href="../../sql2rel/RelDecorrelator.CorDef.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorDef</a>,&#8203;java.lang.Integer&gt;&nbsp;corDefOutputs)</code></th>
<td class="colLast">
<div class="block">Create RelNode tree that produces a list of correlated variables.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#decorrelate(org.apache.calcite.rel.RelNode)">decorrelate</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;root)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#decorrelate(org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.RelNode)">decorrelate</a></span>&#8203;(<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;query,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel)</code></th>
<td class="colLast">
<div class="block">If sub-query is correlated and decorrelation is enabled, performs
decorrelation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#decorrelateQuery(org.apache.calcite.rel.RelNode)">decorrelateQuery</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#decorrelateQuery(org.apache.calcite.rel.RelNode,org.apache.calcite.tools.RelBuilder)">decorrelateQuery</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel,
<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder)</code></th>
<td class="colLast">
<div class="block">Decorrelates a query.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#decorrelateQuery(org.apache.calcite.rel.RelNode)">decorrelateQuery</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#flattenTypes(org.apache.calcite.rel.RelNode,boolean)">flattenTypes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel,
boolean&nbsp;restructure)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#getCorRel(org.apache.calcite.sql2rel.RelDecorrelator.CorRef)">getCorRel</a></span>&#8203;(<a href="../../sql2rel/RelDecorrelator.CorRef.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorRef</a>&nbsp;corVar)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelStructuredTypeFlattener.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelStructuredTypeFlattener.html#getNewForOldRel(org.apache.calcite.rel.RelNode)">getNewForOldRel</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;oldRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DeduplicateCorrelateVariables.</span><code><span class="memberNameLink"><a href="../../sql2rel/DeduplicateCorrelateVariables.html#go(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.core.CorrelationId,java.lang.Iterable,org.apache.calcite.rel.RelNode)">go</a></span>&#8203;(<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;builder,
<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;canonicalId,
java.lang.Iterable&lt;? extends <a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;alternateIds,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r)</code></th>
<td class="colLast">
<div class="block">Rewrites a relational expression, replacing alternate correlation variables
with a canonical correlation variable.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#projectJoinOutputWithNullability(org.apache.calcite.rel.logical.LogicalJoin,org.apache.calcite.rel.logical.LogicalProject,int)">projectJoinOutputWithNullability</a></span>&#8203;(<a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&nbsp;join,
<a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a>&nbsp;project,
int&nbsp;nullIndicatorPos)</code></th>
<td class="colLast">
<div class="block">Pulls project above the join from its RHS input.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#removeCorrelationViaRule(org.apache.calcite.rel.RelNode)">removeCorrelationViaRule</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;root)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelStructuredTypeFlattener.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelStructuredTypeFlattener.html#rewrite(org.apache.calcite.rel.RelNode)">rewrite</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;root)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#stripHep(org.apache.calcite.rel.RelNode)">stripHep</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#toRel(org.apache.calcite.plan.RelOptTable)">toRel</a></span>&#8203;(<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;table)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFieldTrimmer.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelFieldTrimmer.html#trim(org.apache.calcite.rel.RelNode)">trim</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;root)</code></th>
<td class="colLast">
<div class="block">Trims unused fields from a relational expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#trimUnusedFields(boolean,org.apache.calcite.rel.RelNode)">trimUnusedFields</a></span>&#8203;(boolean&nbsp;ordered,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel)</code></th>
<td class="colLast">
<div class="block">Walks over a tree of relational expressions, replacing each
<a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> with a 'slimmed down' relational expression that projects
only the fields required by its consumer.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CorrelationReferenceFinder.</span><code><span class="memberNameLink"><a href="../../sql2rel/CorrelationReferenceFinder.html#visit(org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;other)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DeduplicateCorrelateVariables.</span><code><span class="memberNameLink"><a href="../../sql2rel/DeduplicateCorrelateVariables.html#visit(org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;other)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.CorelMapBuilder.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.CorelMapBuilder.html#visit(org.apache.calcite.rel.logical.LogicalCorrelate)">visit</a></span>&#8203;(<a href="../logical/LogicalCorrelate.html" title="class in org.apache.calcite.rel.logical">LogicalCorrelate</a>&nbsp;correlate)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.CorelMapBuilder.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.CorelMapBuilder.html#visit(org.apache.calcite.rel.logical.LogicalFilter)">visit</a></span>&#8203;(<a href="../logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a>&nbsp;filter)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.CorelMapBuilder.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.CorelMapBuilder.html#visit(org.apache.calcite.rel.logical.LogicalJoin)">visit</a></span>&#8203;(<a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&nbsp;join)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.CorelMapBuilder.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.CorelMapBuilder.html#visit(org.apache.calcite.rel.logical.LogicalProject)">visit</a></span>&#8203;(<a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a>&nbsp;project)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.CorelMapBuilder.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.CorelMapBuilder.html#visitChild(org.apache.calcite.rel.RelNode,int,org.apache.calcite.rel.RelNode)">visitChild</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;parent,
int&nbsp;i,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.CorelMapBuilder.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.CorelMapBuilder.html#visitJoin(org.apache.calcite.rel.BiRel)">visitJoin</a></span>&#8203;(<a href="../BiRel.html" title="class in org.apache.calcite.rel">BiRel</a>&nbsp;join)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a> that return types with arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 <a href="../../linq4j/function/Function2.html" title="interface in org.apache.calcite.linq4j.function">Function2</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.lang.Void&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#createCopyHook()">createCopyHook</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../linq4j/function/Function2.html" title="interface in org.apache.calcite.linq4j.function">Function2</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.lang.Void&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#createCopyHook()">createCopyHook</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.lang.Integer&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.LookupContext.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.LookupContext.html#findRel(int)">findRel</a></span>&#8203;(int&nbsp;offset)</code></th>
<td class="colLast">
<div class="block">Returns the relational expression with a given offset, and the
ordinal in the combined row of its first field.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) com.google.common.collect.ImmutableList&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.Blackboard.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.Blackboard.html#retrieveCursors()">retrieveCursors</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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>(package private) <a href="../../sql2rel/RelDecorrelator.CorelMap.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorelMap</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.CorelMapBuilder.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.CorelMapBuilder.html#build(org.apache.calcite.rel.RelNode...)">build</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>...&nbsp;rels)</code></th>
<td class="colLast">
<div class="block">Creates a CorelMap by iterating over a <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> tree.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#checkConvertedType(org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.RelNode)">checkConvertedType</a></span>&#8203;(<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;query,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;result)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertColumnList(org.apache.calcite.sql.SqlInsert,org.apache.calcite.rel.RelNode)">convertColumnList</a></span>&#8203;(<a href="../../sql/SqlInsert.html" title="class in org.apache.calcite.sql">SqlInsert</a>&nbsp;call,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;source)</code></th>
<td class="colLast">
<div class="block">Creates a source for an INSERT statement.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertJoinCondition(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.validate.SqlValidatorNamespace,org.apache.calcite.sql.validate.SqlValidatorNamespace,org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.JoinConditionType,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">convertJoinCondition</a></span>&#8203;(<a href="../../sql2rel/SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../../sql/validate/SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorNamespace</a>&nbsp;leftNamespace,
<a href="../../sql/validate/SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorNamespace</a>&nbsp;rightNamespace,
<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;condition,
<a href="../../sql/JoinConditionType.html" title="enum in org.apache.calcite.sql">JoinConditionType</a>&nbsp;conditionType,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;leftRel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rightRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertNonCorrelatedSubQuery(org.apache.calcite.sql2rel.SqlToRelConverter.SubQuery,org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.rel.RelNode,boolean)">convertNonCorrelatedSubQuery</a></span>&#8203;(<a href="../../sql2rel/SqlToRelConverter.SubQuery.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.SubQuery</a>&nbsp;subQuery,
<a href="../../sql2rel/SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;converted,
boolean&nbsp;isExists)</code></th>
<td class="colLast">
<div class="block">Determines if a sub-query is non-correlated and if so, converts it to a
constant.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertToSingleValueSubq(org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.RelNode)">convertToSingleValueSubq</a></span>&#8203;(<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;query,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;plan)</code></th>
<td class="colLast">
<div class="block">Converts the RelNode tree for a select statement to a select that
produces a single value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#createJoin(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType)">createJoin</a></span>&#8203;(<a href="../../sql2rel/SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;leftRel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rightRel,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;joinCond,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#createModify(org.apache.calcite.plan.RelOptTable,org.apache.calcite.rel.RelNode)">createModify</a></span>&#8203;(<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;targetTable,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;source)</code></th>
<td class="colLast">
<div class="block">Creates a relational expression to modify a table or modifiable view.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#createProjectWithAdditionalExprs(org.apache.calcite.rel.RelNode,java.util.List)">createProjectWithAdditionalExprs</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;java.lang.String&gt;&gt;&nbsp;additionalExprs)</code></th>
<td class="colLast">
<div class="block">Projects all <code>input</code> output fields plus the additional expressions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#createSource(org.apache.calcite.plan.RelOptTable,org.apache.calcite.rel.RelNode,org.apache.calcite.schema.ModifiableView,org.apache.calcite.rel.type.RelDataType)">createSource</a></span>&#8203;(<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;targetTable,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;source,
<a href="../../schema/ModifiableView.html" title="interface in org.apache.calcite.schema">ModifiableView</a>&nbsp;modifiableView,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;delegateRowType)</code></th>
<td class="colLast">
<div class="block">Wraps a relational expression in the projects and filters implied by
a <a href="../../schema/ModifiableView.html" title="interface in org.apache.calcite.schema"><code>ModifiableView</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#decorrelate(org.apache.calcite.rel.RelNode)">decorrelate</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;root)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#decorrelate(org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.RelNode)">decorrelate</a></span>&#8203;(<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;query,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel)</code></th>
<td class="colLast">
<div class="block">If sub-query is correlated and decorrelation is enabled, performs
decorrelation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#decorrelateExpr(org.apache.calcite.rel.RelNode,java.util.Map,org.apache.calcite.sql2rel.RelDecorrelator.CorelMap,org.apache.calcite.rex.RexNode)">decorrelateExpr</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;currentRel,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../sql2rel/RelDecorrelator.Frame.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.Frame</a>&gt;&nbsp;map,
<a href="../../sql2rel/RelDecorrelator.CorelMap.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorelMap</a>&nbsp;cm,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;exp)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../sql2rel/RelDecorrelator.Frame.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.Frame</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#decorrelateInputWithValueGenerator(org.apache.calcite.rel.RelNode,org.apache.calcite.sql2rel.RelDecorrelator.Frame)">decorrelateInputWithValueGenerator</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../sql2rel/RelDecorrelator.Frame.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.Frame</a>&nbsp;frame)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#decorrelateQuery(org.apache.calcite.rel.RelNode)">decorrelateQuery</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#decorrelateQuery(org.apache.calcite.rel.RelNode,org.apache.calcite.tools.RelBuilder)">decorrelateQuery</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel,
<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder)</code></th>
<td class="colLast">
<div class="block">Decorrelates a query.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#decorrelateQuery(org.apache.calcite.rel.RelNode)">decorrelateQuery</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../sql2rel/RelDecorrelator.Frame.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.Frame</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#decorrelateRel(org.apache.calcite.rel.RelNode)">decorrelateRel</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Fallback if none of the other <code>decorrelateRel</code> methods match.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../sql2rel/RelFieldTrimmer.TrimResult.html" title="class in org.apache.calcite.sql2rel">RelFieldTrimmer.TrimResult</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFieldTrimmer.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelFieldTrimmer.html#dispatchTrimFields(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet,java.util.Set)">dispatchTrimFields</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;fieldsUsed,
java.util.Set&lt;<a href="../type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;extraFields)</code></th>
<td class="colLast">
<div class="block">Invokes <a href="../../sql2rel/RelFieldTrimmer.html#trimFields(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet,java.util.Set)"><code>RelFieldTrimmer.trimFields(org.apache.calcite.rel.RelNode, org.apache.calcite.util.ImmutableBitSet, java.util.Set&lt;org.apache.calcite.rel.type.RelDataTypeField&gt;)</code></a>, or the appropriate method for the type
of the rel parameter, using multi-method dispatch.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../sql2rel/RelFieldTrimmer.TrimResult.html" title="class in org.apache.calcite.sql2rel">RelFieldTrimmer.TrimResult</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFieldTrimmer.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelFieldTrimmer.html#dummyProject(int,org.apache.calcite.rel.RelNode)">dummyProject</a></span>&#8203;(int&nbsp;fieldCount,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">
<div class="block">Creates a project with a dummy column, to protect the parts of the system
that cannot handle a relational expression with no columns.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#flattenTypes(org.apache.calcite.rel.RelNode,boolean)">flattenTypes</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel,
boolean&nbsp;restructure)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../sql2rel/SqlToRelConverter.CorrelationUse.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.CorrelationUse</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#getCorrelationUse(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.rel.RelNode)">getCorrelationUse</a></span>&#8203;(<a href="../../sql2rel/SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a>&nbsp;bb,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r0)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../sql2rel/RelDecorrelator.Frame.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.Frame</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#getFrame(org.apache.calcite.rel.RelNode,boolean)">getFrame</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
boolean&nbsp;safe)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../sql2rel/RelDecorrelator.Frame.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.Frame</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#getInvoke(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">getInvoke</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;parent)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelStructuredTypeFlattener.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelStructuredTypeFlattener.html#getNewForOldInputMapping(org.apache.calcite.rel.RelNode)">getNewForOldInputMapping</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;oldRel)</code></th>
<td class="colLast">
<div class="block">Returns a mapping between old and new fields.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#getNewForOldInputRef(org.apache.calcite.rel.RelNode,java.util.Map,org.apache.calcite.rex.RexInputRef)">getNewForOldInputRef</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;currentRel,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../sql2rel/RelDecorrelator.Frame.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.Frame</a>&gt;&nbsp;map,
<a href="../../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a>&nbsp;oldInputRef)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelStructuredTypeFlattener.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelStructuredTypeFlattener.html#getNewForOldRel(org.apache.calcite.rel.RelNode)">getNewForOldRel</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;oldRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DeduplicateCorrelateVariables.</span><code><span class="memberNameLink"><a href="../../sql2rel/DeduplicateCorrelateVariables.html#go(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.core.CorrelationId,java.lang.Iterable,org.apache.calcite.rel.RelNode)">go</a></span>&#8203;(<a href="../../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;builder,
<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;canonicalId,
java.lang.Iterable&lt;? extends <a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;alternateIds,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r)</code></th>
<td class="colLast">
<div class="block">Rewrites a relational expression, replacing alternate correlation variables
with a canonical correlation variable.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#isSubQueryNonCorrelated(org.apache.calcite.rel.RelNode,org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard)">isSubQueryNonCorrelated</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;subq,
<a href="../../sql2rel/SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a>&nbsp;bb)</code></th>
<td class="colLast">
<div class="block">Determines whether a sub-query is non-correlated.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../sql2rel/RelDecorrelator.Frame.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.Frame</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#maybeAddValueGenerator(org.apache.calcite.rel.RelNode,org.apache.calcite.sql2rel.RelDecorrelator.Frame)">maybeAddValueGenerator</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../sql2rel/RelDecorrelator.Frame.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.Frame</a>&nbsp;frame)</code></th>
<td class="colLast">
<div class="block">Adds a value generator to satisfy the correlating variables used by
a relational expression, if those variables are not already provided by
its input.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.AdjustProjectForCountAggregateRule.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.AdjustProjectForCountAggregateRule.html#onMatch2(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.logical.LogicalCorrelate,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.logical.LogicalProject,org.apache.calcite.rel.logical.LogicalAggregate)">onMatch2</a></span>&#8203;(<a href="../../plan/RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
<a href="../logical/LogicalCorrelate.html" title="class in org.apache.calcite.rel.logical">LogicalCorrelate</a>&nbsp;correlate,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;leftInput,
<a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a>&nbsp;aggOutputProject,
<a href="../logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical">LogicalAggregate</a>&nbsp;aggregate)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#projectedLiteral(org.apache.calcite.rel.RelNode,int)">projectedLiteral</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
int&nbsp;i)</code></th>
<td class="colLast">
<div class="block">Returns a literal output field, or null if it is not literal.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../../sql2rel/RelDecorrelator.Frame.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.Frame</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#register(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,java.util.Map,java.util.SortedMap)">register</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newRel,
java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Integer&gt;&nbsp;oldToNewOutputs,
java.util.SortedMap&lt;<a href="../../sql2rel/RelDecorrelator.CorDef.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorDef</a>,&#8203;java.lang.Integer&gt;&nbsp;corDefOutputs)</code></th>
<td class="colLast">
<div class="block">Registers a relational expression and the relational expression it became
after decorrelation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.Blackboard.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.Blackboard.html#register(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.JoinRelType)">register</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.Blackboard.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.Blackboard.html#register(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.JoinRelType,java.util.List)">register</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;leftKeys)</code></th>
<td class="colLast">
<div class="block">Registers a relational expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#removeCorrelationViaRule(org.apache.calcite.rel.RelNode)">removeCorrelationViaRule</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;root)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#requiredCollation(org.apache.calcite.rel.RelNode)">requiredCollation</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../sql2rel/RelFieldTrimmer.TrimResult.html" title="class in org.apache.calcite.sql2rel">RelFieldTrimmer.TrimResult</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFieldTrimmer.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelFieldTrimmer.html#result(org.apache.calcite.rel.RelNode,org.apache.calcite.util.mapping.Mapping)">result</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="../../util/mapping/Mapping.html" title="interface in org.apache.calcite.util.mapping">Mapping</a>&nbsp;mapping)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelStructuredTypeFlattener.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelStructuredTypeFlattener.html#rewrite(org.apache.calcite.rel.RelNode)">rewrite</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;root)</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">RelStructuredTypeFlattener.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelStructuredTypeFlattener.html#rewriteGeneric(org.apache.calcite.rel.RelNode)">rewriteGeneric</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../rex/RexVisitorImpl.html" title="class in org.apache.calcite.rex">RexVisitorImpl</a>&lt;java.lang.Void&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.CorelMapBuilder.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.CorelMapBuilder.html#rexVisitor(org.apache.calcite.rel.RelNode)">rexVisitor</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#setCurrent(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.logical.LogicalCorrelate)">setCurrent</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;root,
<a href="../logical/LogicalCorrelate.html" title="class in org.apache.calcite.rel.logical">LogicalCorrelate</a>&nbsp;corRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelStructuredTypeFlattener.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelStructuredTypeFlattener.html#setNewForOldRel(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">setNewForOldRel</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;oldRel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newRel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.Blackboard.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.Blackboard.html#setRoot(java.util.List,org.apache.calcite.rel.RelNode,boolean)">setRoot</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;root,
boolean&nbsp;hasSystemFields)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.Blackboard.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.Blackboard.html#setRoot(org.apache.calcite.rel.RelNode,boolean)">setRoot</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;root,
boolean&nbsp;leaf)</code></th>
<td class="colLast">
<div class="block">Sets a new root relational expression, as the translation process
backs its way further up the tree.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#stripHep(org.apache.calcite.rel.RelNode)">stripHep</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#translateIn(org.apache.calcite.plan.RelOptUtil.Logic,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">translateIn</a></span>&#8203;(<a href="../../plan/RelOptUtil.Logic.html" title="enum in org.apache.calcite.plan">RelOptUtil.Logic</a>&nbsp;logic,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;root,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;rex)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFieldTrimmer.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelFieldTrimmer.html#trim(org.apache.calcite.rel.RelNode)">trim</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;root)</code></th>
<td class="colLast">
<div class="block">Trims unused fields from a relational expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../sql2rel/RelFieldTrimmer.TrimResult.html" title="class in org.apache.calcite.sql2rel">RelFieldTrimmer.TrimResult</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFieldTrimmer.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelFieldTrimmer.html#trimChild(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet,java.util.Set)">trimChild</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;fieldsUsed,
java.util.Set&lt;<a href="../type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;extraFields)</code></th>
<td class="colLast">
<div class="block">Trims the fields of an input relational expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../sql2rel/RelFieldTrimmer.TrimResult.html" title="class in org.apache.calcite.sql2rel">RelFieldTrimmer.TrimResult</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFieldTrimmer.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelFieldTrimmer.html#trimChildRestore(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet,java.util.Set)">trimChildRestore</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;fieldsUsed,
java.util.Set&lt;<a href="../type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;extraFields)</code></th>
<td class="colLast">
<div class="block">Trims a child relational expression, then adds back a dummy project to
restore the fields that were removed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../sql2rel/RelFieldTrimmer.TrimResult.html" title="class in org.apache.calcite.sql2rel">RelFieldTrimmer.TrimResult</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFieldTrimmer.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelFieldTrimmer.html#trimFields(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet,java.util.Set)">trimFields</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;fieldsUsed,
java.util.Set&lt;<a href="../type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;extraFields)</code></th>
<td class="colLast">
<div class="block">Visit method, per <a href="../../util/ReflectiveVisitor.html" title="interface in org.apache.calcite.util"><code>ReflectiveVisitor</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#trimUnusedFields(boolean,org.apache.calcite.rel.RelNode)">trimUnusedFields</a></span>&#8203;(boolean&nbsp;ordered,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel)</code></th>
<td class="colLast">
<div class="block">Walks over a tree of relational expressions, replacing each
<a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> with a 'slimmed down' relational expression that projects
only the fields required by its consumer.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CorrelationReferenceFinder.</span><code><span class="memberNameLink"><a href="../../sql2rel/CorrelationReferenceFinder.html#visit(org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;other)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DeduplicateCorrelateVariables.</span><code><span class="memberNameLink"><a href="../../sql2rel/DeduplicateCorrelateVariables.html#visit(org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;other)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelStructuredTypeFlattener.RewriteRelVisitor.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelStructuredTypeFlattener.RewriteRelVisitor.html#visit(org.apache.calcite.rel.RelNode,int,org.apache.calcite.rel.RelNode)">visit</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;p,
int&nbsp;ordinal,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;parent)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.CorelMapBuilder.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.CorelMapBuilder.html#visitChild(org.apache.calcite.rel.RelNode,int,org.apache.calcite.rel.RelNode)">visitChild</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;parent,
int&nbsp;i,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#decorrelateExpr(org.apache.calcite.rel.RelNode,java.util.Map,org.apache.calcite.sql2rel.RelDecorrelator.CorelMap,org.apache.calcite.rex.RexNode)">decorrelateExpr</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;currentRel,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../sql2rel/RelDecorrelator.Frame.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.Frame</a>&gt;&nbsp;map,
<a href="../../sql2rel/RelDecorrelator.CorelMap.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorelMap</a>&nbsp;cm,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;exp)</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">SqlToRelConverter.Blackboard.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.Blackboard.html#flatten(java.util.List,int,int%5B%5D,java.util.List)">flatten</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;rels,
int&nbsp;systemFieldCount,
int[]&nbsp;start,
java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.lang.Integer&gt;&gt;&nbsp;relOffsetList)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#getNewForOldInputRef(org.apache.calcite.rel.RelNode,java.util.Map,org.apache.calcite.rex.RexInputRef)">getNewForOldInputRef</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;currentRel,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../sql2rel/RelDecorrelator.Frame.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.Frame</a>&gt;&nbsp;map,
<a href="../../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a>&nbsp;oldInputRef)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../sql2rel/RelDecorrelator.CorelMap.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorelMap</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.CorelMap.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.CorelMap.html#of(com.google.common.collect.SortedSetMultimap,java.util.SortedMap,java.util.Map)">of</a></span>&#8203;(com.google.common.collect.SortedSetMultimap&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../sql2rel/RelDecorrelator.CorRef.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorRef</a>&gt;&nbsp;mapRefRelToCorVar,
java.util.SortedMap&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;mapCorToCorRel,
java.util.Map&lt;<a href="../../rex/RexFieldAccess.html" title="class in org.apache.calcite.rex">RexFieldAccess</a>,&#8203;<a href="../../sql2rel/RelDecorrelator.CorRef.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorRef</a>&gt;&nbsp;mapFieldAccessToCorVar)</code></th>
<td class="colLast">
<div class="block">Creates a CorelMap with given contents.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../sql2rel/RelDecorrelator.CorelMap.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorelMap</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.CorelMap.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.CorelMap.html#of(com.google.common.collect.SortedSetMultimap,java.util.SortedMap,java.util.Map)">of</a></span>&#8203;(com.google.common.collect.SortedSetMultimap&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../sql2rel/RelDecorrelator.CorRef.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorRef</a>&gt;&nbsp;mapRefRelToCorVar,
java.util.SortedMap&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;mapCorToCorRel,
java.util.Map&lt;<a href="../../rex/RexFieldAccess.html" title="class in org.apache.calcite.rex">RexFieldAccess</a>,&#8203;<a href="../../sql2rel/RelDecorrelator.CorRef.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorRef</a>&gt;&nbsp;mapFieldAccessToCorVar)</code></th>
<td class="colLast">
<div class="block">Creates a CorelMap with given contents.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.Blackboard.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.Blackboard.html#setRoot(java.util.List)">setRoot</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.Blackboard.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.Blackboard.html#setRoot(java.util.List,org.apache.calcite.rel.RelNode,boolean)">setRoot</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;root,
boolean&nbsp;hasSystemFields)</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">RelStructuredTypeFlattener.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelStructuredTypeFlattener.html#updateRelInMap(com.google.common.collect.SortedSetMultimap)">updateRelInMap</a></span>&#8203;(com.google.common.collect.SortedSetMultimap&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;mapRefRelToCorVar)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.CorrelationUse.html#%3Cinit%3E(org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.rel.RelNode)">CorrelationUse</a></span>&#8203;(<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;id,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;requiredColumns,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.DecorrelateRexShuttle.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,java.util.Map,org.apache.calcite.sql2rel.RelDecorrelator.CorelMap)">DecorrelateRexShuttle</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;currentRel,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../sql2rel/RelDecorrelator.Frame.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.Frame</a>&gt;&nbsp;map,
<a href="../../sql2rel/RelDecorrelator.CorelMap.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorelMap</a>&nbsp;cm)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.Frame.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,java.util.SortedMap,java.util.Map)">Frame</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;oldRel,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
java.util.SortedMap&lt;<a href="../../sql2rel/RelDecorrelator.CorDef.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorDef</a>,&#8203;java.lang.Integer&gt;&nbsp;corDefOutputs,
java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Integer&gt;&nbsp;oldToNewOutputs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../sql2rel/RelFieldTrimmer.TrimResult.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,org.apache.calcite.util.mapping.Mapping)">TrimResult</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../../util/mapping/Mapping.html" title="interface in org.apache.calcite.util.mapping">Mapping</a>&nbsp;right)</code></th>
<td class="colLast">
<div class="block">Creates a TrimResult.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructor parameters in <a href="../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.CorelMap.html#%3Cinit%3E(com.google.common.collect.Multimap,java.util.SortedMap,java.util.Map)">CorelMap</a></span>&#8203;(com.google.common.collect.Multimap&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../sql2rel/RelDecorrelator.CorRef.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorRef</a>&gt;&nbsp;mapRefRelToCorRef,
java.util.SortedMap&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;mapCorToCorRel,
java.util.Map&lt;<a href="../../rex/RexFieldAccess.html" title="class in org.apache.calcite.rex">RexFieldAccess</a>,&#8203;<a href="../../sql2rel/RelDecorrelator.CorRef.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorRef</a>&gt;&nbsp;mapFieldAccessToCorRef)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.CorelMap.html#%3Cinit%3E(com.google.common.collect.Multimap,java.util.SortedMap,java.util.Map)">CorelMap</a></span>&#8203;(com.google.common.collect.Multimap&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../sql2rel/RelDecorrelator.CorRef.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorRef</a>&gt;&nbsp;mapRefRelToCorRef,
java.util.SortedMap&lt;<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>,&#8203;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;mapCorToCorRel,
java.util.Map&lt;<a href="../../rex/RexFieldAccess.html" title="class in org.apache.calcite.rex">RexFieldAccess</a>,&#8203;<a href="../../sql2rel/RelDecorrelator.CorRef.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorRef</a>&gt;&nbsp;mapFieldAccessToCorRef)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.DecorrelateRexShuttle.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,java.util.Map,org.apache.calcite.sql2rel.RelDecorrelator.CorelMap)">DecorrelateRexShuttle</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;currentRel,
java.util.Map&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../sql2rel/RelDecorrelator.Frame.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.Frame</a>&gt;&nbsp;map,
<a href="../../sql2rel/RelDecorrelator.CorelMap.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorelMap</a>&nbsp;cm)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.LookupContext.html#%3Cinit%3E(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,java.util.List,int)">LookupContext</a></span>&#8203;(<a href="../../sql2rel/SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a>&nbsp;bb,
java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;rels,
int&nbsp;systemFieldCount)</code></th>
<td class="colLast">
<div class="block">Creates a LookupContext with multiple input relational expressions.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.tools">
<!-- -->
</a>
<h3>Uses of <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> in <a href="../../tools/package-summary.html">org.apache.calcite.tools</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../../tools/package-summary.html">org.apache.calcite.tools</a> declared as <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelBuilder.Shifter.</span><code><span class="memberNameLink"><a href="../../tools/RelBuilder.Shifter.html#left">left</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelBuilder.Frame.</span><code><span class="memberNameLink"><a href="../../tools/RelBuilder.Frame.html#rel">rel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelBuilder.Shifter.</span><code><span class="memberNameLink"><a href="../../tools/RelBuilder.Shifter.html#right">right</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../tools/package-summary.html">org.apache.calcite.tools</a> that return <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelBuilder.</span><code><span class="memberNameLink"><a href="../../tools/RelBuilder.html#build()">build</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the final relational expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Planner.</span><code><span class="memberNameLink"><a href="../../tools/Planner.html#convert(org.apache.calcite.sql.SqlNode)">convert</a></span>&#8203;(<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;sql)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="../../tools/Planner.html#rel(org.apache.calcite.sql.SqlNode)"><code>Planner.rel(org.apache.calcite.sql.SqlNode)</code></a>.</div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelBuilder.</span><code><span class="memberNameLink"><a href="../../tools/RelBuilder.html#peek()">peek</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the relational expression at the top of the stack, but does not
remove it.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelBuilder.</span><code><span class="memberNameLink"><a href="../../tools/RelBuilder.html#peek(int)">peek</a></span>&#8203;(int&nbsp;n)</code></th>
<td class="colLast">
<div class="block">Returns the relational expression <code>n</code> positions from the top of the
stack, but does not remove it.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelBuilder.</span><code><span class="memberNameLink"><a href="../../tools/RelBuilder.html#peek(int,int)">peek</a></span>&#8203;(int&nbsp;inputCount,
int&nbsp;inputOrdinal)</code></th>
<td class="colLast">
<div class="block">Returns the relational expression <code>n</code> positions from the top of the
stack, but does not remove it.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Program.</span><code><span class="memberNameLink"><a href="../../tools/Program.html#run(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet,java.util.List,java.util.List)">run</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;requiredOutputTraits,
java.util.List&lt;<a href="../../plan/RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&gt;&nbsp;materializations,
java.util.List&lt;<a href="../../plan/RelOptLattice.html" title="class in org.apache.calcite.plan">RelOptLattice</a>&gt;&nbsp;lattices)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Programs.DecorrelateProgram.</span><code><span class="memberNameLink"><a href="../../tools/Programs.DecorrelateProgram.html#run(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet,java.util.List,java.util.List)">run</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;requiredOutputTraits,
java.util.List&lt;<a href="../../plan/RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&gt;&nbsp;materializations,
java.util.List&lt;<a href="../../plan/RelOptLattice.html" title="class in org.apache.calcite.plan">RelOptLattice</a>&gt;&nbsp;lattices)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Programs.RuleSetProgram.</span><code><span class="memberNameLink"><a href="../../tools/Programs.RuleSetProgram.html#run(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet,java.util.List,java.util.List)">run</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;requiredOutputTraits,
java.util.List&lt;<a href="../../plan/RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&gt;&nbsp;materializations,
java.util.List&lt;<a href="../../plan/RelOptLattice.html" title="class in org.apache.calcite.plan">RelOptLattice</a>&gt;&nbsp;lattices)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Programs.SequenceProgram.</span><code><span class="memberNameLink"><a href="../../tools/Programs.SequenceProgram.html#run(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet,java.util.List,java.util.List)">run</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;requiredOutputTraits,
java.util.List&lt;<a href="../../plan/RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&gt;&nbsp;materializations,
java.util.List&lt;<a href="../../plan/RelOptLattice.html" title="class in org.apache.calcite.plan">RelOptLattice</a>&gt;&nbsp;lattices)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Programs.TrimFieldsProgram.</span><code><span class="memberNameLink"><a href="../../tools/Programs.TrimFieldsProgram.html#run(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet,java.util.List,java.util.List)">run</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;requiredOutputTraits,
java.util.List&lt;<a href="../../plan/RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&gt;&nbsp;materializations,
java.util.List&lt;<a href="../../plan/RelOptLattice.html" title="class in org.apache.calcite.plan">RelOptLattice</a>&gt;&nbsp;lattices)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Planner.</span><code><span class="memberNameLink"><a href="../../tools/Planner.html#transform(int,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">transform</a></span>&#8203;(int&nbsp;ruleSetIndex,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;requiredOutputTraits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Converts one relational expression tree into another relational expression
based on a particular rule set and requires set of traits.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../tools/package-summary.html">org.apache.calcite.tools</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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 static java.lang.String</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelBuilder.Frame.</span><code><span class="memberNameLink"><a href="../../tools/RelBuilder.Frame.html#deriveAlias(org.apache.calcite.rel.RelNode)">deriveAlias</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.sql.PreparedStatement</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelRunner.</span><code><span class="memberNameLink"><a href="../../tools/RelRunner.html#prepare(org.apache.calcite.rel.RelNode)">prepare</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Runs a relational expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelBuilder.</span><code><span class="memberNameLink"><a href="../../tools/RelBuilder.html#push(org.apache.calcite.rel.RelNode)">push</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Adds a relational expression to be the input to the next relational
expression constructed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelBuilder.</span><code><span class="memberNameLink"><a href="../../tools/RelBuilder.html#replaceTop(org.apache.calcite.rel.RelNode)">replaceTop</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Adds a rel node to the top of the stack while preserving the field names
and aliases.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Program.</span><code><span class="memberNameLink"><a href="../../tools/Program.html#run(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet,java.util.List,java.util.List)">run</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;requiredOutputTraits,
java.util.List&lt;<a href="../../plan/RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&gt;&nbsp;materializations,
java.util.List&lt;<a href="../../plan/RelOptLattice.html" title="class in org.apache.calcite.plan">RelOptLattice</a>&gt;&nbsp;lattices)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Programs.DecorrelateProgram.</span><code><span class="memberNameLink"><a href="../../tools/Programs.DecorrelateProgram.html#run(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet,java.util.List,java.util.List)">run</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;requiredOutputTraits,
java.util.List&lt;<a href="../../plan/RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&gt;&nbsp;materializations,
java.util.List&lt;<a href="../../plan/RelOptLattice.html" title="class in org.apache.calcite.plan">RelOptLattice</a>&gt;&nbsp;lattices)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Programs.RuleSetProgram.</span><code><span class="memberNameLink"><a href="../../tools/Programs.RuleSetProgram.html#run(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet,java.util.List,java.util.List)">run</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;requiredOutputTraits,
java.util.List&lt;<a href="../../plan/RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&gt;&nbsp;materializations,
java.util.List&lt;<a href="../../plan/RelOptLattice.html" title="class in org.apache.calcite.plan">RelOptLattice</a>&gt;&nbsp;lattices)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Programs.SequenceProgram.</span><code><span class="memberNameLink"><a href="../../tools/Programs.SequenceProgram.html#run(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet,java.util.List,java.util.List)">run</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;requiredOutputTraits,
java.util.List&lt;<a href="../../plan/RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&gt;&nbsp;materializations,
java.util.List&lt;<a href="../../plan/RelOptLattice.html" title="class in org.apache.calcite.plan">RelOptLattice</a>&gt;&nbsp;lattices)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Programs.TrimFieldsProgram.</span><code><span class="memberNameLink"><a href="../../tools/Programs.TrimFieldsProgram.html#run(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet,java.util.List,java.util.List)">run</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;requiredOutputTraits,
java.util.List&lt;<a href="../../plan/RelOptMaterialization.html" title="class in org.apache.calcite.plan">RelOptMaterialization</a>&gt;&nbsp;materializations,
java.util.List&lt;<a href="../../plan/RelOptLattice.html" title="class in org.apache.calcite.plan">RelOptLattice</a>&gt;&nbsp;lattices)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.sql.PreparedStatement</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelRunners.</span><code><span class="memberNameLink"><a href="../../tools/RelRunners.html#run(org.apache.calcite.rel.RelNode)">run</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Runs a relational expression by creating a JDBC connection.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Planner.</span><code><span class="memberNameLink"><a href="../../tools/Planner.html#transform(int,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode)">transform</a></span>&#8203;(int&nbsp;ruleSetIndex,
<a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;requiredOutputTraits,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Converts one relational expression tree into another relational expression
based on a particular rule set and requires set of traits.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../tools/package-summary.html">org.apache.calcite.tools</a> with type arguments of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</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="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelBuilder.</span><code><span class="memberNameLink"><a href="../../tools/RelBuilder.html#pushAll(java.lang.Iterable)">pushAll</a></span>&#8203;(java.lang.Iterable&lt;? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;nodes)</code></th>
<td class="colLast">
<div class="block">Pushes a collection of relational expressions.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../tools/package-summary.html">org.apache.calcite.tools</a> with parameters of type <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../tools/RelBuilder.Frame.html#%3Cinit%3E(org.apache.calcite.rel.RelNode)">Frame</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../tools/RelBuilder.Frame.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,com.google.common.collect.ImmutableList)">Frame</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
com.google.common.collect.ImmutableList&lt;<a href="../../tools/RelBuilder.Field.html" title="class in org.apache.calcite.tools">RelBuilder.Field</a>&gt;&nbsp;fields)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../tools/RelBuilder.Shifter.html#%3Cinit%3E(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.rel.RelNode)">Shifter</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;id,
<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
</ul>
</li>
</ul>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../RelNode.html" title="interface in org.apache.calcite.rel">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>