blob: 6f0738ae9442ece18ad3cac21c152f533dadd9ad [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Uses of Class org.apache.calcite.tools.RelBuilder (Apache Calcite API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.apache.calcite.tools.RelBuilder (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="../RelBuilder.html" title="class in org.apache.calcite.tools">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="header">
<h2 title="Uses of Class org.apache.calcite.tools.RelBuilder" class="title">Uses of Class<br>org.apache.calcite.tools.RelBuilder</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">
<li class="blockList">
<table class="useSummary">
<caption><span>Packages that use <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</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.piglet">org.apache.calcite.piglet</a></th>
<td class="colLast">
<div class="block">Piglet, a Pig-like language.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.plan">org.apache.calcite.plan</a></th>
<td class="colLast">
<div class="block">Defines interfaces for constructing rule-based optimizers of
relational expressions.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.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.logical">org.apache.calcite.rel.logical</a></th>
<td class="colLast">
<div class="block">Defines logical 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.rules">org.apache.calcite.rel.rules</a></th>
<td class="colLast">
<div class="block">Provides a core set of planner rules.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.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.statistic">org.apache.calcite.statistic</a></th>
<td class="colLast">
<div class="block">Implementations of statistics providers.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.tools">org.apache.calcite.tools</a></th>
<td class="colLast">
<div class="block">Provides utility classes.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<ul class="blockList">
<li class="blockList">
<section role="region"><a id="org.apache.calcite.piglet">
<!-- -->
</a>
<h3>Uses of <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a> in <a href="../../piglet/package-summary.html">org.apache.calcite.piglet</a></h3>
<table class="useSummary">
<caption><span>Subclasses of <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a> in <a href="../../piglet/package-summary.html">org.apache.calcite.piglet</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../piglet/PigRelBuilder.html" title="class in org.apache.calcite.piglet">PigRelBuilder</a></span></code></th>
<td class="colLast">
<div class="block">Extension to <a href="../RelBuilder.html" title="class in org.apache.calcite.tools"><code>RelBuilder</code></a> for Pig logical operators.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../piglet/package-summary.html">org.apache.calcite.piglet</a> that return <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelBuilder.</span><code><span class="memberNameLink"><a href="../../piglet/PigRelBuilder.html#cogroup(java.lang.Iterable)">cogroup</a></span>&#8203;(java.lang.Iterable&lt;? extends <a href="../RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a>&gt;&nbsp;groupKeys)</code></th>
<td class="colLast">
<div class="block">Cogroups relations on top of the stack.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelBuilder.</span><code><span class="memberNameLink"><a href="../../piglet/PigRelBuilder.html#collect()">collect</a></span>()</code></th>
<td class="colLast">
<div class="block">Collects all rows of the top rel into a single multiset value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelBuilder.</span><code><span class="memberNameLink"><a href="../../piglet/PigRelBuilder.html#multiSetFlatten()">multiSetFlatten</a></span>()</code></th>
<td class="colLast">
<div class="block">Flattens the top relation will all multiset columns.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelBuilder.</span><code><span class="memberNameLink"><a href="../../piglet/PigRelBuilder.html#multiSetFlatten(java.util.List,java.util.List)">multiSetFlatten</a></span>&#8203;(java.util.List&lt;java.lang.Integer&gt;&nbsp;flattenCols,
java.util.List&lt;java.lang.String&gt;&nbsp;flattenOutputAliases)</code></th>
<td class="colLast">
<div class="block">Flattens the top relation on provided columns.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelBuilder.</span><code><span class="memberNameLink"><a href="../../piglet/PigRelBuilder.html#scan(org.apache.calcite.plan.RelOptTable)">scan</a></span>&#8203;(<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;tableSchema)</code></th>
<td class="colLast">
<div class="block">Scans a table with a given schema.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelBuilder.</span><code><span class="memberNameLink"><a href="../../piglet/PigRelBuilder.html#scan(org.apache.calcite.plan.RelOptTable,java.lang.String...)">scan</a></span>&#8203;(<a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;userSchema,
java.lang.String...&nbsp;tableNames)</code></th>
<td class="colLast">
<div class="block">Scans a table with its given schema and names.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelBuilder.</span><code><span class="memberNameLink"><a href="../../piglet/PigRelBuilder.html#scan(org.apache.calcite.rel.type.RelDataType,java.lang.String...)">scan</a></span>&#8203;(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.lang.String...&nbsp;tableNames)</code></th>
<td class="colLast">
<div class="block">Makes a table scan operator for a given row type and names</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelBuilder.</span><code><span class="memberNameLink"><a href="../../piglet/PigRelBuilder.html#scan(org.apache.calcite.rel.type.RelDataType,java.util.List)">scan</a></span>&#8203;(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.util.List&lt;java.lang.String&gt;&nbsp;tableNames)</code></th>
<td class="colLast">
<div class="block">Makes a table scan operator for a given row type and names</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelBuilder.</span><code><span class="memberNameLink"><a href="../../piglet/PigRelBuilder.html#store(java.lang.String)">store</a></span>&#8203;(java.lang.String&nbsp;storeAlias)</code></th>
<td class="colLast">
<div class="block">Save the store alias with the corresponding relational algebra node</div>
</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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</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="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigToSqlAggregateRule.</span><code><span class="memberNameLink"><a href="../../piglet/PigToSqlAggregateRule.html#createRecordType(org.apache.calcite.tools.RelBuilder,java.util.List)">createRecordType</a></span>&#8203;(<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
java.util.List&lt;java.lang.Integer&gt;&nbsp;fields)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.plan">
<!-- -->
</a>
<h3>Uses of <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubstitutionVisitor.</span><code><span class="memberNameLink"><a href="../../plan/SubstitutionVisitor.html#relBuilder">relBuilder</a></span></code></th>
<td class="colLast">
<div class="block">Factory for a builder for relational expressions.</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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptRuleCall.</span><code><span class="memberNameLink"><a href="../../plan/RelOptRuleCall.html#builder()">builder</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../RelBuilder.html" title="class in org.apache.calcite.tools"><code>RelBuilder</code></a> to be used by
code within the call.</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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</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="../../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="../../rel/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="../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="../../rel/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="../../rel/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="../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="../RelBuilder.html#projectNamed(java.lang.Iterable,java.lang.Iterable,boolean)"><code>projectNamed(Iterable, Iterable, boolean)</code></a></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">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="../../rel/core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;originalJoin,
<a href="../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 void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubstitutionVisitor.</span><code><span class="memberNameLink"><a href="../../plan/SubstitutionVisitor.html#reverseSubstitute(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.mutable.Holder,java.util.List,java.util.List,int,int)">reverseSubstitute</a></span>&#8203;(<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/mutable/Holder.html" title="class in org.apache.calcite.rel.mutable">Holder</a>&nbsp;query,
java.util.List&lt;java.util.List&lt;<a href="../../plan/SubstitutionVisitor.Replacement.html" title="class in org.apache.calcite.plan">SubstitutionVisitor.Replacement</a>&gt;&gt;&nbsp;matches,
java.util.List&lt;<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;sub,
int&nbsp;replaceCount,
int&nbsp;maxCount)</code></th>
<td class="colLast">&nbsp;</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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a> in <a href="../../rel/core/package-summary.html">org.apache.calcite.rel.core</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../rel/core/package-summary.html">org.apache.calcite.rel.core</a> with parameters of type <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</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="../../rel/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="../../rel/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="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;extraFields,
<a href="../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>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rel.logical">
<!-- -->
</a>
<h3>Uses of <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a> in <a href="../../rel/logical/package-summary.html">org.apache.calcite.rel.logical</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../../rel/logical/package-summary.html">org.apache.calcite.rel.logical</a> declared as <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ToLogicalConverter.</span><code><span class="memberNameLink"><a href="../../rel/logical/ToLogicalConverter.html#relBuilder">relBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../rel/logical/package-summary.html">org.apache.calcite.rel.logical</a> with parameters of type <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalWindow.</span><code><span class="memberNameLink"><a href="../../rel/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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/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>Constructors in <a href="../../rel/logical/package-summary.html">org.apache.calcite.rel.logical</a> with parameters of type <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</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="../../rel/logical/ToLogicalConverter.html#%3Cinit%3E(org.apache.calcite.tools.RelBuilder)">ToLogicalConverter</a></span>&#8203;(<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder)</code></th>
<td class="colLast">&nbsp;</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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a> in <a href="../../rel/mutable/package-summary.html">org.apache.calcite.rel.mutable</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../rel/mutable/package-summary.html">org.apache.calcite.rel.mutable</a> with parameters of type <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MutableRels.</span><code><span class="memberNameLink"><a href="../../rel/mutable/MutableRels.html#fromMutable(org.apache.calcite.rel.mutable.MutableRel,org.apache.calcite.tools.RelBuilder)">fromMutable</a></span>&#8203;(<a href="../../rel/mutable/MutableRel.html" title="class in org.apache.calcite.rel.mutable">MutableRel</a>&nbsp;node,
<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.util.List&lt;<a href="../../rel/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="../../rel/mutable/MutableRels.html#fromMutables(java.util.List,org.apache.calcite.tools.RelBuilder)">fromMutables</a></span>&#8203;(java.util.List&lt;<a href="../../rel/mutable/MutableRel.html" title="class in org.apache.calcite.rel.mutable">MutableRel</a>&gt;&nbsp;nodes,
<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder)</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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a> in <a href="../../rel/rules/package-summary.html">org.apache.calcite.rel.rules</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../../rel/rules/package-summary.html">org.apache.calcite.rel.rules</a> declared as <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcRelSplitter.</span><code><span class="memberNameLink"><a href="../../rel/rules/CalcRelSplitter.html#relBuilder">relBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PushProjector.</span><code><span class="memberNameLink"><a href="../../rel/rules/PushProjector.html#relBuilder">relBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../rel/rules/package-summary.html">org.apache.calcite.rel.rules</a> that return <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateExpandDistinctAggregatesRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateExpandDistinctAggregatesRule.html#convertMonopole(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.core.Aggregate,java.util.List,int)">convertMonopole</a></span>&#8203;(<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate,
java.util.List&lt;java.lang.Integer&gt;&nbsp;argList,
int&nbsp;filterArg)</code></th>
<td class="colLast">
<div class="block">Converts an aggregate relational expression that contains just one
distinct aggregate function (or perhaps several over the same arguments)
and no non-distinct aggregate functions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateExpandDistinctAggregatesRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateExpandDistinctAggregatesRule.html#convertSingletonDistinct(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.core.Aggregate,java.util.Set)">convertSingletonDistinct</a></span>&#8203;(<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate,
java.util.Set&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;java.util.List&lt;java.lang.Integer&gt;,&#8203;java.lang.Integer&gt;&gt;&nbsp;argLists)</code></th>
<td class="colLast">
<div class="block">Converts an aggregate with one distinct aggregate and one or more
non-distinct aggregates to multi-phase aggregates (see reference example
below).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateExpandDistinctAggregatesRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateExpandDistinctAggregatesRule.html#createSelectDistinct(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.core.Aggregate,java.util.List,int,java.util.Map)">createSelectDistinct</a></span>&#8203;(<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate,
java.util.List&lt;java.lang.Integer&gt;&nbsp;argList,
int&nbsp;filterArg,
java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Integer&gt;&nbsp;sourceOf)</code></th>
<td class="colLast">
<div class="block">Given an <a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>
and the ordinals of the arguments to a
particular call to an aggregate function, creates a 'select distinct'
relational expression which projects the group columns and those
arguments but nothing else.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../rel/rules/package-summary.html">org.apache.calcite.rel.rules</a> with parameters of type <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptOptimizeJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/LoptOptimizeJoinRule.html#addAdditionalFilters(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.rules.LoptMultiJoin,org.apache.calcite.rel.rules.LoptJoinTree,org.apache.calcite.rel.rules.LoptJoinTree,java.util.List)">addAdditionalFilters</a></span>&#8203;(<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/rules/LoptMultiJoin.html" title="class in org.apache.calcite.rel.rules">LoptMultiJoin</a>&nbsp;multiJoin,
<a href="../../rel/rules/LoptJoinTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree</a>&nbsp;left,
<a href="../../rel/rules/LoptJoinTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree</a>&nbsp;right,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;filtersToAdd)</code></th>
<td class="colLast">
<div class="block">Determines whether any additional filters are applicable to a join tree.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../rel/rules/LoptJoinTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptOptimizeJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/LoptOptimizeJoinRule.html#addFactorToTree(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.rules.LoptMultiJoin,org.apache.calcite.rel.rules.LoptSemiJoinOptimizer,org.apache.calcite.rel.rules.LoptJoinTree,int,java.util.BitSet,java.util.List,boolean)">addFactorToTree</a></span>&#8203;(<a href="../../rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/rules/LoptMultiJoin.html" title="class in org.apache.calcite.rel.rules">LoptMultiJoin</a>&nbsp;multiJoin,
<a href="../../rel/rules/LoptSemiJoinOptimizer.html" title="class in org.apache.calcite.rel.rules">LoptSemiJoinOptimizer</a>&nbsp;semiJoinOpt,
<a href="../../rel/rules/LoptJoinTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree</a>&nbsp;joinTree,
int&nbsp;factorToAdd,
java.util.BitSet&nbsp;factorsNeeded,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;filtersToAdd,
boolean&nbsp;selfJoin)</code></th>
<td class="colLast">
<div class="block">Adds a new factor into the current join tree.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../rel/rules/LoptJoinTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptOptimizeJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/LoptOptimizeJoinRule.html#addToTop(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.rules.LoptMultiJoin,org.apache.calcite.rel.rules.LoptSemiJoinOptimizer,org.apache.calcite.rel.rules.LoptJoinTree,int,java.util.List,boolean)">addToTop</a></span>&#8203;(<a href="../../rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/rules/LoptMultiJoin.html" title="class in org.apache.calcite.rel.rules">LoptMultiJoin</a>&nbsp;multiJoin,
<a href="../../rel/rules/LoptSemiJoinOptimizer.html" title="class in org.apache.calcite.rel.rules">LoptSemiJoinOptimizer</a>&nbsp;semiJoinOpt,
<a href="../../rel/rules/LoptJoinTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree</a>&nbsp;joinTree,
int&nbsp;factorToAdd,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;filtersToAdd,
boolean&nbsp;selfJoin)</code></th>
<td class="colLast">
<div class="block">Creates a join tree with the new factor added to the top of the tree</div>
</td>
</tr>
<tr class="rowColor">
<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">SubQueryRemoveRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SubQueryRemoveRule.html#apply(org.apache.calcite.rex.RexSubQuery,java.util.Set,org.apache.calcite.plan.RelOptUtil.Logic,org.apache.calcite.tools.RelBuilder,int,int)">apply</a></span>&#8203;(<a href="../../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a>&nbsp;e,
java.util.Set&lt;<a href="../../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../../plan/RelOptUtil.Logic.html" title="enum in org.apache.calcite.plan">RelOptUtil.Logic</a>&nbsp;logic,
<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;builder,
int&nbsp;inputCount,
int&nbsp;offset)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected abstract <a href="../../rel/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="../../rel/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="../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="../../rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
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="../../rel/rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;queryEC,
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topViewProject,
<a href="../../rel/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="../../rel/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="../../rel/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="../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="../../rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
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="../../rel/rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;queryEC,
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topViewProject,
<a href="../../rel/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="../../rel/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="../../rel/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="../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="../../rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
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="../../rel/rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;queryEC,
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topViewProject,
<a href="../../rel/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 <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateExpandDistinctAggregatesRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateExpandDistinctAggregatesRule.html#convertMonopole(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.core.Aggregate,java.util.List,int)">convertMonopole</a></span>&#8203;(<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate,
java.util.List&lt;java.lang.Integer&gt;&nbsp;argList,
int&nbsp;filterArg)</code></th>
<td class="colLast">
<div class="block">Converts an aggregate relational expression that contains just one
distinct aggregate function (or perhaps several over the same arguments)
and no non-distinct aggregate functions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateExpandDistinctAggregatesRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateExpandDistinctAggregatesRule.html#convertSingletonDistinct(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.core.Aggregate,java.util.Set)">convertSingletonDistinct</a></span>&#8203;(<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate,
java.util.Set&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;java.util.List&lt;java.lang.Integer&gt;,&#8203;java.lang.Integer&gt;&gt;&nbsp;argLists)</code></th>
<td class="colLast">
<div class="block">Converts an aggregate with one distinct aggregate and one or more
non-distinct aggregates to multi-phase aggregates (see reference example
below).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../rel/rules/LoptJoinTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptOptimizeJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/LoptOptimizeJoinRule.html#createJoinSubtree(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.rules.LoptMultiJoin,org.apache.calcite.rel.rules.LoptJoinTree,org.apache.calcite.rel.rules.LoptJoinTree,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType,java.util.List,boolean,boolean)">createJoinSubtree</a></span>&#8203;(<a href="../../rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/rules/LoptMultiJoin.html" title="class in org.apache.calcite.rel.rules">LoptMultiJoin</a>&nbsp;multiJoin,
<a href="../../rel/rules/LoptJoinTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree</a>&nbsp;left,
<a href="../../rel/rules/LoptJoinTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree</a>&nbsp;right,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../rel/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;filtersToAdd,
boolean&nbsp;fullAdjust,
boolean&nbsp;selfJoin)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalJoin given left and right operands and a join condition.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../rel/rules/LoptJoinTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptOptimizeJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/LoptOptimizeJoinRule.html#createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.rules.LoptMultiJoin,org.apache.calcite.rel.rules.LoptSemiJoinOptimizer,int)">createOrdering</a></span>&#8203;(<a href="../../rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/rules/LoptMultiJoin.html" title="class in org.apache.calcite.rel.rules">LoptMultiJoin</a>&nbsp;multiJoin,
<a href="../../rel/rules/LoptSemiJoinOptimizer.html" title="class in org.apache.calcite.rel.rules">LoptSemiJoinOptimizer</a>&nbsp;semiJoinOpt,
int&nbsp;firstFactor)</code></th>
<td class="colLast">
<div class="block">Generates a join tree with a specific factor as the first factor in the
join tree</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../rel/rules/LoptJoinTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptOptimizeJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/LoptOptimizeJoinRule.html#createReplacementJoin(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.rules.LoptMultiJoin,org.apache.calcite.rel.rules.LoptSemiJoinOptimizer,org.apache.calcite.rel.rules.LoptJoinTree,int,int,org.apache.calcite.util.ImmutableIntList,java.lang.Integer%5B%5D,java.util.List)">createReplacementJoin</a></span>&#8203;(<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/rules/LoptMultiJoin.html" title="class in org.apache.calcite.rel.rules">LoptMultiJoin</a>&nbsp;multiJoin,
<a href="../../rel/rules/LoptSemiJoinOptimizer.html" title="class in org.apache.calcite.rel.rules">LoptSemiJoinOptimizer</a>&nbsp;semiJoinOpt,
<a href="../../rel/rules/LoptJoinTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree</a>&nbsp;currJoinTree,
int&nbsp;leftIdx,
int&nbsp;factorToAdd,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;newKeys,
java.lang.Integer[]&nbsp;replacementKeys,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;filtersToAdd)</code></th>
<td class="colLast">
<div class="block">Creates a replacement join, projecting either dummy columns or
replacement keys from the factor that doesn't actually need to be joined.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../rel/rules/LoptJoinTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptOptimizeJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/LoptOptimizeJoinRule.html#createReplacementSemiJoin(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.rules.LoptMultiJoin,org.apache.calcite.rel.rules.LoptSemiJoinOptimizer,org.apache.calcite.rel.rules.LoptJoinTree,int,java.util.List)">createReplacementSemiJoin</a></span>&#8203;(<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/rules/LoptMultiJoin.html" title="class in org.apache.calcite.rel.rules">LoptMultiJoin</a>&nbsp;multiJoin,
<a href="../../rel/rules/LoptSemiJoinOptimizer.html" title="class in org.apache.calcite.rel.rules">LoptSemiJoinOptimizer</a>&nbsp;semiJoinOpt,
<a href="../../rel/rules/LoptJoinTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree</a>&nbsp;factTree,
int&nbsp;dimIdx,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;filtersToAdd)</code></th>
<td class="colLast">
<div class="block">In the event that a dimension table does not need to be joined because of
a semijoin, this method creates a join tree that consists of a projection
on top of an existing join tree.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateExpandDistinctAggregatesRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateExpandDistinctAggregatesRule.html#createSelectDistinct(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.core.Aggregate,java.util.List,int,java.util.Map)">createSelectDistinct</a></span>&#8203;(<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate,
java.util.List&lt;java.lang.Integer&gt;&nbsp;argList,
int&nbsp;filterArg,
java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Integer&gt;&nbsp;sourceOf)</code></th>
<td class="colLast">
<div class="block">Given an <a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>
and the ordinals of the arguments to a
particular call to an aggregate function, creates a 'select distinct'
relational expression which projects the group columns and those
arguments but nothing else.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../rel/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="../../rel/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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/rules/LoptMultiJoin.html" title="class in org.apache.calcite.rel.rules">LoptMultiJoin</a>&nbsp;multiJoin,
<a href="../../rel/rules/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="rowColor">
<td class="colFirst"><code>protected abstract <a href="../../rel/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="../../rel/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="../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="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topProject,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;unionInputQuery,
<a href="../../rel/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="../../rel/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="../../rel/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="../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="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topProject,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;unionInputQuery,
<a href="../../rel/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="../../rel/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="../../rel/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="../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="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topProject,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;unionInputQuery,
<a href="../../rel/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 void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateExpandDistinctAggregatesRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateExpandDistinctAggregatesRule.html#doRewrite(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.core.Aggregate,int,java.util.List,int,java.util.List)">doRewrite</a></span>&#8203;(<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate,
int&nbsp;n,
java.util.List&lt;java.lang.Integer&gt;&nbsp;argList,
int&nbsp;filterArg,
java.util.List&lt;<a href="../../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a>&gt;&nbsp;refs)</code></th>
<td class="colLast">
<div class="block">Converts all distinct aggregate calls to a given set of arguments.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubQueryRemoveRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SubQueryRemoveRule.html#field(org.apache.calcite.tools.RelBuilder,int,int)">field</a></span>&#8203;(<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;builder,
int&nbsp;inputCount,
int&nbsp;offset)</code></th>
<td class="colLast">
<div class="block">Returns a reference to a particular field, by offset, across several
inputs on a <a href="../RelBuilder.html" title="class in org.apache.calcite.tools"><code>RelBuilder</code></a>'s stack.</div>
</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">SubQueryRemoveRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SubQueryRemoveRule.html#fields(org.apache.calcite.tools.RelBuilder,int)">fields</a></span>&#8203;(<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;builder,
int&nbsp;fieldCount)</code></th>
<td class="colLast">
<div class="block">Returns a list of expressions that project the first <code>fieldCount</code>
fields of the top input on a <a href="../RelBuilder.html" title="class in org.apache.calcite.tools"><code>RelBuilder</code></a>'s stack.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptOptimizeJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/LoptOptimizeJoinRule.html#findBestOrderings(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.rules.LoptMultiJoin,org.apache.calcite.rel.rules.LoptSemiJoinOptimizer,org.apache.calcite.plan.RelOptRuleCall)">findBestOrderings</a></span>&#8203;(<a href="../../rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/rules/LoptMultiJoin.html" title="class in org.apache.calcite.rel.rules">LoptMultiJoin</a>&nbsp;multiJoin,
<a href="../../rel/rules/LoptSemiJoinOptimizer.html" title="class in org.apache.calcite.rel.rules">LoptSemiJoinOptimizer</a>&nbsp;semiJoinOpt,
<a href="../../plan/RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">
<div class="block">Generates N optimal join orderings.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcRelSplitter.RelType.</span><code><span class="memberNameLink"><a href="../../rel/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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/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 void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateReduceFunctionsRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateReduceFunctionsRule.html#newAggregateRel(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.core.Aggregate,java.util.List)">newAggregateRel</a></span>&#8203;(<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;oldAggregate,
java.util.List&lt;<a href="../../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;newCalls)</code></th>
<td class="colLast">
<div class="block">Do a shallow clone of oldAggRel and update aggCalls.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateReduceFunctionsRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateReduceFunctionsRule.html#newCalcRel(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.type.RelDataType,java.util.List)">newCalcRel</a></span>&#8203;(<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;exprs)</code></th>
<td class="colLast">
<div class="block">Add a calc with the expressions to compute the original agg calls from the
decomposed ones.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../rel/rules/LoptJoinTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptOptimizeJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/LoptOptimizeJoinRule.html#pushDownFactor(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.rules.LoptMultiJoin,org.apache.calcite.rel.rules.LoptSemiJoinOptimizer,org.apache.calcite.rel.rules.LoptJoinTree,int,java.util.BitSet,java.util.List,boolean)">pushDownFactor</a></span>&#8203;(<a href="../../rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/rules/LoptMultiJoin.html" title="class in org.apache.calcite.rel.rules">LoptMultiJoin</a>&nbsp;multiJoin,
<a href="../../rel/rules/LoptSemiJoinOptimizer.html" title="class in org.apache.calcite.rel.rules">LoptSemiJoinOptimizer</a>&nbsp;semiJoinOpt,
<a href="../../rel/rules/LoptJoinTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree</a>&nbsp;joinTree,
int&nbsp;factorToAdd,
java.util.BitSet&nbsp;factorsNeeded,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;filtersToAdd,
boolean&nbsp;selfJoin)</code></th>
<td class="colLast">
<div class="block">Creates a join tree where the new factor is pushed down one of the
operands of the current join tree</div>
</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="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../rel/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="../../rel/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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;builder,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topViewProject,
<a href="../../rel/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="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../rel/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="../../rel/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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;builder,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topViewProject,
<a href="../../rel/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="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;<a href="../../rel/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="../../rel/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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;builder,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;topViewProject,
<a href="../../rel/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>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">SubQueryRemoveRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SubQueryRemoveRule.html#rewriteExists(org.apache.calcite.rex.RexSubQuery,java.util.Set,org.apache.calcite.plan.RelOptUtil.Logic,org.apache.calcite.tools.RelBuilder)">rewriteExists</a></span>&#8203;(<a href="../../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a>&nbsp;e,
java.util.Set&lt;<a href="../../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../../plan/RelOptUtil.Logic.html" title="enum in org.apache.calcite.plan">RelOptUtil.Logic</a>&nbsp;logic,
<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;builder)</code></th>
<td class="colLast">
<div class="block">Rewrites an EXISTS RexSubQuery into a <a href="../../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a>.</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">SubQueryRemoveRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SubQueryRemoveRule.html#rewriteIn(org.apache.calcite.rex.RexSubQuery,java.util.Set,org.apache.calcite.plan.RelOptUtil.Logic,org.apache.calcite.tools.RelBuilder,int)">rewriteIn</a></span>&#8203;(<a href="../../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a>&nbsp;e,
java.util.Set&lt;<a href="../../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../../plan/RelOptUtil.Logic.html" title="enum in org.apache.calcite.plan">RelOptUtil.Logic</a>&nbsp;logic,
<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;builder,
int&nbsp;offset)</code></th>
<td class="colLast">
<div class="block">Rewrites an IN RexSubQuery into a <a href="../../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewAggregateRule.</span><code><span class="memberNameLink"><a href="../../rel/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="../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="../../rel/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="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
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="../../rel/rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;viewEC,
<a href="../../rel/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="../../rel/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="../../rel/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="../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="../../rel/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="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
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="../../rel/rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;viewEC,
<a href="../../rel/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="../../rel/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="../../rel/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="../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="../../rel/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="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
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="../../rel/rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;viewEC,
<a href="../../rel/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>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">SubQueryRemoveRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SubQueryRemoveRule.html#rewriteScalarQuery(org.apache.calcite.rex.RexSubQuery,java.util.Set,org.apache.calcite.tools.RelBuilder,int,int)">rewriteScalarQuery</a></span>&#8203;(<a href="../../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a>&nbsp;e,
java.util.Set&lt;<a href="../../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;builder,
int&nbsp;inputCount,
int&nbsp;offset)</code></th>
<td class="colLast">
<div class="block">Rewrites a scalar sub-query into an
<a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>.</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">SubQueryRemoveRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/SubQueryRemoveRule.html#rewriteSome(org.apache.calcite.rex.RexSubQuery,java.util.Set,org.apache.calcite.tools.RelBuilder)">rewriteSome</a></span>&#8203;(<a href="../../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a>&nbsp;e,
java.util.Set&lt;<a href="../../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;builder)</code></th>
<td class="colLast">
<div class="block">Rewrites a SOME sub-query into a <a href="../../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewAggregateRule.</span><code><span class="memberNameLink"><a href="../../rel/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="../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="../../rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../rel/rules/AbstractMaterializedViewRule.MatchModality.html" title="enum in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.MatchModality</a>&nbsp;matchModality,
boolean&nbsp;unionRewriting,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topViewProject,
<a href="../../rel/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="../../rel/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="../../rel/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="../../rel/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="../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="../../rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../rel/rules/AbstractMaterializedViewRule.MatchModality.html" title="enum in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.MatchModality</a>&nbsp;matchModality,
boolean&nbsp;unionRewriting,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topViewProject,
<a href="../../rel/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="../../rel/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="../../rel/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="../../rel/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="../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="../../rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../rel/rules/AbstractMaterializedViewRule.MatchModality.html" title="enum in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.MatchModality</a>&nbsp;matchModality,
boolean&nbsp;unionRewriting,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topProject,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;topViewProject,
<a href="../../rel/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="../../rel/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>private static <a href="../../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateStarTableRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateStarTableRule.html#rollUp(int,org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.core.AggregateCall,org.apache.calcite.materialize.TileKey)">rollUp</a></span>&#8203;(int&nbsp;groupCount,
<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&nbsp;aggregateCall,
<a href="../../materialize/TileKey.html" title="class in org.apache.calcite.materialize">TileKey</a>&nbsp;tileKey)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinCommuteRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/JoinCommuteRule.html#swap(org.apache.calcite.rel.core.Join,boolean,org.apache.calcite.tools.RelBuilder)">swap</a></span>&#8203;(<a href="../../rel/core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;join,
boolean&nbsp;swapOuterJoins,
<a href="../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>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../rel/rules/package-summary.html">org.apache.calcite.rel.rules</a> with parameters of type <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</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="../../rel/rules/CalcRelSplitter.html#%3Cinit%3E(org.apache.calcite.rel.core.Calc,org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.rules.CalcRelSplitter.RelType%5B%5D)">CalcRelSplitter</a></span>&#8203;(<a href="../../rel/core/Calc.html" title="class in org.apache.calcite.rel.core">Calc</a>&nbsp;calc,
<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../../rel/rules/CalcRelSplitter.RelType.html" title="class in org.apache.calcite.rel.rules">CalcRelSplitter.RelType</a>[]&nbsp;relTypes)</code></th>
<td class="colLast">
<div class="block">Constructs a CalcRelSplitter.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rel/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="../../rel/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="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;childRel,
<a href="../../rel/rules/PushProjector.ExprCondition.html" title="interface in org.apache.calcite.rel.rules">PushProjector.ExprCondition</a>&nbsp;preserveExprCondition,
<a href="../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="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rel/rules/ProjectToWindowRule.WindowedAggRelSplitter.html#%3Cinit%3E(org.apache.calcite.rel.core.Calc,org.apache.calcite.tools.RelBuilder)">WindowedAggRelSplitter</a></span>&#8203;(<a href="../../rel/core/Calc.html" title="class in org.apache.calcite.rel.core">Calc</a>&nbsp;calc,
<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder)</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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a> in <a href="../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a> declared as <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.html#relBuilder">relBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelFieldTrimmer.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelFieldTrimmer.html#relBuilder">relBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelStructuredTypeFlattener.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelStructuredTypeFlattener.html#relBuilder">relBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#relBuilder">relBuilder</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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">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="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rootRel,
<a href="../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>
</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="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</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.html#%3Cinit%3E(org.apache.calcite.sql2rel.RelDecorrelator.CorelMap,org.apache.calcite.plan.Context,org.apache.calcite.tools.RelBuilder)">RelDecorrelator</a></span>&#8203;(<a href="../../sql2rel/RelDecorrelator.CorelMap.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorelMap</a>&nbsp;cm,
<a href="../../plan/Context.html" title="interface in org.apache.calcite.plan">Context</a>&nbsp;context,
<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../sql2rel/RelFieldTrimmer.html#%3Cinit%3E(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.tools.RelBuilder)">RelFieldTrimmer</a></span>&#8203;(<a href="../../sql/validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a>&nbsp;validator,
<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder)</code></th>
<td class="colLast">
<div class="block">Creates a RelFieldTrimmer.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../sql2rel/RelStructuredTypeFlattener.html#%3Cinit%3E(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rex.RexBuilder,org.apache.calcite.plan.RelOptTable.ToRelContext,boolean)">RelStructuredTypeFlattener</a></span>&#8203;(<a href="../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="../../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a>&nbsp;toRelContext,
boolean&nbsp;restructure)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.statistic">
<!-- -->
</a>
<h3>Uses of <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a> in <a href="../../statistic/package-summary.html">org.apache.calcite.statistic</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../statistic/package-summary.html">org.apache.calcite.statistic</a> with parameters of type <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</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="../../statistic/QuerySqlStatisticProvider.BuilderAction.html" title="type parameter in QuerySqlStatisticProvider.BuilderAction">R</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">QuerySqlStatisticProvider.BuilderAction.</span><code><span class="memberNameLink"><a href="../../statistic/QuerySqlStatisticProvider.BuilderAction.html#apply(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptSchema,org.apache.calcite.adapter.jdbc.JdbcSchema,org.apache.calcite.tools.RelBuilder)">apply</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelOptSchema.html" title="interface in org.apache.calcite.plan">RelOptSchema</a>&nbsp;relOptSchema,
<a href="../../adapter/jdbc/JdbcSchema.html" title="class in org.apache.calcite.adapter.jdbc">JdbcSchema</a>&nbsp;jdbcSchema,
<a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.tools">
<!-- -->
</a>
<h3>Uses of <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a> in <a href="../package-summary.html">org.apache.calcite.tools</a></h3>
<table class="useSummary">
<caption><span>Subclasses of <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a> in <a href="../package-summary.html">org.apache.calcite.tools</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="../PigRelBuilder.html" title="class in org.apache.calcite.tools">PigRelBuilder</a></span></code></th>
<td class="colLast">
<div class="block">Extension to <a href="../RelBuilder.html" title="class in org.apache.calcite.tools"><code>RelBuilder</code></a> for Pig relational operators.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../package-summary.html">org.apache.calcite.tools</a> that return <a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</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="../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="../RelBuilder.html#aggregate(org.apache.calcite.tools.RelBuilder.GroupKey,java.lang.Iterable)">aggregate</a></span>&#8203;(<a href="../RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a>&nbsp;groupKey,
java.lang.Iterable&lt;<a href="../RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a>&gt;&nbsp;aggCalls)</code></th>
<td class="colLast">
<div class="block">Creates an <a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> with a list of
calls.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#aggregate(org.apache.calcite.tools.RelBuilder.GroupKey,java.util.List)">aggregate</a></span>&#8203;(<a href="../RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a>&nbsp;groupKey,
java.util.List&lt;<a href="../../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggregateCalls)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#aggregate(org.apache.calcite.tools.RelBuilder.GroupKey,org.apache.calcite.tools.RelBuilder.AggCall...)">aggregate</a></span>&#8203;(<a href="../RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a>&nbsp;groupKey,
<a href="../RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a>...&nbsp;aggCalls)</code></th>
<td class="colLast">
<div class="block">Creates an <a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> with an array of
calls.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../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="../RelBuilder.html#aggregate_(org.apache.calcite.util.ImmutableBitSet,com.google.common.collect.ImmutableList,org.apache.calcite.rel.RelNode,java.util.List,java.util.List,com.google.common.collect.ImmutableList)">aggregate_</a></span>&#8203;(<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,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
java.util.List&lt;<a href="../../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggregateCalls,
java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;extraNodes,
com.google.common.collect.ImmutableList&lt;<a href="../RelBuilder.Field.html" title="class in org.apache.calcite.tools">RelBuilder.Field</a>&gt;&nbsp;inFields)</code></th>
<td class="colLast">
<div class="block">Finishes the implementation of <a href="../RelBuilder.html#aggregate(org.apache.calcite.tools.RelBuilder.GroupKey,org.apache.calcite.tools.RelBuilder.AggCall...)"><code>aggregate(org.apache.calcite.tools.RelBuilder.GroupKey, org.apache.calcite.tools.RelBuilder.AggCall...)</code></a> by creating an
<a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> and pushing it onto the stack.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#antiJoin(java.lang.Iterable)">antiJoin</a></span>&#8203;(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 an anti-join.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#antiJoin(org.apache.calcite.rex.RexNode...)">antiJoin</a></span>&#8203;(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;conditions)</code></th>
<td class="colLast">
<div class="block">Creates an anti-join.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelBuilder.</span><code><span class="memberNameLink"><a href="../PigRelBuilder.html#as(java.lang.String)">as</a></span>&#8203;(java.lang.String&nbsp;alias)</code></th>
<td class="colLast">
<div class="block">As super-class method, but also retains alias for naming of aggregates.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#as(java.lang.String)">as</a></span>&#8203;(java.lang.String&nbsp;alias)</code></th>
<td class="colLast">
<div class="block">Assigns a table alias to the top entry on the stack.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#convert(org.apache.calcite.rel.type.RelDataType,boolean)">convert</a></span>&#8203;(<a href="../../rel/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 that converts the current relational expression's
output to a desired row type.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#correlate(org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rel.core.CorrelationId,java.lang.Iterable)">correlate</a></span>&#8203;(<a href="../../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
<a href="../../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlationId,
java.lang.Iterable&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;requiredFields)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/Correlate.html" title="class in org.apache.calcite.rel.core"><code>Correlate</code></a>
with a <a href="../../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core"><code>CorrelationId</code></a> and a list of fields that are used by correlation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#correlate(org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.rex.RexNode...)">correlate</a></span>&#8203;(<a href="../../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
<a href="../../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlationId,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;requiredFields)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/Correlate.html" title="class in org.apache.calcite.rel.core"><code>Correlate</code></a>
with a <a href="../../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core"><code>CorrelationId</code></a> and an array of fields that are used by correlation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../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="../RelBuilder.html#create(org.apache.calcite.tools.FrameworkConfig)">create</a></span>&#8203;(<a href="../FrameworkConfig.html" title="interface in org.apache.calcite.tools">FrameworkConfig</a>&nbsp;config)</code></th>
<td class="colLast">
<div class="block">Creates a RelBuilder.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelBuilderFactory.</span><code><span class="memberNameLink"><a href="../RelBuilderFactory.html#create(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptSchema)">create</a></span>&#8203;(<a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../plan/RelOptSchema.html" title="interface in org.apache.calcite.plan">RelOptSchema</a>&nbsp;schema)</code></th>
<td class="colLast">
<div class="block">Creates a RelBuilder.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#distinct()">distinct</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates an <a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> that makes the
relational expression distinct on all fields.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#empty()">empty</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates a relational expression that reads from an input and throws
all of the rows away.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#exchange(org.apache.calcite.rel.RelDistribution)">exchange</a></span>&#8203;(<a href="../../rel/RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;distribution)</code></th>
<td class="colLast">
<div class="block">Creates an Exchange by distribution.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#filter(java.lang.Iterable)">filter</a></span>&#8203;(java.lang.Iterable&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;predicates)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> of a list of
predicates.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#filter(java.lang.Iterable,java.lang.Iterable)">filter</a></span>&#8203;(java.lang.Iterable&lt;<a href="../../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
java.lang.Iterable&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;predicates)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> of a list of correlation variables
and a list of predicates.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#filter(java.lang.Iterable,org.apache.calcite.rex.RexNode...)">filter</a></span>&#8203;(java.lang.Iterable&lt;<a href="../../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;predicates)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> of a list of correlation variables
and an array of predicates.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#filter(org.apache.calcite.rex.RexNode...)">filter</a></span>&#8203;(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;predicates)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> of an array of
predicates.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#functionScan(org.apache.calcite.sql.SqlOperator,int,java.lang.Iterable)">functionScan</a></span>&#8203;(<a href="../../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&nbsp;operator,
int&nbsp;inputCount,
java.lang.Iterable&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/TableFunctionScan.html" title="class in org.apache.calcite.rel.core"><code>TableFunctionScan</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#functionScan(org.apache.calcite.sql.SqlOperator,int,org.apache.calcite.rex.RexNode...)">functionScan</a></span>&#8203;(<a href="../../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&nbsp;operator,
int&nbsp;inputCount,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/TableFunctionScan.html" title="class in org.apache.calcite.rel.core"><code>TableFunctionScan</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#intersect(boolean)">intersect</a></span>&#8203;(boolean&nbsp;all)</code></th>
<td class="colLast">
<div class="block">Creates an <a href="../../rel/core/Intersect.html" title="class in org.apache.calcite.rel.core"><code>Intersect</code></a> of the two most
recent relational expressions on the stack.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#intersect(boolean,int)">intersect</a></span>&#8203;(boolean&nbsp;all,
int&nbsp;n)</code></th>
<td class="colLast">
<div class="block">Creates an <a href="../../rel/core/Intersect.html" title="class in org.apache.calcite.rel.core"><code>Intersect</code></a> of the <code>n</code>
most recent relational expressions on the stack.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#join(org.apache.calcite.rel.core.JoinRelType,java.lang.Iterable)">join</a></span>&#8203;(<a href="../../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
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 <a href="../../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> with multiple
conditions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#join(org.apache.calcite.rel.core.JoinRelType,java.lang.String...)">join</a></span>&#8203;(<a href="../../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.lang.String...&nbsp;fieldNames)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> using USING syntax.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#join(org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rex.RexNode)">join</a></span>&#8203;(<a href="../../rel/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">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#join(org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rex.RexNode,java.util.Set)">join</a></span>&#8203;(<a href="../../rel/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,
java.util.Set&lt;<a href="../../rel/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 <a href="../../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> with correlating
variables.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#join(org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode...)">join</a></span>&#8203;(<a href="../../rel/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;condition0,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;conditions)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#limit(int,int)">limit</a></span>&#8203;(int&nbsp;offset,
int&nbsp;fetch)</code></th>
<td class="colLast">
<div class="block">Creates a limit without a sort.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)">match</a></span>&#8203;(<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.lang.Iterable&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;measureList,
<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.lang.Iterable&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;partitionKeys,
java.lang.Iterable&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&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="../../rel/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="../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="../RelBuilder.html#minus(boolean)">minus</a></span>&#8203;(boolean&nbsp;all)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/Minus.html" title="class in org.apache.calcite.rel.core"><code>Minus</code></a> of the two most recent
relational expressions on the stack.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#minus(boolean,int)">minus</a></span>&#8203;(boolean&nbsp;all,
int&nbsp;n)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/Minus.html" title="class in org.apache.calcite.rel.core"><code>Minus</code></a> of the <code>n</code>
most recent relational expressions on the stack.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#permute(org.apache.calcite.util.mapping.Mapping)">permute</a></span>&#8203;(<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="../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="../RelBuilder.html#project(java.lang.Iterable)">project</a></span>&#8203;(java.lang.Iterable&lt;? extends <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 a <a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of the given list
of expressions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#project(java.lang.Iterable,java.lang.Iterable)">project</a></span>&#8203;(java.lang.Iterable&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
java.lang.Iterable&lt;java.lang.String&gt;&nbsp;fieldNames)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of the given list
of expressions and field names.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#project(java.lang.Iterable,java.lang.Iterable,boolean)">project</a></span>&#8203;(java.lang.Iterable&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
java.lang.Iterable&lt;java.lang.String&gt;&nbsp;fieldNames,
boolean&nbsp;force)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of the given list
of expressions, using the given names.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#project(org.apache.calcite.rex.RexNode...)">project</a></span>&#8203;(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;nodes)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of the given
expressions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#projectNamed(java.lang.Iterable,java.lang.Iterable,boolean)">projectNamed</a></span>&#8203;(java.lang.Iterable&lt;? extends <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
java.lang.Iterable&lt;java.lang.String&gt;&nbsp;fieldNames,
boolean&nbsp;force)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of the given
expressions and field names, and optionally optimizing.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#projectPlus(java.lang.Iterable)">projectPlus</a></span>&#8203;(java.lang.Iterable&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 a <a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of all original fields, plus the given list of
expressions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#projectPlus(org.apache.calcite.rex.RexNode...)">projectPlus</a></span>&#8203;(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;nodes)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of all original fields, plus the given
expressions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#push(org.apache.calcite.rel.RelNode)">push</a></span>&#8203;(<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Adds a relational expression to be the input to the next relational
expression constructed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#pushAll(java.lang.Iterable)">pushAll</a></span>&#8203;(java.lang.Iterable&lt;? extends <a href="../../rel/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>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#rename(java.util.List)">rename</a></span>&#8203;(java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames)</code></th>
<td class="colLast">
<div class="block">Ensures that the field names match those given.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#repeatUnion(java.lang.String,boolean)">repeatUnion</a></span>&#8203;(java.lang.String&nbsp;tableName,
boolean&nbsp;all)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/RepeatUnion.html" title="class in org.apache.calcite.rel.core"><code>RepeatUnion</code></a> associated to a <a href="../../schema/TransientTable.html" title="interface in org.apache.calcite.schema"><code>TransientTable</code></a> without a maximum number
of iterations, i.e.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#repeatUnion(java.lang.String,boolean,int)">repeatUnion</a></span>&#8203;(java.lang.String&nbsp;tableName,
boolean&nbsp;all,
int&nbsp;iterationLimit)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/RepeatUnion.html" title="class in org.apache.calcite.rel.core"><code>RepeatUnion</code></a> associated to a <a href="../../schema/TransientTable.html" title="interface in org.apache.calcite.schema"><code>TransientTable</code></a> of the
two most recent relational expressions on the stack.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#scan(java.lang.Iterable)">scan</a></span>&#8203;(java.lang.Iterable&lt;java.lang.String&gt;&nbsp;tableNames)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a> of the table
with a given name.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#scan(java.lang.String...)">scan</a></span>&#8203;(java.lang.String...&nbsp;tableNames)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a> of the table
with a given name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#semiJoin(java.lang.Iterable)">semiJoin</a></span>&#8203;(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 <a href="../../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> with <a href="../../rel/core/JoinRelType.html#SEMI"><code>JoinRelType.SEMI</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#semiJoin(org.apache.calcite.rex.RexNode...)">semiJoin</a></span>&#8203;(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;conditions)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> with <a href="../../rel/core/JoinRelType.html#SEMI"><code>JoinRelType.SEMI</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../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="../RelBuilder.html#setOp(boolean,org.apache.calcite.sql.SqlKind,int)">setOp</a></span>&#8203;(boolean&nbsp;all,
<a href="../../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
int&nbsp;n)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#snapshot(org.apache.calcite.rex.RexNode)">snapshot</a></span>&#8203;(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;period)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/Snapshot.html" title="class in org.apache.calcite.rel.core"><code>Snapshot</code></a> of a given snapshot period.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../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="../RelBuilder.html#sort(int...)">sort</a></span>&#8203;(int...&nbsp;fields)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> by field ordinals.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th