blob: cb6ce8bd8aef23a95274fccc1ed594cb0427408e [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Uses of Class org.apache.calcite.rex.RexBuilder (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.rex.RexBuilder (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="../RexBuilder.html" title="class in org.apache.calcite.rex">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.rex.RexBuilder" class="title">Uses of Class<br>org.apache.calcite.rex.RexBuilder</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">
<li class="blockList">
<table class="useSummary">
<caption><span>Packages that use <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.adapter.druid">org.apache.calcite.adapter.druid</a></th>
<td class="colLast">
<div class="block">Query provider based on a Druid database.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.adapter.elasticsearch">org.apache.calcite.adapter.elasticsearch</a></th>
<td class="colLast">
<div class="block">Query provider based on an Elasticsearch2 DB.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.adapter.enumerable">org.apache.calcite.adapter.enumerable</a></th>
<td class="colLast">
<div class="block">Query optimizer rules for Java calling convention.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.adapter.geode.rel">org.apache.calcite.adapter.geode.rel</a></th>
<td class="colLast">
<div class="block">Query provider based on Apache Geode (Gemfire) In Memory Data Grid</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.adapter.spark">org.apache.calcite.adapter.spark</a></th>
<td class="colLast">
<div class="block">Adapter based on the Apache Spark data management system.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.interpreter">org.apache.calcite.interpreter</a></th>
<td class="colLast">
<div class="block">Provides an implementation of relational expressions using an interpreter.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.plan">org.apache.calcite.plan</a></th>
<td class="colLast">
<div class="block">Defines interfaces for constructing rule-based optimizers of
relational expressions.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.prepare">org.apache.calcite.prepare</a></th>
<td class="colLast">
<div class="block">Preparation of queries (parsing, planning and implementation).</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.rel.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.metadata">org.apache.calcite.rel.metadata</a></th>
<td class="colLast">
<div class="block">Defines metadata interfaces and utilities for relational
expressions.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.rel.rules">org.apache.calcite.rel.rules</a></th>
<td class="colLast">
<div class="block">Provides a core set of planner rules.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.rex">org.apache.calcite.rex</a></th>
<td class="colLast">
<div class="block">Provides a language for representing row-expressions.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.schema">org.apache.calcite.schema</a></th>
<td class="colLast">
<div class="block">Schema SPI.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.schema.impl">org.apache.calcite.schema.impl</a></th>
<td class="colLast">
<div class="block">Utilities to help implement Calcite's SPIs.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.sql">org.apache.calcite.sql</a></th>
<td class="colLast">
<div class="block">Provides a SQL parser and object model.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.sql2rel">org.apache.calcite.sql2rel</a></th>
<td class="colLast">
<div class="block">Translates a SQL parse tree to relational expression.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.tools">org.apache.calcite.tools</a></th>
<td class="colLast">
<div class="block">Provides utility classes.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<ul class="blockList">
<li class="blockList">
<section role="region"><a id="org.apache.calcite.adapter.druid">
<!-- -->
</a>
<h3>Uses of <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> in <a href="../../adapter/druid/package-summary.html">org.apache.calcite.adapter.druid</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/druid/package-summary.html">org.apache.calcite.adapter.druid</a> with parameters of type <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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 org.apache.commons.lang3.tuple.Triple&lt;java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;,&#8203;java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;,&#8203;java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidRules.DruidFilterRule.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidFilterRule.html#splitFilters(org.apache.calcite.rex.RexBuilder,org.apache.calcite.adapter.druid.DruidQuery,java.util.List,java.util.List,int)">splitFilters</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid">DruidQuery</a>&nbsp;input,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;validPreds,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nonValidPreds,
int&nbsp;timestampFieldIdx)</code></th>
<td class="colLast">
<div class="block">Given a list of conditions that contain Druid valid operations and
a list that contains those that contain any non-supported operation,
it outputs a triple with three different categories:
1-l) condition filters on the timestamp column,
2-m) condition filters that can be pushed to Druid,
3-r) condition filters that cannot be pushed to Druid.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;,&#8203;java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DruidRules.DruidProjectRule.</span><code><span class="memberNameLink"><a href="../../adapter/druid/DruidRules.DruidProjectRule.html#splitProjects(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.RelNode,java.util.List)">splitProjects</a></span>&#8203;(<a href="../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;input,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.adapter.elasticsearch">
<!-- -->
</a>
<h3>Uses of <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> in <a href="../../adapter/elasticsearch/package-summary.html">org.apache.calcite.adapter.elasticsearch</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../../adapter/elasticsearch/package-summary.html">org.apache.calcite.adapter.elasticsearch</a> declared as <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PredicateAnalyzer.NotLikeConverter.</span><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/PredicateAnalyzer.NotLikeConverter.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../adapter/elasticsearch/package-summary.html">org.apache.calcite.adapter.elasticsearch</a> with parameters of type <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/elasticsearch/PredicateAnalyzer.NotLikeConverter.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder)">NotLikeConverter</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.adapter.enumerable">
<!-- -->
</a>
<h3>Uses of <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> in <a href="../../adapter/enumerable/package-summary.html">org.apache.calcite.adapter.enumerable</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../../adapter/enumerable/package-summary.html">org.apache.calcite.adapter.enumerable</a> declared as <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexToLixTranslator.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/RexToLixTranslator.html#builder">builder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JavaRelImplementor.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/JavaRelImplementor.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../adapter/enumerable/package-summary.html">org.apache.calcite.adapter.enumerable</a> that return <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JavaRelImplementor.</span><code><span class="memberNameLink"><a href="../../adapter/enumerable/JavaRelImplementor.html#getRexBuilder()">getRexBuilder</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../adapter/enumerable/package-summary.html">org.apache.calcite.adapter.enumerable</a> with parameters of type <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/EnumerableRelImplementor.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,java.util.Map)">EnumerableRelImplementor</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.Map&lt;java.lang.String,&#8203;java.lang.Object&gt;&nbsp;internalParameters)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/JavaRelImplementor.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder)">JavaRelImplementor</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/enumerable/RexToLixTranslator.html#%3Cinit%3E(org.apache.calcite.rex.RexProgram,org.apache.calcite.adapter.java.JavaTypeFactory,org.apache.calcite.linq4j.tree.Expression,org.apache.calcite.adapter.enumerable.RexToLixTranslator.InputGetter,org.apache.calcite.linq4j.tree.BlockBuilder,java.util.Map,org.apache.calcite.rex.RexBuilder,org.apache.calcite.sql.validate.SqlConformance,org.apache.calcite.adapter.enumerable.RexToLixTranslator,org.apache.calcite.linq4j.function.Function1)">RexToLixTranslator</a></span>&#8203;(<a href="../RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program,
<a href="../../adapter/java/JavaTypeFactory.html" title="interface in org.apache.calcite.adapter.java">JavaTypeFactory</a>&nbsp;typeFactory,
<a href="../../linq4j/tree/Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a>&nbsp;root,
<a href="../../adapter/enumerable/RexToLixTranslator.InputGetter.html" title="interface in org.apache.calcite.adapter.enumerable">RexToLixTranslator.InputGetter</a>&nbsp;inputGetter,
<a href="../../linq4j/tree/BlockBuilder.html" title="class in org.apache.calcite.linq4j.tree">BlockBuilder</a>&nbsp;list,
java.util.Map&lt;? extends <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;java.lang.Boolean&gt;&nbsp;exprNullableMap,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;builder,
<a href="../../sql/validate/SqlConformance.html" title="interface in org.apache.calcite.sql.validate">SqlConformance</a>&nbsp;conformance,
<a href="../../adapter/enumerable/RexToLixTranslator.html" title="class in org.apache.calcite.adapter.enumerable">RexToLixTranslator</a>&nbsp;parent,
<a href="../../linq4j/function/Function1.html" title="interface in org.apache.calcite.linq4j.function">Function1</a>&lt;java.lang.String,&#8203;<a href="../../adapter/enumerable/RexToLixTranslator.InputGetter.html" title="interface in org.apache.calcite.adapter.enumerable">RexToLixTranslator.InputGetter</a>&gt;&nbsp;correlates)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.adapter.geode.rel">
<!-- -->
</a>
<h3>Uses of <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> in <a href="../../adapter/geode/rel/package-summary.html">org.apache.calcite.adapter.geode.rel</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../../adapter/geode/rel/package-summary.html">org.apache.calcite.adapter.geode.rel</a> declared as <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GeodeFilter.Translator.</span><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeFilter.Translator.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../adapter/geode/rel/package-summary.html">org.apache.calcite.adapter.geode.rel</a> with parameters of type <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/geode/rel/GeodeFilter.Translator.html#%3Cinit%3E(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rex.RexBuilder)">Translator</a></span>&#8203;(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.adapter.spark">
<!-- -->
</a>
<h3>Uses of <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> in <a href="../../adapter/spark/package-summary.html">org.apache.calcite.adapter.spark</a></h3>
<table class="useSummary">
<caption><span>Constructors in <a href="../../adapter/spark/package-summary.html">org.apache.calcite.adapter.spark</a> with parameters of type <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../adapter/spark/SparkRel.Implementor.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder)">Implementor</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.interpreter">
<!-- -->
</a>
<h3>Uses of <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> in <a href="../../interpreter/package-summary.html">org.apache.calcite.interpreter</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../../interpreter/package-summary.html">org.apache.calcite.interpreter</a> declared as <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JaninoRexCompiler.</span><code><span class="memberNameLink"><a href="../../interpreter/JaninoRexCompiler.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../interpreter/package-summary.html">org.apache.calcite.interpreter</a> with parameters of type <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../interpreter/JaninoRexCompiler.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder)">JaninoRexCompiler</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexImplicationChecker.</span><code><span class="memberNameLink"><a href="../../plan/RexImplicationChecker.html#builder">builder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptCluster.</span><code><span class="memberNameLink"><a href="../../plan/RelOptCluster.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.RexInputConverter.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.RexInputConverter.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../plan/package-summary.html">org.apache.calcite.plan</a> that return <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptCluster.</span><code><span class="memberNameLink"><a href="../../plan/RelOptCluster.html#getRexBuilder()">getRexBuilder</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../plan/package-summary.html">org.apache.calcite.plan</a> with parameters of type <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#andJoinFilters(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">andJoinFilters</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;left,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;right)</code></th>
<td class="colLast">
<div class="block">Ands two sets of join filters together, either of which can be null.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubstitutionVisitor.</span><code><span class="memberNameLink"><a href="../../plan/SubstitutionVisitor.html#canonizeNode(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)">canonizeNode</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">
<div class="block">Reorders some of the operands in this expression so structural comparison,
i.e., based on string representation, can be more precise.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexCall.html" title="class in org.apache.calcite.rex">RexCall</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#collapseExpandedIsNotDistinctFromExpr(org.apache.calcite.rex.RexCall,org.apache.calcite.rex.RexBuilder)">collapseExpandedIsNotDistinctFromExpr</a></span>&#8203;(<a href="../RexCall.html" title="class in org.apache.calcite.rex">RexCall</a>&nbsp;call,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">
<div class="block">Collapses an expanded version of <code>IS NOT DISTINCT FROM</code> expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptCluster.</span><code><span class="memberNameLink"><a href="../../plan/RelOptCluster.html#create(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rex.RexBuilder)">create</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">
<div class="block">Creates a cluster.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptQuery.</span><code><span class="memberNameLink"><a href="../../plan/RelOptQuery.html#createCluster(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rex.RexBuilder)">createCluster</a></span>&#8203;(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#createEquiJoinCondition(org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rex.RexBuilder)">createEquiJoinCondition</a></span>&#8203;(<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
java.util.List&lt;java.lang.Integer&gt;&nbsp;leftKeys,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
java.util.List&lt;java.lang.Integer&gt;&nbsp;rightKeys,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">
<div class="block">Builds an equi-join condition from a set of left and right keys.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../RexCall.html" title="class in org.apache.calcite.rex">RexCall</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#doCollapseExpandedIsNotDistinctFrom(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexCall,org.apache.calcite.rex.RexCall,org.apache.calcite.rex.RexCall,org.apache.calcite.rex.RexCall)">doCollapseExpandedIsNotDistinctFrom</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexCall.html" title="class in org.apache.calcite.rex">RexCall</a>&nbsp;call,
<a href="../RexCall.html" title="class in org.apache.calcite.rex">RexCall</a>&nbsp;ifNull0Call,
<a href="../RexCall.html" title="class in org.apache.calcite.rex">RexCall</a>&nbsp;ifNull1Call,
<a href="../RexCall.html" title="class in org.apache.calcite.rex">RexCall</a>&nbsp;equalsCall)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../RexCall.html" title="class in org.apache.calcite.rex">RexCall</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#doCollapseExpandedIsNotDistinctFromCaseExpr(org.apache.calcite.rex.RexCall,org.apache.calcite.rex.RexBuilder)">doCollapseExpandedIsNotDistinctFromCaseExpr</a></span>&#8203;(<a href="../RexCall.html" title="class in org.apache.calcite.rex">RexCall</a>&nbsp;call,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../RexCall.html" title="class in org.apache.calcite.rex">RexCall</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#doCollapseExpandedIsNotDistinctFromOrExpr(org.apache.calcite.rex.RexCall,org.apache.calcite.rex.RexBuilder)">doCollapseExpandedIsNotDistinctFromOrExpr</a></span>&#8203;(<a href="../RexCall.html" title="class in org.apache.calcite.rex">RexCall</a>&nbsp;call,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#isDistinctFrom(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,boolean)">isDistinctFrom</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;x,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;y,
boolean&nbsp;neg)</code></th>
<td class="colLast">
<div class="block">Returns a translation of the <code>IS DISTINCT FROM</code> (or <code>IS
NOT DISTINCT FROM</code>) sql operator.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#isDistinctFromInternal(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,boolean)">isDistinctFromInternal</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;x,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;y,
boolean&nbsp;neg)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubstitutionVisitor.</span><code><span class="memberNameLink"><a href="../../plan/SubstitutionVisitor.html#isEquivalent(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">isEquivalent</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;target)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptPredicateList.</span><code><span class="memberNameLink"><a href="../../plan/RelOptPredicateList.html#of(org.apache.calcite.rex.RexBuilder,java.lang.Iterable)">of</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.lang.Iterable&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;pulledUpPredicates)</code></th>
<td class="colLast">
<div class="block">Creates a RelOptPredicateList with only pulled-up predicates, no inferred
predicates.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptPredicateList.</span><code><span class="memberNameLink"><a href="../../plan/RelOptPredicateList.html#of(org.apache.calcite.rex.RexBuilder,java.lang.Iterable,java.lang.Iterable,java.lang.Iterable)">of</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.lang.Iterable&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;pulledUpPredicates,
java.lang.Iterable&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;leftInferredPredicates,
java.lang.Iterable&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;rightInferredPredicates)</code></th>
<td class="colLast">
<div class="block">Creates a RelOptPredicateList for a join.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#pushDownEqualJoinConditions(org.apache.calcite.rex.RexNode,int,int,java.util.List,java.util.List,org.apache.calcite.rex.RexBuilder)">pushDownEqualJoinConditions</a></span>&#8203;(<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
int&nbsp;leftCount,
int&nbsp;rightCount,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;extraLeftExprs,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;extraRightExprs,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;builder)</code></th>
<td class="colLast">
<div class="block">Pushes down parts of a join condition.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptPredicateList.</span><code><span class="memberNameLink"><a href="../../plan/RelOptPredicateList.html#shift(org.apache.calcite.rex.RexBuilder,int)">shift</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
int&nbsp;offset)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#shiftFilter(int,int,int,org.apache.calcite.rex.RexBuilder,java.util.List,int,java.util.List,org.apache.calcite.rex.RexNode)">shiftFilter</a></span>&#8203;(int&nbsp;start,
int&nbsp;end,
int&nbsp;offset,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;joinFields,
int&nbsp;nTotalFields,
java.util.List&lt;<a href="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;rightFields,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;filter)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.html#splitJoinCondition(org.apache.calcite.rex.RexBuilder,int,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List,java.util.List)">splitJoinCondition</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
int&nbsp;leftFieldCount,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
java.util.List&lt;java.lang.Integer&gt;&nbsp;leftKeys,
java.util.List&lt;java.lang.Integer&gt;&nbsp;rightKeys,
java.util.List&lt;java.lang.Boolean&gt;&nbsp;filterNulls,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nonEquiList)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubstitutionVisitor.</span><code><span class="memberNameLink"><a href="../../plan/SubstitutionVisitor.html#splitOr(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">splitOr</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;target)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptPredicateList.</span><code><span class="memberNameLink"><a href="../../plan/RelOptPredicateList.html#union(org.apache.calcite.rex.RexBuilder,org.apache.calcite.plan.RelOptPredicateList)">union</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a>&nbsp;list)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../plan/package-summary.html">org.apache.calcite.plan</a> with parameters of type <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptCluster.html#%3Cinit%3E(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rex.RexBuilder,java.util.concurrent.atomic.AtomicInteger,java.util.Map)">RelOptCluster</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.concurrent.atomic.AtomicInteger&nbsp;nextCorrel,
java.util.Map&lt;java.lang.String,&#8203;<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;mapCorrelToRel)</code></th>
<td class="colLast">
<div class="block">Creates a cluster.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptCluster.html#%3Cinit%3E(org.apache.calcite.plan.RelOptQuery,org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rex.RexBuilder)">RelOptCluster</a></span>&#8203;(<a href="../../plan/RelOptQuery.html" title="class in org.apache.calcite.plan">RelOptQuery</a>&nbsp;query,
<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RexImplicationChecker.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexExecutorImpl,org.apache.calcite.rel.type.RelDataType)">RexImplicationChecker</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;builder,
<a href="../RexExecutorImpl.html" title="class in org.apache.calcite.rex">RexExecutorImpl</a>&nbsp;executor,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.RexInputConverter.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,java.util.List,int%5B%5D)">RexInputConverter</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;srcFields,
int[]&nbsp;adjustments)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.RexInputConverter.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,java.util.List,java.util.List,int%5B%5D)">RexInputConverter</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;srcFields,
java.util.List&lt;<a href="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;destFields,
int[]&nbsp;adjustments)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.RexInputConverter.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,java.util.List,java.util.List,java.util.List,int%5B%5D)">RexInputConverter</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;srcFields,
java.util.List&lt;<a href="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;leftDestFields,
java.util.List&lt;<a href="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;rightDestFields,
int[]&nbsp;adjustments)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../plan/RelOptUtil.RexInputConverter.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,java.util.List,java.util.List,java.util.List,java.util.List,int%5B%5D)">RexInputConverter</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;srcFields,
java.util.List&lt;<a href="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;destFields,
java.util.List&lt;<a href="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;leftDestFields,
java.util.List&lt;<a href="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;rightDestFields,
int[]&nbsp;adjustments)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.prepare">
<!-- -->
</a>
<h3>Uses of <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> in <a href="../../prepare/package-summary.html">org.apache.calcite.prepare</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../../prepare/package-summary.html">org.apache.calcite.prepare</a> declared as <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepareImpl.CalcitePreparingStmt.</span><code><span class="memberNameLink"><a href="../../prepare/CalcitePrepareImpl.CalcitePreparingStmt.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepareImpl.EmptyScalarTranslator.</span><code><span class="memberNameLink"><a href="../../prepare/CalcitePrepareImpl.EmptyScalarTranslator.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../prepare/package-summary.html">org.apache.calcite.prepare</a> that return <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PlannerImpl.</span><code><span class="memberNameLink"><a href="../../prepare/PlannerImpl.html#createRexBuilder()">createRexBuilder</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../prepare/package-summary.html">org.apache.calcite.prepare</a> with parameters of type <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepareImpl.</span><code><span class="memberNameLink"><a href="../../prepare/CalcitePrepareImpl.html#createCluster(org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rex.RexBuilder)">createCluster</a></span>&#8203;(<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">
<div class="block">Factory method for cluster.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../prepare/CalcitePrepareImpl.ScalarTranslator.html" title="interface in org.apache.calcite.prepare">CalcitePrepareImpl.ScalarTranslator</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepareImpl.EmptyScalarTranslator.</span><code><span class="memberNameLink"><a href="../../prepare/CalcitePrepareImpl.EmptyScalarTranslator.html#empty(org.apache.calcite.rex.RexBuilder)">empty</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;builder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../prepare/package-summary.html">org.apache.calcite.prepare</a> with parameters of type <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../prepare/CalcitePrepareImpl.EmptyScalarTranslator.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder)">EmptyScalarTranslator</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../prepare/CalcitePrepareImpl.LambdaScalarTranslator.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,java.util.List,java.util.List)">LambdaScalarTranslator</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../../linq4j/tree/ParameterExpression.html" title="class in org.apache.calcite.linq4j.tree">ParameterExpression</a>&gt;&nbsp;parameterList,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;values)</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinInfo.</span><code><span class="memberNameLink"><a href="../../rel/core/JoinInfo.html#getEquiCondition(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexBuilder)">getEquiCondition</a></span>&#8203;(<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinInfo.EquiJoinInfo.</span><code><span class="memberNameLink"><a href="../../rel/core/JoinInfo.EquiJoinInfo.html#getRemaining(org.apache.calcite.rex.RexBuilder)">getRemaining</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>abstract <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinInfo.</span><code><span class="memberNameLink"><a href="../../rel/core/JoinInfo.html#getRemaining(org.apache.calcite.rex.RexBuilder)">getRemaining</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinInfo.NonEquiJoinInfo.</span><code><span class="memberNameLink"><a href="../../rel/core/JoinInfo.NonEquiJoinInfo.html#getRemaining(org.apache.calcite.rex.RexBuilder)">getRemaining</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rel.metadata">
<!-- -->
</a>
<h3>Uses of <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> in <a href="../../rel/metadata/package-summary.html">org.apache.calcite.rel.metadata</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../rel/metadata/package-summary.html">org.apache.calcite.rel.metadata</a> with parameters of type <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdPredicates.JoinConditionBasedPredicateInference.</span><code><span class="memberNameLink"><a href="../../rel/metadata/RelMdPredicates.JoinConditionBasedPredicateInference.html#compose(org.apache.calcite.rex.RexBuilder,java.lang.Iterable)">compose</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.lang.Iterable&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;exprs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static java.util.Set&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdExpressionLineage.</span><code><span class="memberNameLink"><a href="../../rel/metadata/RelMdExpressionLineage.html#createAllPossibleExpressions(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,java.util.Map)">createAllPossibleExpressions</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;expr,
java.util.Map&lt;<a href="../RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a>,&#8203;java.util.Set&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;&nbsp;mapping)</code></th>
<td class="colLast">
<div class="block">Given an expression, it will create all equivalent expressions resulting
from replacing all possible combinations of references in the mapping by
the corresponding expressions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.util.Set&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdExpressionLineage.</span><code><span class="memberNameLink"><a href="../../rel/metadata/RelMdExpressionLineage.html#createAllPossibleExpressions(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.util.ImmutableBitSet,java.util.Map,java.util.Map)">createAllPossibleExpressions</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;expr,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;predFieldsUsed,
java.util.Map&lt;<a href="../RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a>,&#8203;java.util.Set&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;&nbsp;mapping,
java.util.Map&lt;<a href="../RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a>,&#8203;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;singleMapping)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdExpressionLineage.</span><code><span class="memberNameLink"><a href="../../rel/metadata/RelMdExpressionLineage.html#createExpressions(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.util.ImmutableBitSet,java.util.Map,java.util.Map,java.util.Set)">createExpressions</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;expr,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;predFieldsUsed,
java.util.Map&lt;<a href="../RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a>,&#8203;java.util.Set&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;&nbsp;mapping,
java.util.Map&lt;<a href="../RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a>,&#8203;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;singleMapping,
java.util.Set&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;result)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdUtil.</span><code><span class="memberNameLink"><a href="../../rel/metadata/RelMdUtil.html#minusPreds(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">minusPreds</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;pred1,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;pred2)</code></th>
<td class="colLast">
<div class="block">Takes the difference between two predicates, removing from the first any
predicates also in the second</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdPredicates.</span><code><span class="memberNameLink"><a href="../../rel/metadata/RelMdPredicates.html#projectPredicate(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.util.ImmutableBitSet)">projectPredicate</a></span>&#8203;(<a href="../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;input,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;r,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;columnsMapped)</code></th>
<td class="colLast">
<div class="block">Converts a predicate on a particular set of columns into a predicate on
a subset of those columns, weakening if necessary.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelMdUtil.</span><code><span class="memberNameLink"><a href="../../rel/metadata/RelMdUtil.html#unionPreds(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">unionPreds</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;pred1,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;pred2)</code></th>
<td class="colLast">
<div class="block">AND's two predicates together, either of which may be null, removing
redundant filters.</div>
</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ProjectCorrelateTransposeRule.RexFieldAccessReplacer.</span><code><span class="memberNameLink"><a href="../../rel/rules/ProjectCorrelateTransposeRule.RexFieldAccessReplacer.html#builder">builder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReduceDecimalsRule.RexExpander.</span><code><span class="memberNameLink"><a href="../../rel/rules/ReduceDecimalsRule.RexExpander.html#builder">builder</a></span></code></th>
<td class="colLast">
<div class="block">Factory for constructing new relational expressions</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DateRangeRules.ExtractShuttle.</span><code><span class="memberNameLink"><a href="../../rel/rules/DateRangeRules.ExtractShuttle.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">FilterRemoveIsNotDistinctFromRule.RemoveIsNotDistinctFromRexShuttle.</span><code><span class="memberNameLink"><a href="../../rel/rules/FilterRemoveIsNotDistinctFromRule.RemoveIsNotDistinctFromRexShuttle.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinCommuteRule.VariableReplacer.</span><code><span class="memberNameLink"><a href="../../rel/rules/JoinCommuteRule.VariableReplacer.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptSemiJoinOptimizer.</span><code><span class="memberNameLink"><a href="../../rel/rules/LoptSemiJoinOptimizer.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PushProjector.</span><code><span class="memberNameLink"><a href="../../rel/rules/PushProjector.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">
<div class="block">Rex builder used to create new expressions.</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected 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="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../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="../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="../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="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../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="../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="../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="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../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="../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="../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 static <a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractMaterializedViewRule.html#computeCompensationPredicates(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexSimplify,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,org.apache.calcite.util.Pair,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,org.apache.calcite.util.Pair,com.google.common.collect.BiMap)">computeCompensationPredicates</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&nbsp;simplify,
<a href="../../rel/rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;sourceEC,
<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;sourcePreds,
<a href="../../rel/rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;targetEC,
<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;targetPreds,
com.google.common.collect.BiMap&lt;<a href="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;sourceToTargetTableMapping)</code></th>
<td class="colLast">
<div class="block">We check whether the predicates in the source are contained in the predicates
in the target.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">JoinProjectTransposeRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/JoinProjectTransposeRule.html#createProjectExprs(org.apache.calcite.rel.core.Project,org.apache.calcite.rel.RelNode,int,org.apache.calcite.rex.RexBuilder,java.util.List,java.util.List)">createProjectExprs</a></span>&#8203;(<a href="../../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>&nbsp;projRel,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;joinChild,
int&nbsp;adjustmentAmount,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;joinChildrenFields,
java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;java.lang.String&gt;&gt;&nbsp;projects)</code></th>
<td class="colLast">
<div class="block">Creates projection expressions corresponding to one of the inputs into
the join</div>
</td>
</tr>
<tr class="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="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../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="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../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="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../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 <a href="../RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DateRangeRules.ExtractShuttle.</span><code><span class="memberNameLink"><a href="../../rel/rules/DateRangeRules.ExtractShuttle.html#dateTimeLiteral(org.apache.calcite.rex.RexBuilder,java.util.Calendar,org.apache.calcite.rex.RexNode)">dateTimeLiteral</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.Calendar&nbsp;calendar,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractMaterializedViewRule.html#extractReferences(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.RelNode)">extractReferences</a></span>&#8203;(<a href="../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;node)</code></th>
<td class="colLast">
<div class="block">If the node is an Aggregate, it returns a list of references to the grouping columns.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractMaterializedViewRule.html#generateEquivalenceClasses(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses)">generateEquivalenceClasses</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rel/rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;sourceEC,
<a href="../../rel/rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;targetEC)</code></th>
<td class="colLast">
<div class="block">Given the equi-column predicates of the source and the target and the
computed equivalence classes, it extracts possible mappings between
the equivalence classes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected com.google.common.collect.Multimap&lt;java.lang.Integer,&#8203;java.lang.Integer&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.MaterializedViewAggregateRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractMaterializedViewRule.MaterializedViewAggregateRule.html#generateMapping(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexSimplify,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,java.util.List)">generateMapping</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../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/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;target,
<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;positions,
com.google.common.collect.BiMap&lt;<a href="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;tableMapping,
<a href="../../rel/rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;sourceEC,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;additionalExprs)</code></th>
<td class="colLast">
<div class="block">Mapping from node expressions to target expressions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../../rel/rules/AbstractMaterializedViewRule.NodeLineage.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.NodeLineage</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractMaterializedViewRule.html#generateSwapColumnTableReferencesLineage(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,java.util.List)">generateSwapColumnTableReferencesLineage</a></span>&#8203;(<a href="../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;node,
com.google.common.collect.BiMap&lt;<a href="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;tableMapping,
<a href="../../rel/rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;ec,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodeExprs)</code></th>
<td class="colLast">
<div class="block">It swaps the column references and then the table references of the input
expressions using the equivalence classes and the table mapping.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../../rel/rules/AbstractMaterializedViewRule.NodeLineage.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.NodeLineage</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractMaterializedViewRule.html#generateSwapTableColumnReferencesLineage(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,java.util.List)">generateSwapTableColumnReferencesLineage</a></span>&#8203;(<a href="../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;node,
com.google.common.collect.BiMap&lt;<a href="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;tableMapping,
<a href="../../rel/rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;ec,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodeExprs)</code></th>
<td class="colLast">
<div class="block">It swaps the table references and then the column references of the input
expressions using the table mapping and the equivalence classes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AggregateReduceFunctionsRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AggregateReduceFunctionsRule.html#getSumAggregatedRexNode(org.apache.calcite.rel.core.Aggregate,org.apache.calcite.rel.core.AggregateCall,java.util.List,java.util.Map,org.apache.calcite.rex.RexBuilder,int,int)">getSumAggregatedRexNode</a></span>&#8203;(<a href="../../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;oldAggRel,
<a href="../../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&nbsp;oldCall,
java.util.List&lt;<a href="../../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;newCalls,
java.util.Map&lt;<a href="../../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>,&#8203;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;aggCallMapping,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
int&nbsp;argOrdinal,
int&nbsp;filterArg)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static &lt;C extends <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;<br>com.google.common.collect.ImmutableMap&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;C&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReduceExpressionsRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/ReduceExpressionsRule.html#predicateConstants(java.lang.Class,org.apache.calcite.rex.RexBuilder,org.apache.calcite.plan.RelOptPredicateList)">predicateConstants</a></span>&#8203;(java.lang.Class&lt;C&gt;&nbsp;clazz,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a>&nbsp;predicates)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="../../plan/RelOptPredicateList.html#constantMap"><code>RelOptPredicateList.constantMap</code></a></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReduceDecimalsRule.ExpanderMap.</span><code><span class="memberNameLink"><a href="../../rel/rules/ReduceDecimalsRule.ExpanderMap.html#registerExpanders(org.apache.calcite.rex.RexBuilder)">registerExpanders</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DateRangeRules.</span><code><span class="memberNameLink"><a href="../../rel/rules/DateRangeRules.html#replaceTimeUnits(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,java.lang.String)">replaceTimeUnits</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;e,
java.lang.String&nbsp;timeZone)</code></th>
<td class="colLast">
<div class="block">Replaces calls to EXTRACT, FLOOR and CEIL in an expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractMaterializedViewRule.html#replaceWithOriginalReferences(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.NodeLineage,org.apache.calcite.rex.RexNode)">replaceWithOriginalReferences</a></span>&#8203;(<a href="../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;node,
<a href="../../rel/rules/AbstractMaterializedViewRule.NodeLineage.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.NodeLineage</a>&nbsp;nodeLineage,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;exprToRewrite)</code></th>
<td class="colLast">
<div class="block">Given the input expression, it will replace (sub)expressions when possible
using the content of the mapping.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractMaterializedViewRule.html#rewriteExpression(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,java.util.List,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,boolean,org.apache.calcite.rex.RexNode)">rewriteExpression</a></span>&#8203;(<a href="../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;targetNode,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodeExprs,
com.google.common.collect.BiMap&lt;<a href="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;tableMapping,
<a href="../../rel/rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;ec,
boolean&nbsp;swapTableColumn,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;exprToRewrite)</code></th>
<td class="colLast">
<div class="block">First, the method takes the node expressions <code>nodeExprs</code> and swaps the table
and column references using the table mapping and the equivalence classes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractMaterializedViewRule.html#rewriteExpressions(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,java.util.List,com.google.common.collect.BiMap,org.apache.calcite.rel.rules.AbstractMaterializedViewRule.EquivalenceClasses,boolean,java.util.List)">rewriteExpressions</a></span>&#8203;(<a href="../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;targetNode,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodeExprs,
com.google.common.collect.BiMap&lt;<a href="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;tableMapping,
<a href="../../rel/rules/AbstractMaterializedViewRule.EquivalenceClasses.html" title="class in org.apache.calcite.rel.rules">AbstractMaterializedViewRule.EquivalenceClasses</a>&nbsp;ec,
boolean&nbsp;swapTableColumn,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;exprsToRewrite)</code></th>
<td class="colLast">
<div class="block">First, the method takes the node expressions <code>nodeExprs</code> and swaps the table
and column references using the table mapping and the equivalence classes.</div>
</td>
</tr>
<tr class="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="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../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="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;compensationColumnsEquiPred,
<a href="../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="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../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="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../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="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;compensationColumnsEquiPred,
<a href="../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="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../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="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../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="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;compensationColumnsEquiPred,
<a href="../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="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../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>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="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../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="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../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="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../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="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../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="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../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="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../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="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractMaterializedViewRule.html#shuttleReferences(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,com.google.common.collect.Multimap)">shuttleReferences</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;expr,
com.google.common.collect.Multimap&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;java.lang.Integer&gt;&nbsp;exprsLineage)</code></th>
<td class="colLast">
<div class="block">Replaces all the possible sub-expressions by input references
to the input node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractMaterializedViewRule.html#shuttleReferences(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,com.google.common.collect.Multimap,org.apache.calcite.rel.RelNode,org.apache.calcite.util.mapping.Mapping)">shuttleReferences</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;expr,
com.google.common.collect.Multimap&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;java.lang.Integer&gt;&nbsp;exprsLineage,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node,
<a href="../../util/mapping/Mapping.html" title="interface in org.apache.calcite.util.mapping">Mapping</a>&nbsp;rewritingMapping)</code></th>
<td class="colLast">
<div class="block">Replaces all the possible sub-expressions by input references
to the input node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractMaterializedViewRule.html#shuttleReferences(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.util.mapping.Mapping)">shuttleReferences</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node,
<a href="../../util/mapping/Mapping.html" title="interface in org.apache.calcite.util.mapping">Mapping</a>&nbsp;mapping)</code></th>
<td class="colLast">
<div class="block">Replaces all the input references by the position in the
input column set.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractMaterializedViewRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/AbstractMaterializedViewRule.html#splitPredicates(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)">splitPredicates</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;pred)</code></th>
<td class="colLast">
<div class="block">Classifies each of the predicates in the list into one of these two
categories:
1-l) column equality predicates, or
2-r) residual predicates, all the rest
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptOptimizeJoinRule.</span><code><span class="memberNameLink"><a href="../../rel/rules/LoptOptimizeJoinRule.html#swapFilter(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.rules.LoptMultiJoin,org.apache.calcite.rel.rules.LoptJoinTree,org.apache.calcite.rel.rules.LoptJoinTree,org.apache.calcite.rex.RexNode)">swapFilter</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<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;origLeft,
<a href="../../rel/rules/LoptJoinTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree</a>&nbsp;origRight,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></th>
<td class="colLast">
<div class="block">Adjusts a filter to reflect swapping of join inputs</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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/ReduceDecimalsRule.BinaryArithmeticExpander.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder)">BinaryArithmeticExpander</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;builder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rel/rules/ReduceDecimalsRule.CaseExpander.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder)">CaseExpander</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rel/rules/ReduceDecimalsRule.CastArgAsDoubleExpander.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder)">CastArgAsDoubleExpander</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;builder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rel/rules/ReduceDecimalsRule.CastArgAsTypeExpander.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder)">CastArgAsTypeExpander</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;builder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rel/rules/ReduceDecimalsRule.CastExpander.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder)">CastExpander</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;builder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rel/rules/ReduceDecimalsRule.CeilExpander.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder)">CeilExpander</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rel/rules/ReduceDecimalsRule.DecimalShuttle.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder)">DecimalShuttle</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rel/rules/ReduceDecimalsRule.ExpanderMap.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder)">ExpanderMap</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rel/rules/DateRangeRules.ExtractShuttle.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,org.apache.calcite.avatica.util.TimeUnitRange,java.util.Map,com.google.common.collect.ImmutableSortedSet,java.lang.String)">ExtractShuttle</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
org.apache.calcite.avatica.util.TimeUnitRange&nbsp;timeUnit,
java.util.Map&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;com.google.common.collect.RangeSet&lt;java.util.Calendar&gt;&gt;&nbsp;operandRanges,
com.google.common.collect.ImmutableSortedSet&lt;org.apache.calcite.avatica.util.TimeUnitRange&gt;&nbsp;timeUnitRanges,
java.lang.String&nbsp;timeZone)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rel/rules/ReduceDecimalsRule.FloorExpander.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder)">FloorExpander</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rel/rules/LoptSemiJoinOptimizer.html#%3Cinit%3E(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.rules.LoptMultiJoin,org.apache.calcite.rex.RexBuilder)">LoptSemiJoinOptimizer</a></span>&#8203;(<a href="../../rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="../../rel/rules/LoptMultiJoin.html" title="class in org.apache.calcite.rel.rules">LoptMultiJoin</a>&nbsp;multiJoin,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rel/rules/ReduceDecimalsRule.PassThroughExpander.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder)">PassThroughExpander</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;builder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rel/rules/PushProjector.RefAndExprConverter.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,java.util.List,java.util.List,int%5B%5D,java.util.List,int,java.util.List,int)">RefAndExprConverter</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;srcFields,
java.util.List&lt;<a href="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;destFields,
int[]&nbsp;adjustments,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;preserveLeft,
int&nbsp;firstLeftRef,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;preserveRight,
int&nbsp;firstRightRef)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rel/rules/ReduceDecimalsRule.ReinterpretExpander.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder)">ReinterpretExpander</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;builder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rel/rules/FilterRemoveIsNotDistinctFromRule.RemoveIsNotDistinctFromRexShuttle.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder)">RemoveIsNotDistinctFromRexShuttle</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rel/rules/ReduceDecimalsRule.RexExpander.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder)">RexExpander</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;builder)</code></th>
<td class="colLast">
<div class="block">Constructs a RexExpander</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rel/rules/ProjectCorrelateTransposeRule.RexFieldAccessReplacer.html#%3Cinit%3E(org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.rex.RexCorrelVariable,org.apache.calcite.rex.RexBuilder,java.util.Map)">RexFieldAccessReplacer</a></span>&#8203;(<a href="../../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;rexCorrelVariableToReplace,
<a href="../RexCorrelVariable.html" title="class in org.apache.calcite.rex">RexCorrelVariable</a>&nbsp;rexCorrelVariable,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;builder,
java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Integer&gt;&nbsp;requiredColsMap)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../rel/rules/JoinCommuteRule.VariableReplacer.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)">VariableReplacer</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;leftType,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rightType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rex">
<!-- -->
</a>
<h3>Uses of <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> in <a href="../package-summary.html">org.apache.calcite.rex</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../package-summary.html">org.apache.calcite.rex</a> declared as <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexCopier.</span><code><span class="memberNameLink"><a href="../RexCopier.html#builder">builder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexProgramBuilder.</span><code><span class="memberNameLink"><a href="../RexProgramBuilder.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexSimplify.</span><code><span class="memberNameLink"><a href="../RexSimplify.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexTransformer.</span><code><span class="memberNameLink"><a href="../RexTransformer.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.CnfHelper.</span><code><span class="memberNameLink"><a href="../RexUtil.CnfHelper.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.DnfHelper.</span><code><span class="memberNameLink"><a href="../RexUtil.DnfHelper.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.FixNullabilityShuttle.</span><code><span class="memberNameLink"><a href="../RexUtil.FixNullabilityShuttle.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../package-summary.html">org.apache.calcite.rex</a> with parameters of type <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#andNot(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,java.lang.Iterable)">andNot</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;e,
java.lang.Iterable&lt;? extends <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;notTerms)</code></th>
<td class="colLast">
<div class="block">Creates the expression <code>e1 AND NOT notTerm1 AND NOT notTerm2 ...</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#andNot(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode...)">andNot</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;e,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;notTerms)</code></th>
<td class="colLast">
<div class="block">Creates the expression <code>e1 AND NOT notTerm1 AND NOT notTerm2 ...</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.lang.String</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexExecutorImpl.</span><code><span class="memberNameLink"><a href="../RexExecutorImpl.html#compile(org.apache.calcite.rex.RexBuilder,java.util.List,org.apache.calcite.adapter.enumerable.RexToLixTranslator.InputGetter)">compile</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;constExps,
<a href="../../adapter/enumerable/RexToLixTranslator.InputGetter.html" title="interface in org.apache.calcite.adapter.enumerable">RexToLixTranslator.InputGetter</a>&nbsp;getter)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.lang.String</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexExecutorImpl.</span><code><span class="memberNameLink"><a href="../RexExecutorImpl.html#compile(org.apache.calcite.rex.RexBuilder,java.util.List,org.apache.calcite.adapter.enumerable.RexToLixTranslator.InputGetter,org.apache.calcite.rel.type.RelDataType)">compile</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;constExps,
<a href="../../adapter/enumerable/RexToLixTranslator.InputGetter.html" title="interface in org.apache.calcite.adapter.enumerable">RexToLixTranslator.InputGetter</a>&nbsp;getter,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#composeConjunction(org.apache.calcite.rex.RexBuilder,java.lang.Iterable)">composeConjunction</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.lang.Iterable&lt;? extends <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</code></th>
<td class="colLast">
<div class="block">As <a href="../RexUtil.html#composeConjunction(org.apache.calcite.rex.RexBuilder,java.lang.Iterable,boolean)"><code>RexUtil.composeConjunction(RexBuilder, Iterable, boolean)</code></a> but never
returns null.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#composeConjunction(org.apache.calcite.rex.RexBuilder,java.lang.Iterable,boolean)">composeConjunction</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.lang.Iterable&lt;? extends <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
boolean&nbsp;nullOnEmpty)</code></th>
<td class="colLast">
<div class="block">Converts a collection of expressions into an AND.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#composeDisjunction(org.apache.calcite.rex.RexBuilder,java.lang.Iterable)">composeDisjunction</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.lang.Iterable&lt;? extends <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</code></th>
<td class="colLast">
<div class="block">Converts a collection of expressions into an OR.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#composeDisjunction(org.apache.calcite.rex.RexBuilder,java.lang.Iterable,boolean)">composeDisjunction</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.lang.Iterable&lt;? extends <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
boolean&nbsp;nullOnEmpty)</code></th>
<td class="colLast">
<div class="block">Converts a collection of expressions into an OR,
optionally returning null if the list is empty.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexProgram.</span><code><span class="memberNameLink"><a href="../RexProgram.html#create(org.apache.calcite.rel.type.RelDataType,java.util.List,org.apache.calcite.rex.RexNode,java.util.List,org.apache.calcite.rex.RexBuilder)">create</a></span>&#8203;(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputRowType,
java.util.List&lt;? extends <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projectExprs,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;conditionExpr,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNames,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">
<div class="block">Creates a program which calculates projections and filters rows based
upon a condition.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexProgram.</span><code><span class="memberNameLink"><a href="../RexProgram.html#create(org.apache.calcite.rel.type.RelDataType,java.util.List,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rex.RexBuilder)">create</a></span>&#8203;(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputRowType,
java.util.List&lt;? extends <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projectExprs,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;conditionExpr,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;outputRowType,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">
<div class="block">Creates a program which calculates projections and filters rows based
upon a condition.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexProgramBuilder.html" title="class in org.apache.calcite.rex">RexProgramBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexProgramBuilder.</span><code><span class="memberNameLink"><a href="../RexProgramBuilder.html#create(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.type.RelDataType,java.util.List,java.util.List,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType,boolean)">create</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputRowType,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;exprList,
java.util.List&lt;? extends <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projectList,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;outputRowType,
boolean&nbsp;normalize)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexProgramBuilder.html" title="class in org.apache.calcite.rex">RexProgramBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexProgramBuilder.</span><code><span class="memberNameLink"><a href="../RexProgramBuilder.html#create(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.type.RelDataType,java.util.List,java.util.List,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType,boolean,boolean)">create</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputRowType,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;exprList,
java.util.List&lt;? extends <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projectList,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;outputRowType,
boolean&nbsp;normalize,
boolean&nbsp;simplify_)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexProgramBuilder.html" title="class in org.apache.calcite.rex">RexProgramBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexProgramBuilder.</span><code><span class="memberNameLink"><a href="../RexProgramBuilder.html#create(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.type.RelDataType,java.util.List,java.util.List,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType,boolean,org.apache.calcite.rex.RexSimplify)">create</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputRowType,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;exprList,
java.util.List&lt;? extends <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projectList,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;outputRowType,
boolean&nbsp;normalize,
<a href="../RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&nbsp;simplify)</code></th>
<td class="colLast">
<div class="block">Creates a program builder with the same contents as a program.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexProgramBuilder.html" title="class in org.apache.calcite.rex">RexProgramBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexProgramBuilder.</span><code><span class="memberNameLink"><a href="../RexProgramBuilder.html#create(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.type.RelDataType,java.util.List,java.util.List,org.apache.calcite.rex.RexLocalRef,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rex.RexShuttle,boolean)">create</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputRowType,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;exprList,
java.util.List&lt;<a href="../RexLocalRef.html" title="class in org.apache.calcite.rex">RexLocalRef</a>&gt;&nbsp;projectRefList,
<a href="../RexLocalRef.html" title="class in org.apache.calcite.rex">RexLocalRef</a>&nbsp;conditionRef,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;outputRowType,
<a href="../RexShuttle.html" title="class in org.apache.calcite.rex">RexShuttle</a>&nbsp;shuttle,
boolean&nbsp;updateRefs)</code></th>
<td class="colLast">
<div class="block">Creates a program builder with the same contents as a program, applying a
shuttle first.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#fixUp(org.apache.calcite.rex.RexBuilder,java.util.List,java.util.List)">fixUp</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
java.util.List&lt;<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;fieldTypes)</code></th>
<td class="colLast">
<div class="block">Fixes up the type of all <a href="../RexInputRef.html" title="class in org.apache.calcite.rex"><code>RexInputRef</code></a>s in an
expression to match differences in nullability.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#fixUp(org.apache.calcite.rex.RexBuilder,java.util.List,org.apache.calcite.rel.type.RelDataType)">fixUp</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#flatten(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)">flatten</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Flattens an expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexProgramBuilder.html" title="class in org.apache.calcite.rex">RexProgramBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexProgramBuilder.</span><code><span class="memberNameLink"><a href="../RexProgramBuilder.html#forProgram(org.apache.calcite.rex.RexProgram,org.apache.calcite.rex.RexBuilder,boolean)">forProgram</a></span>&#8203;(<a href="../RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
boolean&nbsp;normalize)</code></th>
<td class="colLast">
<div class="block">Creates a program builder and initializes it from an existing program.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.util.List&lt;<a href="../RexSimplify.CaseBranch.html" title="class in org.apache.calcite.rex">RexSimplify.CaseBranch</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexSimplify.CaseBranch.</span><code><span class="memberNameLink"><a href="../RexSimplify.CaseBranch.html#fromCaseOperands(org.apache.calcite.rex.RexBuilder,java.util.List)">fromCaseOperands</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</code></th>
<td class="colLast">
<div class="block">Given "CASE WHEN p1 THEN v1 ...</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static &lt;C extends <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;<br>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#gatherConstraint(java.lang.Class,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,java.util.Map,java.util.Set,org.apache.calcite.rex.RexBuilder)">gatherConstraint</a></span>&#8203;(java.lang.Class&lt;C&gt;&nbsp;clazz,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;left,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;right,
java.util.Map&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;C&gt;&nbsp;map,
java.util.Set&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;excludeSet,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static &lt;C extends <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;<br>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#gatherConstraints(java.lang.Class,org.apache.calcite.rex.RexNode,java.util.Map,java.util.Set,org.apache.calcite.rex.RexBuilder)">gatherConstraints</a></span>&#8203;(java.lang.Class&lt;C&gt;&nbsp;clazz,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;predicate,
java.util.Map&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;C&gt;&nbsp;map,
java.util.Set&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;excludeSet,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#generateCastExpressions(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.type.RelDataType,java.util.List)">generateCastExpressions</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;lhsRowType,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;rhsExps)</code></th>
<td class="colLast">
<div class="block">Generates a cast for a row type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#generateCastExpressions(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)">generateCastExpressions</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;lhsRowType,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rhsRowType)</code></th>
<td class="colLast">
<div class="block">Generates a cast from one row type to another</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RexExecutable.html" title="class in org.apache.calcite.rex">RexExecutable</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexExecutorImpl.</span><code><span class="memberNameLink"><a href="../RexExecutorImpl.html#getExecutable(org.apache.calcite.rex.RexBuilder,java.util.List,org.apache.calcite.rel.type.RelDataType)">getExecutable</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;exps,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></th>
<td class="colLast">
<div class="block">Creates an <a href="../RexExecutable.html" title="class in org.apache.calcite.rex"><code>RexExecutable</code></a> that allows to apply the
generated code during query processing (filter, projection).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#invert(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexCall)">invert</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexCall.html" title="class in org.apache.calcite.rex">RexCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexProgram.</span><code><span class="memberNameLink"><a href="../RexProgram.html#isNormalized(org.apache.calcite.util.Litmus,org.apache.calcite.rex.RexBuilder)">isNormalized</a></span>&#8203;(<a href="../../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a>&nbsp;litmus,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">
<div class="block">Returns whether this program is in canonical form.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexProgramBuilder.</span><code><span class="memberNameLink"><a href="../RexProgramBuilder.html#mergePrograms(org.apache.calcite.rex.RexProgram,org.apache.calcite.rex.RexProgram,org.apache.calcite.rex.RexBuilder)">mergePrograms</a></span>&#8203;(<a href="../RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;topProgram,
<a href="../RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;bottomProgram,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">
<div class="block">Merges two programs together, and normalizes the result.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexProgramBuilder.</span><code><span class="memberNameLink"><a href="../RexProgramBuilder.html#mergePrograms(org.apache.calcite.rex.RexProgram,org.apache.calcite.rex.RexProgram,org.apache.calcite.rex.RexBuilder,boolean)">mergePrograms</a></span>&#8203;(<a href="../RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;topProgram,
<a href="../RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;bottomProgram,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
boolean&nbsp;normalize)</code></th>
<td class="colLast">
<div class="block">Merges two programs together.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#negate(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexCall)">negate</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexCall.html" title="class in org.apache.calcite.rex">RexCall</a>&nbsp;call)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexProgram.</span><code><span class="memberNameLink"><a href="../RexProgram.html#normalize(org.apache.calcite.rex.RexBuilder,boolean)">normalize</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
boolean&nbsp;simplify)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexProgram.</span><code><span class="memberNameLink"><a href="../RexProgram.html#normalize(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexSimplify)">normalize</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&nbsp;simplify)</code></th>
<td class="colLast">
<div class="block">Creates a simplified/normalized copy of this program.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexProgramBuilder.</span><code><span class="memberNameLink"><a href="../RexProgramBuilder.html#normalize(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexProgram)">normalize</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a>&nbsp;program)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#not(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)">not</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;input)</code></th>
<td class="colLast">
<div class="block">Applies NOT to an expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static com.google.common.base.Function&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#notFn(org.apache.calcite.rex.RexBuilder)">notFn</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="../RexUtil.html#not(org.apache.calcite.rex.RexNode)"><code>RexUtil.not(org.apache.calcite.rex.RexNode)</code></a></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static &lt;C extends <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;<br>com.google.common.collect.ImmutableMap&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;C&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#predicateConstants(java.lang.Class,org.apache.calcite.rex.RexBuilder,java.util.List)">predicateConstants</a></span>&#8203;(java.lang.Class&lt;C&gt;&nbsp;clazz,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;predicates)</code></th>
<td class="colLast">
<div class="block">Creates a map containing each (e, constant) pair that occurs within
a predicate list.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static &lt;C extends java.lang.Comparable&lt;C&gt;&gt;<br><a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexSimplify.</span><code><span class="memberNameLink"><a href="../RexSimplify.html#processRange(org.apache.calcite.rex.RexBuilder,java.util.List,java.util.Map,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,C,org.apache.calcite.sql.SqlKind)">processRange</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;terms,
java.util.Map&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,&#8203;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;com.google.common.collect.Range&lt;C&gt;,&#8203;java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;&gt;&nbsp;rangeTerms,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;term,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;ref,
C&nbsp;v0,
<a href="../../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;comparison)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#pullFactors(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)">pullFactors</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Creates an equivalent version of a node where common factors among ORs
are pulled up.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexExecutable.</span><code><span class="memberNameLink"><a href="../RexExecutable.html#reduce(org.apache.calcite.rex.RexBuilder,java.util.List,java.util.List)">reduce</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;constExps,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;reducedValues)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexExecutor.</span><code><span class="memberNameLink"><a href="../RexExecutor.html#reduce(org.apache.calcite.rex.RexBuilder,java.util.List,java.util.List)">reduce</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;constExps,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;reducedValues)</code></th>
<td class="colLast">
<div class="block">Reduces expressions, and writes their results into <code>reducedValues</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexExecutorImpl.</span><code><span class="memberNameLink"><a href="../RexExecutorImpl.html#reduce(org.apache.calcite.rex.RexBuilder,java.util.List,java.util.List)">reduce</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;constExps,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;reducedValues)</code></th>
<td class="colLast">
<div class="block">Do constant reduction using generated code.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#simplify(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)">simplify</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;e)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Create a <a href="../RexSimplify.html" title="class in org.apache.calcite.rex"><code>RexSimplify</code></a>, then call its
<a href="../RexSimplify.html#simplify(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexUnknownAs)"><code>RexSimplify.simplify(RexNode, RexUnknownAs)</code></a> method.</div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#simplify(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,boolean)">simplify</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;e,
boolean&nbsp;unknownAsFalse)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Create a <a href="../RexSimplify.html" title="class in org.apache.calcite.rex"><code>RexSimplify</code></a>, then call its
<a href="../RexSimplify.html#simplify(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexUnknownAs)"><code>RexSimplify.simplify(RexNode, RexUnknownAs)</code></a> method.</div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#simplifyAnd(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexCall,boolean)">simplifyAnd</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexCall.html" title="class in org.apache.calcite.rex">RexCall</a>&nbsp;e,
boolean&nbsp;unknownAsFalse)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#simplifyAnd2(org.apache.calcite.rex.RexBuilder,java.util.List,java.util.List)">simplifyAnd2</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;terms,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;notTerms)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#simplifyAnd2ForUnknownAsFalse(org.apache.calcite.rex.RexBuilder,java.util.List,java.util.List)">simplifyAnd2ForUnknownAsFalse</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;terms,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;notTerms)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#simplifyAnds(org.apache.calcite.rex.RexBuilder,java.lang.Iterable)">simplifyAnds</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.lang.Iterable&lt;? extends <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use
<a href="../RexSimplify.html#simplifyAnds(java.lang.Iterable,org.apache.calcite.rex.RexUnknownAs)"><code>RexSimplify.simplifyAnds(Iterable, RexUnknownAs)</code></a>.</div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#simplifyAnds(org.apache.calcite.rex.RexBuilder,java.lang.Iterable,boolean)">simplifyAnds</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.lang.Iterable&lt;? extends <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
boolean&nbsp;unknownAsFalse)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexSimplify.</span><code><span class="memberNameLink"><a href="../RexSimplify.html#simplifyBooleanCase(org.apache.calcite.rex.RexBuilder,java.util.List,org.apache.calcite.rex.RexUnknownAs,org.apache.calcite.rel.type.RelDataType)">simplifyBooleanCase</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../RexSimplify.CaseBranch.html" title="class in org.apache.calcite.rex">RexSimplify.CaseBranch</a>&gt;&nbsp;inputBranches,
<a href="../RexUnknownAs.html" title="enum in org.apache.calcite.rex">RexUnknownAs</a>&nbsp;unknownAs,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;branchType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexSimplify.</span><code><span class="memberNameLink"><a href="../RexSimplify.html#simplifyBooleanCaseGeneric(org.apache.calcite.rex.RexBuilder,java.util.List,org.apache.calcite.rel.type.RelDataType)">simplifyBooleanCaseGeneric</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../RexSimplify.CaseBranch.html" title="class in org.apache.calcite.rex">RexSimplify.CaseBranch</a>&gt;&nbsp;branches,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;outputType)</code></th>
<td class="colLast">
<div class="block">Generic boolean case simplification.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#simplifyOr(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexCall)">simplifyOr</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexCall.html" title="class in org.apache.calcite.rex">RexCall</a>&nbsp;call)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#simplifyOrs(org.apache.calcite.rex.RexBuilder,java.util.List)">simplifyOrs</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;terms)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#simplifyPreservingType(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)">simplifyPreservingType</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;e)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="../RexSimplify.html#simplifyPreservingType(org.apache.calcite.rex.RexNode)"><code>RexSimplify.simplifyPreservingType(RexNode)</code></a>,
which allows you to specify an <a href="../RexExecutor.html" title="interface in org.apache.calcite.rex"><code>RexExecutor</code></a>.</div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#swapColumnReferences(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,java.util.Map)">swapColumnReferences</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node,
java.util.Map&lt;<a href="../RexTableInputRef.html" title="class in org.apache.calcite.rex">RexTableInputRef</a>,&#8203;java.util.Set&lt;<a href="../RexTableInputRef.html" title="class in org.apache.calcite.rex">RexTableInputRef</a>&gt;&gt;&nbsp;ec)</code></th>
<td class="colLast">
<div class="block">Given an expression, it will swap its column references <a href="../RexTableInputRef.html" title="class in org.apache.calcite.rex"><code>RexTableInputRef</code></a>
using the contents in the map (in particular, the first element of the set in the
map value).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#swapColumnTableReferences(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,java.util.Map,java.util.Map)">swapColumnTableReferences</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node,
java.util.Map&lt;<a href="../RexTableInputRef.html" title="class in org.apache.calcite.rex">RexTableInputRef</a>,&#8203;java.util.Set&lt;<a href="../RexTableInputRef.html" title="class in org.apache.calcite.rex">RexTableInputRef</a>&gt;&gt;&nbsp;ec,
java.util.Map&lt;<a href="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;tableMapping)</code></th>
<td class="colLast">
<div class="block">Given an expression, it will swap the column references <a href="../RexTableInputRef.html" title="class in org.apache.calcite.rex"><code>RexTableInputRef</code></a>
using the contents in the first map (in particular, the first element of the set
in the map value), and then it will swap the table references contained in its
<a href="../RexTableInputRef.html" title="class in org.apache.calcite.rex"><code>RexTableInputRef</code></a> using the contents in the second map.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#swapTableColumnReferences(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,java.util.Map,java.util.Map)">swapTableColumnReferences</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node,
java.util.Map&lt;<a href="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;tableMapping,
java.util.Map&lt;<a href="../RexTableInputRef.html" title="class in org.apache.calcite.rex">RexTableInputRef</a>,&#8203;java.util.Set&lt;<a href="../RexTableInputRef.html" title="class in org.apache.calcite.rex">RexTableInputRef</a>&gt;&gt;&nbsp;ec)</code></th>
<td class="colLast">
<div class="block">Given an expression, it will swap the table references contained in its
<a href="../RexTableInputRef.html" title="class in org.apache.calcite.rex"><code>RexTableInputRef</code></a> using the contents in the first map, and then
it will swap the column references <a href="../RexTableInputRef.html" title="class in org.apache.calcite.rex"><code>RexTableInputRef</code></a> using the contents
in the second map (in particular, the first element of the set in the map value).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#swapTableReferences(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,java.util.Map)">swapTableReferences</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node,
java.util.Map&lt;<a href="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,&#8203;<a href="../RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>&gt;&nbsp;tableMapping)</code></th>
<td class="colLast">
<div class="block">Given an expression, it will swap the table references contained in its
<a href="../RexTableInputRef.html" title="class in org.apache.calcite.rex"><code>RexTableInputRef</code></a> using the contents in the map.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexSimplify.CaseBranch.</span><code><span class="memberNameLink"><a href="../RexSimplify.CaseBranch.html#toCaseOperands(org.apache.calcite.rex.RexBuilder,java.util.List)">toCaseOperands</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../RexSimplify.CaseBranch.html" title="class in org.apache.calcite.rex">RexSimplify.CaseBranch</a>&gt;&nbsp;branches)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#toCnf(org.apache.calcite.rex.RexBuilder,int,org.apache.calcite.rex.RexNode)">toCnf</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
int&nbsp;maxCnfNodeCount,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;rex)</code></th>
<td class="colLast">
<div class="block">Similar to <a href="../RexUtil.html#toCnf(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)"><code>RexUtil.toCnf(RexBuilder, RexNode)</code></a>; however, it lets you
specify a threshold in the number of nodes that can be created out of
the conversion.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#toCnf(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)">toCnf</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;rex)</code></th>
<td class="colLast">
<div class="block">Converts an expression to conjunctive normal form (CNF).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RexUtil.</span><code><span class="memberNameLink"><a href="../RexUtil.html#toDnf(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)">toDnf</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;rex)</code></th>
<td class="colLast">
<div class="block">Converts an expression to disjunctive normal form (DNF).</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../package-summary.html">org.apache.calcite.rex</a> with parameters of type <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexUtil.CnfHelper.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,int)">CnfHelper</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
int&nbsp;maxNodeCount)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../RexUtil.DnfHelper.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder)">DnfHelper</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../RexUtil.FixNullabilityShuttle.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,java.util.List)">FixNullabilityShuttle</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
java.util.List&lt;<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;typeList)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../RexCopier.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder)">RexCopier</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;builder)</code></th>
<td class="colLast">
<div class="block">Creates a RexCopier.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../RexProgramBuilder.html#%3Cinit%3E(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rex.RexBuilder)">RexProgramBuilder</a></span>&#8203;(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputRowType,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">
<div class="block">Creates a program-builder that will not simplify.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../RexProgramBuilder.html#%3Cinit%3E(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexSimplify)">RexProgramBuilder</a></span>&#8203;(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputRowType,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&nbsp;simplify)</code></th>
<td class="colLast">
<div class="block">Creates a program-builder.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../RexProgramBuilder.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.type.RelDataType,java.util.List,java.lang.Iterable,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType,boolean,org.apache.calcite.rex.RexSimplify)">RexProgramBuilder</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputRowType,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;exprList,
java.lang.Iterable&lt;? extends <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projectList,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;outputRowType,
boolean&nbsp;normalize,
<a href="../RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&nbsp;simplify)</code></th>
<td class="colLast">
<div class="block">Creates a program builder with the same contents as a program.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../RexSimplify.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,boolean,org.apache.calcite.rex.RexExecutor)">RexSimplify</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
boolean&nbsp;unknownAsFalse,
<a href="../RexExecutor.html" title="interface in org.apache.calcite.rex">RexExecutor</a>&nbsp;executor)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../RexSimplify.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,org.apache.calcite.plan.RelOptPredicateList,boolean,org.apache.calcite.rex.RexExecutor)">RexSimplify</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a>&nbsp;predicates,
boolean&nbsp;unknownAsFalse,
<a href="../RexExecutor.html" title="interface in org.apache.calcite.rex">RexExecutor</a>&nbsp;executor)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../RexSimplify.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,org.apache.calcite.plan.RelOptPredicateList,org.apache.calcite.rex.RexExecutor)">RexSimplify</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a>&nbsp;predicates,
<a href="../RexExecutor.html" title="interface in org.apache.calcite.rex">RexExecutor</a>&nbsp;executor)</code></th>
<td class="colLast">
<div class="block">Creates a RexSimplify.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../RexSimplify.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,org.apache.calcite.plan.RelOptPredicateList,org.apache.calcite.rex.RexUnknownAs,boolean,boolean,org.apache.calcite.rex.RexExecutor)">RexSimplify</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a>&nbsp;predicates,
<a href="../RexUnknownAs.html" title="enum in org.apache.calcite.rex">RexUnknownAs</a>&nbsp;defaultUnknownAs,
boolean&nbsp;predicateElimination,
boolean&nbsp;paranoid,
<a href="../RexExecutor.html" title="interface in org.apache.calcite.rex">RexExecutor</a>&nbsp;executor)</code></th>
<td class="colLast">
<div class="block">Internal constructor.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../RexTransformer.html#%3Cinit%3E(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexBuilder)">RexTransformer</a></span>&#8203;(<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;root,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.schema">
<!-- -->
</a>
<h3>Uses of <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> in <a href="../../schema/package-summary.html">org.apache.calcite.schema</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../schema/package-summary.html">org.apache.calcite.schema</a> with parameters of type <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ModifiableView.</span><code><span class="memberNameLink"><a href="../../schema/ModifiableView.html#getConstraint(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.type.RelDataType)">getConstraint</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;tableRowType)</code></th>
<td class="colLast">
<div class="block">Returns a constraint that each candidate row must satisfy.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.schema.impl">
<!-- -->
</a>
<h3>Uses of <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> in <a href="../../schema/impl/package-summary.html">org.apache.calcite.schema.impl</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../schema/impl/package-summary.html">org.apache.calcite.schema.impl</a> with parameters of type <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ModifiableViewTable.</span><code><span class="memberNameLink"><a href="../../schema/impl/ModifiableViewTable.html#getConstraint(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.type.RelDataType)">getConstraint</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;tableRowType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.sql">
<!-- -->
</a>
<h3>Uses of <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> in <a href="../../sql/package-summary.html">org.apache.calcite.sql</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../sql/package-summary.html">org.apache.calcite.sql</a> with parameters of type <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlSplittableAggFunction.AbstractSumSplitter.</span><code><span class="memberNameLink"><a href="../../sql/SqlSplittableAggFunction.AbstractSumSplitter.html#singleton(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.core.AggregateCall)">singleton</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputRowType,
<a href="../../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&nbsp;aggregateCall)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlSplittableAggFunction.CountSplitter.</span><code><span class="memberNameLink"><a href="../../sql/SqlSplittableAggFunction.CountSplitter.html#singleton(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.core.AggregateCall)">singleton</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputRowType,
<a href="../../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&nbsp;aggregateCall)</code></th>
<td class="colLast">
<div class="block">Generates an expression for the value of the aggregate function when
applied to a single row.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlSplittableAggFunction.SelfSplitter.</span><code><span class="memberNameLink"><a href="../../sql/SqlSplittableAggFunction.SelfSplitter.html#singleton(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.core.AggregateCall)">singleton</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputRowType,
<a href="../../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&nbsp;aggregateCall)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlSplittableAggFunction.</span><code><span class="memberNameLink"><a href="../../sql/SqlSplittableAggFunction.html#singleton(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.core.AggregateCall)">singleton</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputRowType,
<a href="../../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&nbsp;aggregateCall)</code></th>
<td class="colLast">
<div class="block">Generates an expression for the value of the aggregate function when
applied to a single row.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlSplittableAggFunction.Sum0Splitter.</span><code><span class="memberNameLink"><a href="../../sql/SqlSplittableAggFunction.Sum0Splitter.html#singleton(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.core.AggregateCall)">singleton</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputRowType,
<a href="../../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&nbsp;aggregateCall)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><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">SqlSplittableAggFunction.AbstractSumSplitter.</span><code><span class="memberNameLink"><a href="../../sql/SqlSplittableAggFunction.AbstractSumSplitter.html#topSplit(org.apache.calcite.rex.RexBuilder,org.apache.calcite.sql.SqlSplittableAggFunction.Registry,int,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.core.AggregateCall,int,int)">topSplit</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../sql/SqlSplittableAggFunction.Registry.html" title="interface in org.apache.calcite.sql">SqlSplittableAggFunction.Registry</a>&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;extra,
int&nbsp;offset,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputRowType,
<a href="../../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&nbsp;aggregateCall,
int&nbsp;leftSubTotal,
int&nbsp;rightSubTotal)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><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">SqlSplittableAggFunction.CountSplitter.</span><code><span class="memberNameLink"><a href="../../sql/SqlSplittableAggFunction.CountSplitter.html#topSplit(org.apache.calcite.rex.RexBuilder,org.apache.calcite.sql.SqlSplittableAggFunction.Registry,int,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.core.AggregateCall,int,int)">topSplit</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../sql/SqlSplittableAggFunction.Registry.html" title="interface in org.apache.calcite.sql">SqlSplittableAggFunction.Registry</a>&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;extra,
int&nbsp;offset,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputRowType,
<a href="../../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&nbsp;aggregateCall,
int&nbsp;leftSubTotal,
int&nbsp;rightSubTotal)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><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">SqlSplittableAggFunction.SelfSplitter.</span><code><span class="memberNameLink"><a href="../../sql/SqlSplittableAggFunction.SelfSplitter.html#topSplit(org.apache.calcite.rex.RexBuilder,org.apache.calcite.sql.SqlSplittableAggFunction.Registry,int,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.core.AggregateCall,int,int)">topSplit</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../sql/SqlSplittableAggFunction.Registry.html" title="interface in org.apache.calcite.sql">SqlSplittableAggFunction.Registry</a>&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;extra,
int&nbsp;offset,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputRowType,
<a href="../../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&nbsp;aggregateCall,
int&nbsp;leftSubTotal,
int&nbsp;rightSubTotal)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><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">SqlSplittableAggFunction.</span><code><span class="memberNameLink"><a href="../../sql/SqlSplittableAggFunction.html#topSplit(org.apache.calcite.rex.RexBuilder,org.apache.calcite.sql.SqlSplittableAggFunction.Registry,int,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.core.AggregateCall,int,int)">topSplit</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../sql/SqlSplittableAggFunction.Registry.html" title="interface in org.apache.calcite.sql">SqlSplittableAggFunction.Registry</a>&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;extra,
int&nbsp;offset,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputRowType,
<a href="../../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&nbsp;aggregateCall,
int&nbsp;leftSubTotal,
int&nbsp;rightSubTotal)</code></th>
<td class="colLast">
<div class="block">Generates an aggregate call to merge sub-totals.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.sql2rel">
<!-- -->
</a>
<h3>Uses of <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DeduplicateCorrelateVariables.DeduplicateCorrelateVariablesShuttle.</span><code><span class="memberNameLink"><a href="../../sql2rel/DeduplicateCorrelateVariables.DeduplicateCorrelateVariablesShuttle.html#builder">builder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.RexAccessShuttle.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.RexAccessShuttle.html#builder">builder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.RemoveCorrelationRexShuttle.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.RemoveCorrelationRexShuttle.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelStructuredTypeFlattener.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelStructuredTypeFlattener.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a> that return <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">InitializerContext.</span><code><span class="memberNameLink"><a href="../../sql2rel/InitializerContext.html#getRexBuilder()">getRexBuilder</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlRexContext.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlRexContext.html#getRexBuilder()">getRexBuilder</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the <a href="../RexBuilder.html" title="class in org.apache.calcite.rex"><code>RexBuilder</code></a> to use to create <a href="../RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a> objects.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.Blackboard.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.Blackboard.html#getRexBuilder()">getRexBuilder</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#getRexBuilder()">getRexBuilder</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the row-expression builder.</div>
</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StandardConvertletTable.</span><code><span class="memberNameLink"><a href="../../sql2rel/StandardConvertletTable.html#and(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">and</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;a0,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;a1)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StandardConvertletTable.</span><code><span class="memberNameLink"><a href="../../sql2rel/StandardConvertletTable.html#case_(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode...)">case_</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;args)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StandardConvertletTable.</span><code><span class="memberNameLink"><a href="../../sql2rel/StandardConvertletTable.html#castToValidatedType(org.apache.calcite.sql.SqlNode,org.apache.calcite.rex.RexNode,org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.rex.RexBuilder)">castToValidatedType</a></span>&#8203;(<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;e,
<a href="../../sql/validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a>&nbsp;validator,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder)</code></th>
<td class="colLast">
<div class="block">Casts a RexNode value to the validated type of a SqlCall.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuxiliaryConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/AuxiliaryConverter.html#convert(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">convert</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;groupCall,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;e)</code></th>
<td class="colLast">
<div class="block">Converts an expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuxiliaryConverter.Impl.</span><code><span class="memberNameLink"><a href="../../sql2rel/AuxiliaryConverter.Impl.html#convert(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">convert</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;groupCall,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;e)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StandardConvertletTable.</span><code><span class="memberNameLink"><a href="../../sql2rel/StandardConvertletTable.html#divide(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,java.math.BigDecimal)">divide</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;res,
java.math.BigDecimal&nbsp;val)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StandardConvertletTable.</span><code><span class="memberNameLink"><a href="../../sql2rel/StandardConvertletTable.html#divideInt(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">divideInt</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;a0,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;a1)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StandardConvertletTable.</span><code><span class="memberNameLink"><a href="../../sql2rel/StandardConvertletTable.html#eq(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">eq</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;a0,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;a1)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelStructuredTypeFlattener.RewriteRexShuttle.</span><code><span class="memberNameLink"><a href="../../sql2rel/RelStructuredTypeFlattener.RewriteRexShuttle.html#flattenComparison(org.apache.calcite.rex.RexBuilder,org.apache.calcite.sql.SqlOperator,java.util.List)">flattenComparison</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&nbsp;op,
java.util.List&lt;<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;exprs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StandardConvertletTable.</span><code><span class="memberNameLink"><a href="../../sql2rel/StandardConvertletTable.html#ge(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">ge</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;a0,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;a1)</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">DeduplicateCorrelateVariables.</span><code><span class="memberNameLink"><a href="../../sql2rel/DeduplicateCorrelateVariables.html#go(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.core.CorrelationId,java.lang.Iterable,org.apache.calcite.rel.RelNode)">go</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;builder,
<a href="../../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;canonicalId,
java.lang.Iterable&lt;? extends <a href="../../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;alternateIds,
<a href="../../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r)</code></th>
<td class="colLast">
<div class="block">Rewrites a relational expression, replacing alternate correlation variables
with a canonical correlation variable.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StandardConvertletTable.</span><code><span class="memberNameLink"><a href="../../sql2rel/StandardConvertletTable.html#le(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">le</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;a0,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;a1)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StandardConvertletTable.</span><code><span class="memberNameLink"><a href="../../sql2rel/StandardConvertletTable.html#minus(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">minus</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;a0,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;a1)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StandardConvertletTable.</span><code><span class="memberNameLink"><a href="../../sql2rel/StandardConvertletTable.html#mod(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rex.RexNode,java.math.BigDecimal)">mod</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;resType,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;res,
java.math.BigDecimal&nbsp;val)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StandardConvertletTable.</span><code><span class="memberNameLink"><a href="../../sql2rel/StandardConvertletTable.html#multiply(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">multiply</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;a0,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;a1)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StandardConvertletTable.</span><code><span class="memberNameLink"><a href="../../sql2rel/StandardConvertletTable.html#or(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">or</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;a0,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;a1)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">StandardConvertletTable.</span><code><span class="memberNameLink"><a href="../../sql2rel/StandardConvertletTable.html#plus(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">plus</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;a0,
<a href="../RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;a1)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a> with parameters of type <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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/DeduplicateCorrelateVariables.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.core.CorrelationId,com.google.common.collect.ImmutableSet)">DeduplicateCorrelateVariables</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;builder,
<a href="../../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;canonicalId,
com.google.common.collect.ImmutableSet&lt;<a href="../../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;alternateIds)</code></th>
<td class="colLast">
<div class="block">Creates a DeduplicateCorrelateVariables.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../sql2rel/DeduplicateCorrelateVariables.DeduplicateCorrelateVariablesShuttle.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.core.CorrelationId,com.google.common.collect.ImmutableSet,org.apache.calcite.sql2rel.DeduplicateCorrelateVariables)">DeduplicateCorrelateVariablesShuttle</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;builder,
<a href="../../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;canonicalId,
com.google.common.collect.ImmutableSet&lt;<a href="../../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;alternateIds,
<a href="../../sql2rel/DeduplicateCorrelateVariables.html" title="class in org.apache.calcite.sql2rel">DeduplicateCorrelateVariables</a>&nbsp;shuttle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../sql2rel/RelStructuredTypeFlattener.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,org.apache.calcite.plan.RelOptTable.ToRelContext,boolean)">RelStructuredTypeFlattener</a></span>&#8203;(<a href="../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">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../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="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
<a href="../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>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../sql2rel/RelDecorrelator.RemoveCorrelationRexShuttle.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,boolean,org.apache.calcite.rex.RexInputRef,java.util.Set)">RemoveCorrelationRexShuttle</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
boolean&nbsp;projectPulledAboveLeftCorrelator,
<a href="../RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a>&nbsp;nullIndicator,
java.util.Set&lt;java.lang.Integer&gt;&nbsp;isCount)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.RexAccessShuttle.html#%3Cinit%3E(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexCorrelVariable)">RexAccessShuttle</a></span>&#8203;(<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;builder,
<a href="../RexCorrelVariable.html" title="class in org.apache.calcite.rex">RexCorrelVariable</a>&nbsp;rexCorrel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#%3Cinit%3E(org.apache.calcite.plan.RelOptTable.ViewExpander,org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.prepare.Prepare.CatalogReader,org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rex.RexBuilder,org.apache.calcite.sql2rel.SqlRexConvertletTable)">SqlToRelConverter</a></span>&#8203;(<a href="../../plan/RelOptTable.ViewExpander.html" title="interface in org.apache.calcite.plan">RelOptTable.ViewExpander</a>&nbsp;viewExpander,
<a href="../../sql/validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a>&nbsp;validator,
<a href="../../prepare/Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a>&nbsp;catalogReader,
<a href="../../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a>&nbsp;rexBuilder,
<a href="../../sql2rel/SqlRexConvertletTable.html" title="interface in org.apache.calcite.sql2rel">SqlRexConvertletTable</a>&nbsp;convertletTable)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.tools">
<!-- -->
</a>
<h3>Uses of <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> in <a href="../../tools/package-summary.html">org.apache.calcite.tools</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../tools/package-summary.html">org.apache.calcite.tools</a> that return <a href="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</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="../RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelBuilder.</span><code><span class="memberNameLink"><a href="../../tools/RelBuilder.html#getRexBuilder()">getRexBuilder</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the builder for <a href="../RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a> expressions.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
</ul>
</li>
</ul>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../RexBuilder.html" title="class in org.apache.calcite.rex">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>