blob: 5aa345de547fba30fd622d8e573bf50ffbc79acc [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>RelBuilder (Apache Calcite API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.calcite.tools, class: RelBuilder">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<div class="about-language"><b>Apache Calcite</b></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</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#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li><a href="#nested-class-summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.tools</a></div>
<h1 title="Class RelBuilder" class="title">Class RelBuilder</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">org.apache.calcite.tools.RelBuilder</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="../piglet/PigRelBuilder.html" title="class in org.apache.calcite.piglet">PigRelBuilder</a></code>, <code><a href="PigRelBuilder.html" title="class in org.apache.calcite.tools">PigRelBuilder</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="annotations">@Enclosing
</span><span class="modifiers">public class </span><span class="element-name type-name-label">RelBuilder</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
<div class="block">Builder for relational expressions.
<p><code>RelBuilder</code> does not make possible anything that you could not
also accomplish by calling the factory methods of the particular relational
expression. But it makes common tasks more straightforward and concise.
<p><code>RelBuilder</code> uses factories to create relational expressions.
By default, it uses the default factories, which create logical relational
expressions (<a href="../rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical"><code>LogicalFilter</code></a>,
<a href="../rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a> and so forth).
But you could override those factories so that, say, <code>filter</code> creates
instead a <code>HiveFilter</code>.
<p>It is not thread-safe.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="caption"><span>Nested Classes</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static interface&nbsp;</code></div>
<div class="col-second even-row-color"><code><a href="RelBuilder.AggCall.html" class="type-name-link" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-last even-row-color">
<div class="block">Information necessary to create a call to an aggregate function.</div>
</div>
<div class="col-first odd-row-color"><code>static interface&nbsp;</code></div>
<div class="col-second odd-row-color"><code><a href="RelBuilder.Config.html" class="type-name-link" title="interface in org.apache.calcite.tools">RelBuilder.Config</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Configuration of RelBuilder.</div>
</div>
<div class="col-first even-row-color"><code>static interface&nbsp;</code></div>
<div class="col-second even-row-color"><code><a href="RelBuilder.GroupKey.html" class="type-name-link" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></code></div>
<div class="col-last even-row-color">
<div class="block">Information necessary to create the GROUP BY clause of an Aggregate.</div>
</div>
<div class="col-first odd-row-color"><code>static interface&nbsp;</code></div>
<div class="col-second odd-row-color"><code><a href="RelBuilder.OverCall.html" class="type-name-link" title="interface in org.apache.calcite.tools">RelBuilder.OverCall</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Call to a windowed aggregate function.</div>
</div>
</div>
</section>
</li>
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>protected final <a href="../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a></code></div>
<div class="col-second even-row-color"><code><a href="#cluster" class="member-name-link">cluster</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>protected final @Nullable <a href="../plan/RelOptSchema.html" title="interface in org.apache.calcite.plan">RelOptSchema</a></code></div>
<div class="col-second odd-row-color"><code><a href="#relOptSchema" class="member-name-link">relOptSchema</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier</div>
<div class="table-header col-second">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>protected </code></div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.calcite.plan.Context,org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptSchema)" class="member-name-link">RelBuilder</a><wbr>(@Nullable <a href="../plan/Context.html" title="interface in org.apache.calcite.plan">Context</a>&nbsp;context,
<a href="../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
@Nullable <a href="../plan/RelOptSchema.html" title="interface in org.apache.calcite.plan">RelOptSchema</a>&nbsp;relOptSchema)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button><button id="method-summary-table-tab6" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab6', 3)" class="table-tab">Deprecated Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#adoptConvention(org.apache.calcite.plan.Convention)" class="member-name-link">adoptConvention</a><wbr>(<a href="../plan/Convention.html" title="interface in org.apache.calcite.plan">Convention</a>&nbsp;convention)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns new RelBuilder that adopts the convention provided.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#aggregate(org.apache.calcite.tools.RelBuilder.GroupKey,java.lang.Iterable)" class="member-name-link">aggregate</a><wbr>(<a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a>&nbsp;groupKey,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a>&gt;&nbsp;aggCalls)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an <a href="../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> with multiple calls.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#aggregate(org.apache.calcite.tools.RelBuilder.GroupKey,java.util.List)" class="member-name-link">aggregate</a><wbr>(<a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a>&nbsp;groupKey,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggregateCalls)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an <a href="../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> with an array of
<a href="../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core"><code>AggregateCall</code></a>s.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#aggregate(org.apache.calcite.tools.RelBuilder.GroupKey,org.apache.calcite.tools.RelBuilder.AggCall...)" class="member-name-link">aggregate</a><wbr>(<a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a>&nbsp;groupKey,
<a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a>...&nbsp;aggCalls)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an <a href="../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> with an array of
calls.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#aggregateCall(org.apache.calcite.rel.core.AggregateCall)" class="member-name-link">aggregateCall</a><wbr>(<a href="../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&nbsp;a)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to an aggregate function as a copy of an
<a href="../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core"><code>AggregateCall</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#aggregateCall(org.apache.calcite.rel.core.AggregateCall,org.apache.calcite.util.mapping.Mapping)" class="member-name-link">aggregateCall</a><wbr>(<a href="../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&nbsp;a,
<a href="../util/mapping/Mapping.html" title="interface in org.apache.calcite.util.mapping">Mapping</a>&nbsp;mapping)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to an aggregate function as a copy of an
<a href="../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core"><code>AggregateCall</code></a>, applying a mapping.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#aggregateCall(org.apache.calcite.sql.SqlAggFunction,boolean,boolean,boolean,org.apache.calcite.rex.RexNode,com.google.common.collect.ImmutableList,com.google.common.collect.ImmutableList,java.lang.String,com.google.common.collect.ImmutableList)" class="member-name-link">aggregateCall</a><wbr>(<a href="../sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a>&nbsp;aggFunction,
boolean&nbsp;distinct,
boolean&nbsp;approximate,
boolean&nbsp;ignoreNulls,
@Nullable <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;filter,
@Nullable com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;distinctKeys,
com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;orderKeys,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to an aggregate function with all applicable operands.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#aggregateCall(org.apache.calcite.sql.SqlAggFunction,boolean,boolean,org.apache.calcite.rex.RexNode,java.lang.String,java.lang.Iterable)" class="member-name-link">aggregateCall</a><wbr>(<a href="../sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a>&nbsp;aggFunction,
boolean&nbsp;distinct,
boolean&nbsp;approximate,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;filter,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#aggregateCall(org.apache.calcite.sql.SqlAggFunction,boolean,boolean,org.apache.calcite.rex.RexNode,java.lang.String,org.apache.calcite.rex.RexNode...)" class="member-name-link">aggregateCall</a><wbr>(<a href="../sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a>&nbsp;aggFunction,
boolean&nbsp;distinct,
boolean&nbsp;approximate,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;filter,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#aggregateCall(org.apache.calcite.sql.SqlAggFunction,boolean,org.apache.calcite.rex.RexNode,java.lang.String,java.lang.Iterable)" class="member-name-link">aggregateCall</a><wbr>(<a href="../sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a>&nbsp;aggFunction,
boolean&nbsp;distinct,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;filter,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#aggregateCall(org.apache.calcite.sql.SqlAggFunction,boolean,org.apache.calcite.rex.RexNode,java.lang.String,org.apache.calcite.rex.RexNode...)" class="member-name-link">aggregateCall</a><wbr>(<a href="../sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a>&nbsp;aggFunction,
boolean&nbsp;distinct,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;filter,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#aggregateCall(org.apache.calcite.sql.SqlAggFunction,java.lang.Iterable)" class="member-name-link">aggregateCall</a><wbr>(<a href="../sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a>&nbsp;aggFunction,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to an aggregate function.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#aggregateCall(org.apache.calcite.sql.SqlAggFunction,org.apache.calcite.rex.RexNode...)" class="member-name-link">aggregateCall</a><wbr>(<a href="../sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a>&nbsp;aggFunction,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to an aggregate function.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#alias(org.apache.calcite.rex.RexNode,java.lang.String)" class="member-name-link">alias</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;expr,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns an expression wrapped in an alias.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#all(org.apache.calcite.rex.RexNode,org.apache.calcite.sql.SqlOperator,java.util.function.Function)" class="member-name-link">all</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node,
<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&nbsp;op,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;f)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an ALL predicate.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#and(java.lang.Iterable)" class="member-name-link">and</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an AND.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#and(org.apache.calcite.rex.RexNode...)" class="member-name-link">and</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an AND.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#antiJoin(java.lang.Iterable)" class="member-name-link">antiJoin</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;conditions)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an anti-join.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#antiJoin(org.apache.calcite.rex.RexNode...)" class="member-name-link">antiJoin</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;conditions)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an anti-join.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#arrayQuery(java.util.function.Function)" class="member-name-link">arrayQuery</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;f)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an ARRAY sub-query.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#as(java.lang.String)" class="member-name-link">as</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Assigns a table alias to the top entry on the stack.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#avg(boolean,java.lang.String,org.apache.calcite.rex.RexNode)" class="member-name-link">avg</a><wbr>(boolean&nbsp;distinct,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to the <code>AVG</code> aggregate function,
optionally distinct and with an alias.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#avg(org.apache.calcite.rex.RexNode)" class="member-name-link">avg</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to the <code>AVG</code> aggregate function.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#between(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)" class="member-name-link">between</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;arg,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;lower,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;upper)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <code>BETWEEN</code>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#build()" class="member-name-link">build</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the final relational expression.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#call(org.apache.calcite.sql.SqlOperator,java.lang.Iterable)" class="member-name-link">call</a><wbr>(<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&nbsp;operator,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to a scalar operator.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#call(org.apache.calcite.sql.SqlOperator,org.apache.calcite.rex.RexNode...)" class="member-name-link">call</a><wbr>(<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&nbsp;operator,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to a scalar operator.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#cast(org.apache.calcite.rex.RexNode,org.apache.calcite.sql.type.SqlTypeName)" class="member-name-link">cast</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;expr,
<a href="../sql/type/SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a>&nbsp;typeName)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an expression that casts an expression to a given type.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#cast(org.apache.calcite.rex.RexNode,org.apache.calcite.sql.type.SqlTypeName,int)" class="member-name-link">cast</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;expr,
<a href="../sql/type/SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a>&nbsp;typeName,
int&nbsp;precision)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an expression that casts an expression to a type with a given name
and precision or length.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#cast(org.apache.calcite.rex.RexNode,org.apache.calcite.sql.type.SqlTypeName,int,int)" class="member-name-link">cast</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;expr,
<a href="../sql/type/SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a>&nbsp;typeName,
int&nbsp;precision,
int&nbsp;scale)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an expression that casts an expression to a type with a given
name, precision and scale.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#clear()" class="member-name-link">clear</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Clears the stack.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#convert(org.apache.calcite.rel.type.RelDataType,boolean)" class="member-name-link">convert</a><wbr>(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;castRowType,
boolean&nbsp;rename)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a projection that converts the current relational expression's
output to a desired row type.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#correlate(org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rel.core.CorrelationId,java.lang.Iterable)" class="member-name-link">correlate</a><wbr>(<a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlationId,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;requiredFields)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Correlate.html" title="class in org.apache.calcite.rel.core"><code>Correlate</code></a>
with a <a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core"><code>CorrelationId</code></a> and a list of fields that are used by correlation.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#correlate(org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.rex.RexNode...)" class="member-name-link">correlate</a><wbr>(<a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlationId,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;requiredFields)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Correlate.html" title="class in org.apache.calcite.rel.core"><code>Correlate</code></a>
with a <a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core"><code>CorrelationId</code></a> and an array of fields that are used by correlation.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#count(boolean,java.lang.String,java.lang.Iterable)" class="member-name-link">count</a><wbr>(boolean&nbsp;distinct,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to the <code>COUNT</code> aggregate function,
optionally distinct and with an alias.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#count(boolean,java.lang.String,org.apache.calcite.rex.RexNode...)" class="member-name-link">count</a><wbr>(boolean&nbsp;distinct,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to the <code>COUNT</code> aggregate function,
optionally distinct and with an alias.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#count(java.lang.Iterable)" class="member-name-link">count</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to the <code>COUNT</code> aggregate function.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#count(org.apache.calcite.rex.RexNode...)" class="member-name-link">count</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to the <code>COUNT</code> aggregate function.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#countStar(java.lang.String)" class="member-name-link">countStar</a><wbr>(@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to the <code>COUNT(*)</code> aggregate function.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#create(org.apache.calcite.tools.FrameworkConfig)" class="member-name-link">create</a><wbr>(<a href="FrameworkConfig.html" title="interface in org.apache.calcite.tools">FrameworkConfig</a>&nbsp;config)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Creates a RelBuilder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexWindowBound.html" title="class in org.apache.calcite.rex">RexWindowBound</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#currentRow()" class="member-name-link">currentRow</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <code>CURRENT ROW</code> window bound,
for use in methods such as <a href="RelBuilder.OverCall.html#rowsFrom(org.apache.calcite.rex.RexWindowBound)"><code>RelBuilder.OverCall.rowsFrom(RexWindowBound)</code></a>
and <a href="RelBuilder.OverCall.html#rangeBetween(org.apache.calcite.rex.RexWindowBound,org.apache.calcite.rex.RexWindowBound)"><code>RelBuilder.OverCall.rangeBetween(RexWindowBound, RexWindowBound)</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#cursor(int,int)" class="member-name-link">cursor</a><wbr>(int&nbsp;inputCount,
int&nbsp;ordinal)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a RexCall to the <code>CURSOR</code> function by ordinal.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#desc(org.apache.calcite.rex.RexNode)" class="member-name-link">desc</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Converts a sort expression to descending.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#distinct()" class="member-name-link">distinct</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an <a href="../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> that makes the
relational expression distinct on all fields.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#dot(org.apache.calcite.rex.RexNode,int)" class="member-name-link">dot</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node,
int&nbsp;fieldOrdinal)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an access to a field by ordinal.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#dot(org.apache.calcite.rex.RexNode,java.lang.String)" class="member-name-link">dot</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fieldName)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an access to a field by name.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#empty()" class="member-name-link">empty</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a relational expression that reads from an input and throws
all of the rows away.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#equals(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)" class="member-name-link">equals</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand0,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand1)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an <code>=</code>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#exchange(org.apache.calcite.rel.RelDistribution)" class="member-name-link">exchange</a><wbr>(<a href="../rel/RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;distribution)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an Exchange by distribution.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#exists(java.util.function.Function)" class="member-name-link">exists</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;f)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an EXISTS predicate.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#field(int)" class="member-name-link">field</a><wbr>(int&nbsp;fieldOrdinal)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a reference to an input field by ordinal.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#field(int,int,int)" class="member-name-link">field</a><wbr>(int&nbsp;inputCount,
int&nbsp;inputOrdinal,
int&nbsp;fieldOrdinal)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a reference to a field of a given input relational expression
by ordinal.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#field(int,int,java.lang.String)" class="member-name-link">field</a><wbr>(int&nbsp;inputCount,
int&nbsp;inputOrdinal,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fieldName)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a reference to a field of given input relational expression
by name.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#field(int,java.lang.String,java.lang.String)" class="member-name-link">field</a><wbr>(int&nbsp;inputCount,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fieldName)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a reference to a field which originated in a relation with the
given alias.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#field(java.lang.String)" class="member-name-link">field</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fieldName)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a reference to a field by name.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#field(java.lang.String,java.lang.String)" class="member-name-link">field</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fieldName)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a reference to a field of the current record which originated
in a relation with a given alias.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#field(org.apache.calcite.rex.RexNode,java.lang.String)" class="member-name-link">field</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;e,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a reference to a given field of a record-valued expression.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#fields()" class="member-name-link">fields</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns references to the fields of the top input.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#fields(int,int)" class="member-name-link">fields</a><wbr>(int&nbsp;inputCount,
int&nbsp;inputOrdinal)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns references to the fields of a given input.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#fields(java.lang.Iterable)" class="member-name-link">fields</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;fieldNames)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns references to fields identified by name.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#fields(java.util.List)" class="member-name-link">fields</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Number.html" title="class or interface in java.lang" class="external-link">Number</a>&gt;&nbsp;ordinals)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns references to fields for a given list of input ordinals.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#fields(org.apache.calcite.rel.RelCollation)" class="member-name-link">fields</a><wbr>(<a href="../rel/RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns references to fields for a given collation.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#fields(org.apache.calcite.util.ImmutableBitSet)" class="member-name-link">fields</a><wbr>(<a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;ordinals)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns references to fields for a given bit set of input ordinals.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#fields(org.apache.calcite.util.mapping.Mappings.TargetMapping)" class="member-name-link">fields</a><wbr>(<a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a>&nbsp;mapping)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns references to fields identified by a mapping.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#filter(java.lang.Iterable)" class="member-name-link">filter</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;predicates)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> of a list of
predicates.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#filter(java.lang.Iterable,java.lang.Iterable)" class="member-name-link">filter</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;predicates)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> of a list of correlation variables
and a list of predicates.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#filter(java.lang.Iterable,org.apache.calcite.rex.RexNode...)" class="member-name-link">filter</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;predicates)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> of a list of correlation variables
and an array of predicates.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#filter(org.apache.calcite.rex.RexNode...)" class="member-name-link">filter</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;predicates)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> of an array of
predicates.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexWindowBound.html" title="class in org.apache.calcite.rex">RexWindowBound</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#following(org.apache.calcite.rex.RexNode)" class="member-name-link">following</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;bound)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <code>bound FOLLOWING</code> window bound,
for use in methods such as <a href="RelBuilder.OverCall.html#rowsFrom(org.apache.calcite.rex.RexWindowBound)"><code>RelBuilder.OverCall.rowsFrom(RexWindowBound)</code></a>
and <a href="RelBuilder.OverCall.html#rangeBetween(org.apache.calcite.rex.RexWindowBound,org.apache.calcite.rex.RexWindowBound)"><code>RelBuilder.OverCall.rangeBetween(RexWindowBound, RexWindowBound)</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#functionScan(org.apache.calcite.sql.SqlOperator,int,java.lang.Iterable)" class="member-name-link">functionScan</a><wbr>(<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&nbsp;operator,
int&nbsp;inputCount,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/TableFunctionScan.html" title="class in org.apache.calcite.rel.core"><code>TableFunctionScan</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#functionScan(org.apache.calcite.sql.SqlOperator,int,org.apache.calcite.rex.RexNode...)" class="member-name-link">functionScan</a><wbr>(<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&nbsp;operator,
int&nbsp;inputCount,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/TableFunctionScan.html" title="class in org.apache.calcite.rel.core"><code>TableFunctionScan</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getCluster()" class="member-name-link">getCluster</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>@Nullable <a href="../plan/RelOptSchema.html" title="interface in org.apache.calcite.plan">RelOptSchema</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRelOptSchema()" class="member-name-link">getRelOptSchema</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRexBuilder()" class="member-name-link">getRexBuilder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the builder for <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a> expressions.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rel/core/RelFactories.TableScanFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.TableScanFactory</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getScanFactory()" class="member-name-link">getScanFactory</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getTypeFactory()" class="member-name-link">getTypeFactory</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the type factory.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#greaterThan(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)" class="member-name-link">greaterThan</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand0,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand1)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <code>&gt;</code>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#greaterThanOrEqual(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)" class="member-name-link">greaterThanOrEqual</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand0,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand1)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <code>&gt;=</code>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#groupKey()" class="member-name-link">groupKey</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an empty group key.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#groupKey(int...)" class="member-name-link">groupKey</a><wbr>(int...&nbsp;fieldOrdinals)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a group key of fields identified by ordinal.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#groupKey(java.lang.Iterable)" class="member-name-link">groupKey</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a group key.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#groupKey(java.lang.Iterable,boolean,java.lang.Iterable)" class="member-name-link">groupKey</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
boolean&nbsp;indicator,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;&nbsp;nodeLists)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">Now that indicator is deprecated, use
<a href="#groupKey(java.lang.Iterable,java.lang.Iterable)"><code>groupKey(Iterable, Iterable)</code></a>, which has the same behavior as
calling this method with <code>indicator = false</code>.</div>
</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#groupKey(java.lang.Iterable,java.lang.Iterable)" class="member-name-link">groupKey</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;&nbsp;nodeLists)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a group key with grouping sets.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#groupKey(java.lang.String...)" class="member-name-link">groupKey</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>...&nbsp;fieldNames)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a group key of fields identified by name.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#groupKey(org.apache.calcite.rex.RexNode...)" class="member-name-link">groupKey</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;nodes)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a group key.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#groupKey(org.apache.calcite.util.ImmutableBitSet)" class="member-name-link">groupKey</a><wbr>(<a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a group key, identified by field positions
in the underlying relational expression.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#groupKey(org.apache.calcite.util.ImmutableBitSet,boolean,com.google.common.collect.ImmutableList)" class="member-name-link">groupKey</a><wbr>(<a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
boolean&nbsp;indicator,
@Nullable com.google.common.collect.ImmutableList&lt;<a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">Use <a href="#groupKey(org.apache.calcite.util.ImmutableBitSet,java.lang.Iterable)"><code>groupKey(ImmutableBitSet, Iterable)</code></a>.</div>
</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#groupKey(org.apache.calcite.util.ImmutableBitSet,java.lang.Iterable)" class="member-name-link">groupKey</a><wbr>(<a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a group key with grouping sets, both identified by field positions
in the underlying relational expression.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hints(java.lang.Iterable)" class="member-name-link">hints</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="../rel/hint/RelHint.html" title="class in org.apache.calcite.rel.hint">RelHint</a>&gt;&nbsp;hints)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Attaches multiple hints to the stack top relational expression.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hints(org.apache.calcite.rel.hint.RelHint...)" class="member-name-link">hints</a><wbr>(<a href="../rel/hint/RelHint.html" title="class in org.apache.calcite.rel.hint">RelHint</a>...&nbsp;hints)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Attaches an array of hints to the stack top relational expression.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#in(org.apache.calcite.rel.RelNode,java.lang.Iterable)" class="member-name-link">in</a><wbr>(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an IN predicate with a sub-query.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#in(org.apache.calcite.rex.RexNode,java.lang.Iterable)" class="member-name-link">in</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;arg,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;ranges)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an IN predicate with a list of values.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#in(org.apache.calcite.rex.RexNode,java.util.function.Function)" class="member-name-link">in</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;arg,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;f)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an IN predicate with a sub-query.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#in(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode...)" class="member-name-link">in</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;arg,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;ranges)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an IN predicate with a list of values.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#intersect(boolean)" class="member-name-link">intersect</a><wbr>(boolean&nbsp;all)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an <a href="../rel/core/Intersect.html" title="class in org.apache.calcite.rel.core"><code>Intersect</code></a> of the two most
recent relational expressions on the stack.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#intersect(boolean,int)" class="member-name-link">intersect</a><wbr>(boolean&nbsp;all,
int&nbsp;n)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an <a href="../rel/core/Intersect.html" title="class in org.apache.calcite.rel.core"><code>Intersect</code></a> of the <code>n</code>
most recent relational expressions on the stack.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isDistinctFrom(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)" class="member-name-link">isDistinctFrom</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand0,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand1)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an expression equivalent to <code>o0 IS DISTINCT FROM o1</code>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isNotDistinctFrom(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)" class="member-name-link">isNotDistinctFrom</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand0,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand1)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an expression equivalent to "<code>o0 IS NOT DISTINCT FROM o1</code>".</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isNotNull(org.apache.calcite.rex.RexNode)" class="member-name-link">isNotNull</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an <code>IS NOT NULL</code>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isNull(org.apache.calcite.rex.RexNode)" class="member-name-link">isNull</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates ab <code>IS NULL</code>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#join(org.apache.calcite.rel.core.JoinRelType,java.lang.Iterable)" class="member-name-link">join</a><wbr>(<a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;conditions)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> with multiple
conditions.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#join(org.apache.calcite.rel.core.JoinRelType,java.lang.String...)" class="member-name-link">join</a><wbr>(<a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>...&nbsp;fieldNames)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> using USING syntax.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#join(org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rex.RexNode)" class="member-name-link">join</a><wbr>(<a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> with one condition.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#join(org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rex.RexNode,java.util.Set)" class="member-name-link">join</a><wbr>(<a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> with correlating variables.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#join(org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode...)" class="member-name-link">join</a><wbr>(<a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition0,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;conditions)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> with an array of conditions.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#lessThan(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)" class="member-name-link">lessThan</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand0,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand1)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <code>&lt;</code>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#lessThanOrEqual(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)" class="member-name-link">lessThanOrEqual</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand0,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand1)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <code>&lt;=</code>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;R&gt;&nbsp;R</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#let(java.util.function.Function)" class="member-name-link">let</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr>R&gt;&nbsp;consumer)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Performs an action on this RelBuilder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#limit(int,int)" class="member-name-link">limit</a><wbr>(int&nbsp;offset,
int&nbsp;fetch)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a limit without a sort.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#literal(java.lang.Object)" class="member-name-link">literal</a><wbr>(@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a literal (constant expression).</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#mapQuery(java.util.function.Function)" class="member-name-link">mapQuery</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;f)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a MAP sub-query.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)" class="member-name-link">match</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;pattern,
boolean&nbsp;strictStart,
boolean&nbsp;strictEnd,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;patternDefinitions,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;measureList,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;after,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr>? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/SortedSet.html" title="class or interface in java.util" class="external-link">SortedSet</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&gt;&nbsp;subsets,
boolean&nbsp;allRows,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;partitionKeys,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;orderKeys,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;interval)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Match.html" title="class in org.apache.calcite.rel.core"><code>Match</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#max(java.lang.String,org.apache.calcite.rex.RexNode)" class="member-name-link">max</a><wbr>(@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to the <code>MAX</code> aggregate function.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#max(org.apache.calcite.rex.RexNode)" class="member-name-link">max</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to the <code>MAX</code> aggregate function,
optionally with an alias.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#min(java.lang.String,org.apache.calcite.rex.RexNode)" class="member-name-link">min</a><wbr>(@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to the <code>MIN</code> aggregate function,
optionally with an alias.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#min(org.apache.calcite.rex.RexNode)" class="member-name-link">min</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to the <code>MIN</code> aggregate function.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#minus(boolean)" class="member-name-link">minus</a><wbr>(boolean&nbsp;all)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Minus.html" title="class in org.apache.calcite.rel.core"><code>Minus</code></a> of the two most recent
relational expressions on the stack.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#minus(boolean,int)" class="member-name-link">minus</a><wbr>(boolean&nbsp;all,
int&nbsp;n)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Minus.html" title="class in org.apache.calcite.rel.core"><code>Minus</code></a> of the <code>n</code>
most recent relational expressions on the stack.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#multisetQuery(java.util.function.Function)" class="member-name-link">multisetQuery</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;f)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a MULTISET sub-query.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#not(org.apache.calcite.rex.RexNode)" class="member-name-link">not</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a NOT.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#notEquals(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)" class="member-name-link">notEquals</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand0,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand1)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <code>&lt;&gt;</code>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#nullsFirst(org.apache.calcite.rex.RexNode)" class="member-name-link">nullsFirst</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Converts a sort expression to nulls first.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#nullsLast(org.apache.calcite.rex.RexNode)" class="member-name-link">nullsLast</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Converts a sort expression to nulls last.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#or(java.lang.Iterable)" class="member-name-link">or</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an OR.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#or(org.apache.calcite.rex.RexNode...)" class="member-name-link">or</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an OR.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#patternAlter(java.lang.Iterable)" class="member-name-link">patternAlter</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call that creates alternate patterns;
for use in <a href="#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)"><code>match(org.apache.calcite.rex.RexNode, boolean, boolean, java.util.Map&lt;java.lang.String, org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode, java.util.Map&lt;java.lang.String, ? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;, boolean, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode)</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#patternAlter(org.apache.calcite.rex.RexNode...)" class="member-name-link">patternAlter</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;nodes)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call that creates alternate patterns;
for use in <a href="#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)"><code>match(org.apache.calcite.rex.RexNode, boolean, boolean, java.util.Map&lt;java.lang.String, org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode, java.util.Map&lt;java.lang.String, ? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;, boolean, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode)</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#patternConcat(java.lang.Iterable)" class="member-name-link">patternConcat</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call that concatenates patterns;
for use in <a href="#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)"><code>match(org.apache.calcite.rex.RexNode, boolean, boolean, java.util.Map&lt;java.lang.String, org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode, java.util.Map&lt;java.lang.String, ? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;, boolean, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode)</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#patternConcat(org.apache.calcite.rex.RexNode...)" class="member-name-link">patternConcat</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;nodes)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call that concatenates patterns;
for use in <a href="#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)"><code>match(org.apache.calcite.rex.RexNode, boolean, boolean, java.util.Map&lt;java.lang.String, org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode, java.util.Map&lt;java.lang.String, ? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;, boolean, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode)</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#patternExclude(org.apache.calcite.rex.RexNode)" class="member-name-link">patternExclude</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call that creates an exclude pattern;
for use in <a href="#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)"><code>match(org.apache.calcite.rex.RexNode, boolean, boolean, java.util.Map&lt;java.lang.String, org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode, java.util.Map&lt;java.lang.String, ? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;, boolean, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode)</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#patternField(java.lang.String,org.apache.calcite.rel.type.RelDataType,int)" class="member-name-link">patternField</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alpha,
<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type,
int&nbsp;i)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a reference to a given field of the pattern.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#patternPermute(java.lang.Iterable)" class="member-name-link">patternPermute</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call that creates permute patterns;
for use in <a href="#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)"><code>match(org.apache.calcite.rex.RexNode, boolean, boolean, java.util.Map&lt;java.lang.String, org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode, java.util.Map&lt;java.lang.String, ? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;, boolean, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode)</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#patternPermute(org.apache.calcite.rex.RexNode...)" class="member-name-link">patternPermute</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;nodes)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call that creates permute patterns;
for use in <a href="#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)"><code>match(org.apache.calcite.rex.RexNode, boolean, boolean, java.util.Map&lt;java.lang.String, org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode, java.util.Map&lt;java.lang.String, ? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;, boolean, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode)</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#patternQuantify(java.lang.Iterable)" class="member-name-link">patternQuantify</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call that creates quantify patterns;
for use in <a href="#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)"><code>match(org.apache.calcite.rex.RexNode, boolean, boolean, java.util.Map&lt;java.lang.String, org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode, java.util.Map&lt;java.lang.String, ? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;, boolean, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode)</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#patternQuantify(org.apache.calcite.rex.RexNode...)" class="member-name-link">patternQuantify</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;nodes)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call that creates quantify patterns;
for use in <a href="#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)"><code>match(org.apache.calcite.rex.RexNode, boolean, boolean, java.util.Map&lt;java.lang.String, org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode, java.util.Map&lt;java.lang.String, ? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;, boolean, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode)</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#peek()" class="member-name-link">peek</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the relational expression at the top of the stack, but does not
remove it.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#peek(int)" class="member-name-link">peek</a><wbr>(int&nbsp;n)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the relational expression <code>n</code> positions from the top of the
stack, but does not remove it.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#peek(int,int)" class="member-name-link">peek</a><wbr>(int&nbsp;inputCount,
int&nbsp;inputOrdinal)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the relational expression <code>n</code> positions from the top of the
stack, but does not remove it.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#permute(org.apache.calcite.util.mapping.Mapping)" class="member-name-link">permute</a><wbr>(<a href="../util/mapping/Mapping.html" title="interface in org.apache.calcite.util.mapping">Mapping</a>&nbsp;mapping)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#pivot(org.apache.calcite.tools.RelBuilder.GroupKey,java.lang.Iterable,java.lang.Iterable,java.lang.Iterable)" class="member-name-link">pivot</a><wbr>(<a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a>&nbsp;groupKey,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a>&gt;&nbsp;aggCalls,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;axes,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.Entry.html" title="class or interface in java.util" class="external-link">Map.Entry</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr>? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;&gt;&nbsp;values)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a Pivot.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexWindowBound.html" title="class in org.apache.calcite.rex">RexWindowBound</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#preceding(org.apache.calcite.rex.RexNode)" class="member-name-link">preceding</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;bound)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <code>bound PRECEDING</code> window bound,
for use in methods such as <a href="RelBuilder.OverCall.html#rowsFrom(org.apache.calcite.rex.RexWindowBound)"><code>RelBuilder.OverCall.rowsFrom(RexWindowBound)</code></a>
and <a href="RelBuilder.OverCall.html#rangeBetween(org.apache.calcite.rex.RexWindowBound,org.apache.calcite.rex.RexWindowBound)"><code>RelBuilder.OverCall.rangeBetween(RexWindowBound, RexWindowBound)</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#project(java.lang.Iterable)" class="member-name-link">project</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of the given list
of expressions.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#project(java.lang.Iterable,java.lang.Iterable)" class="member-name-link">project</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;fieldNames)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of the given list
of expressions and field names.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#project(java.lang.Iterable,java.lang.Iterable,boolean)" class="member-name-link">project</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;fieldNames,
boolean&nbsp;force)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of the given list
of expressions, using the given names.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#project(java.lang.Iterable,java.lang.Iterable,boolean,java.lang.Iterable)" class="member-name-link">project</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;fieldNames,
boolean&nbsp;force,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">The same with <a href="#project(java.lang.Iterable,java.lang.Iterable,boolean)"><code>project(Iterable, Iterable, boolean)</code></a>, with additional
variablesSet param.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#project(org.apache.calcite.rex.RexNode...)" class="member-name-link">project</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;nodes)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of the given
expressions.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#projectExcept(java.lang.Iterable)" class="member-name-link">projectExcept</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;expressions)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of all original fields, except the given list of
expressions.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#projectExcept(org.apache.calcite.rex.RexNode...)" class="member-name-link">projectExcept</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;expressions)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of all original fields, except the given
expressions.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#projectNamed(java.lang.Iterable,java.lang.Iterable,boolean)" class="member-name-link">projectNamed</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;fieldNames,
boolean&nbsp;force)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of the given
expressions and field names, and optionally optimizing.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#projectNamed(java.lang.Iterable,java.lang.Iterable,boolean,java.lang.Iterable)" class="member-name-link">projectNamed</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;fieldNames,
boolean&nbsp;force,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of the given
expressions and field names, and optionally optimizing.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#projectPlus(java.lang.Iterable)" class="member-name-link">projectPlus</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of all original fields, plus the given list of
expressions.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#projectPlus(org.apache.calcite.rex.RexNode...)" class="member-name-link">projectPlus</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;nodes)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of all original fields, plus the given
expressions.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="RelBuilderFactory.html" title="interface in org.apache.calcite.tools">RelBuilderFactory</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#proto(java.lang.Object...)" class="member-name-link">proto</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>...&nbsp;factories)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Creates a <a href="RelBuilderFactory.html" title="interface in org.apache.calcite.tools"><code>RelBuilderFactory</code></a> that uses a given set of factories.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="RelBuilderFactory.html" title="interface in org.apache.calcite.tools">RelBuilderFactory</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#proto(org.apache.calcite.plan.Context)" class="member-name-link">proto</a><wbr>(<a href="../plan/Context.html" title="interface in org.apache.calcite.plan">Context</a>&nbsp;context)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Creates a <a href="RelBuilderFactory.html" title="interface in org.apache.calcite.tools"><code>RelBuilderFactory</code></a>, a partially-created RelBuilder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#push(org.apache.calcite.rel.RelNode)" class="member-name-link">push</a><wbr>(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds a relational expression to be the input to the next relational
expression constructed.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#pushAll(java.lang.Iterable)" class="member-name-link">pushAll</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;nodes)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Pushes a collection of relational expressions.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#rename(java.util.List)" class="member-name-link">rename</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;? extends @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;fieldNames)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Ensures that the field names match those given.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#repeatUnion(java.lang.String,boolean)" class="member-name-link">repeatUnion</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;tableName,
boolean&nbsp;all)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/RepeatUnion.html" title="class in org.apache.calcite.rel.core"><code>RepeatUnion</code></a> associated to a <a href="../schema/TransientTable.html" title="interface in org.apache.calcite.schema"><code>TransientTable</code></a> without a maximum number
of iterations, i.e.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#repeatUnion(java.lang.String,boolean,int)" class="member-name-link">repeatUnion</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;tableName,
boolean&nbsp;all,
int&nbsp;iterationLimit)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/RepeatUnion.html" title="class in org.apache.calcite.rel.core"><code>RepeatUnion</code></a> associated to a <a href="../schema/TransientTable.html" title="interface in org.apache.calcite.schema"><code>TransientTable</code></a> of the
two most recent relational expressions on the stack.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#scalarQuery(java.util.function.Function)" class="member-name-link">scalarQuery</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;f)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a scalar sub-query.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#scan(java.lang.Iterable)" class="member-name-link">scan</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;tableNames)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a> of the table
with a given name.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#scan(java.lang.String...)" class="member-name-link">scan</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>...&nbsp;tableNames)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a> of the table
with a given name.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#semiJoin(java.lang.Iterable)" class="member-name-link">semiJoin</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;conditions)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> with <a href="../rel/core/JoinRelType.html#SEMI"><code>JoinRelType.SEMI</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#semiJoin(org.apache.calcite.rex.RexNode...)" class="member-name-link">semiJoin</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;conditions)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> with <a href="../rel/core/JoinRelType.html#SEMI"><code>JoinRelType.SEMI</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#size()" class="member-name-link">size</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the size of the stack.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#snapshot(org.apache.calcite.rex.RexNode)" class="member-name-link">snapshot</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;period)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Snapshot.html" title="class in org.apache.calcite.rel.core"><code>Snapshot</code></a> of a given snapshot period.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#some(org.apache.calcite.rex.RexNode,org.apache.calcite.sql.SqlOperator,java.util.function.Function)" class="member-name-link">some</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node,
<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&nbsp;op,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;f)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a SOME (or ANY) predicate.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#sort(int...)" class="member-name-link">sort</a><wbr>(int...&nbsp;fields)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> by field ordinals.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#sort(java.lang.Iterable)" class="member-name-link">sort</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> by expressions.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#sort(org.apache.calcite.rel.RelCollation)" class="member-name-link">sort</a><wbr>(<a href="../rel/RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> by specifying collations.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#sort(org.apache.calcite.rex.RexNode...)" class="member-name-link">sort</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;nodes)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> by expressions.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#sortExchange(org.apache.calcite.rel.RelDistribution,org.apache.calcite.rel.RelCollation)" class="member-name-link">sortExchange</a><wbr>(<a href="../rel/RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;distribution,
<a href="../rel/RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a SortExchange by distribution and collation.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#sortLimit(int,int,java.lang.Iterable)" class="member-name-link">sortLimit</a><wbr>(int&nbsp;offset,
int&nbsp;fetch,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> by a list of expressions, with limit and offset.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#sortLimit(int,int,org.apache.calcite.rex.RexNode...)" class="member-name-link">sortLimit</a><wbr>(int&nbsp;offset,
int&nbsp;fetch,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;nodes)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> by expressions, with limit and offset.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#sortLimit(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,java.lang.Iterable)" class="member-name-link">sortLimit</a><wbr>(@Nullable <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offsetNode,
@Nullable <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetchNode,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> by a list of expressions, with limitNode and offsetNode.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#sum(boolean,java.lang.String,org.apache.calcite.rex.RexNode)" class="member-name-link">sum</a><wbr>(boolean&nbsp;distinct,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to the <code>SUM</code> aggregate function,
optionally distinct and with an alias.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#sum(org.apache.calcite.rex.RexNode)" class="member-name-link">sum</a><wbr>(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to the <code>SUM</code> aggregate function.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Converts this RelBuilder to a string.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#transform(java.util.function.UnaryOperator)" class="member-name-link">transform</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/UnaryOperator.html" title="class or interface in java.util.function" class="external-link">UnaryOperator</a>&lt;<a href="RelBuilder.Config.html" title="interface in org.apache.calcite.tools">RelBuilder.Config</a>&gt;&nbsp;transform)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a copy of this RelBuilder, with the same state as this, applying
a transform to the config.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#transientScan(java.lang.String)" class="member-name-link">transientScan</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;tableName)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a> on a <a href="../schema/TransientTable.html" title="interface in org.apache.calcite.schema"><code>TransientTable</code></a> with the given name, using as type
the top of the stack's type.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#transientScan(java.lang.String,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">transientScan</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;tableName,
<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a> on a <a href="../schema/TransientTable.html" title="interface in org.apache.calcite.schema"><code>TransientTable</code></a> with the given name and type.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexWindowBound.html" title="class in org.apache.calcite.rex">RexWindowBound</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#unboundedFollowing()" class="member-name-link">unboundedFollowing</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an <code>UNBOUNDED FOLLOWING</code> window bound,
for use in methods such as <a href="RelBuilder.OverCall.html#rowsFrom(org.apache.calcite.rex.RexWindowBound)"><code>RelBuilder.OverCall.rowsFrom(RexWindowBound)</code></a>
and <a href="RelBuilder.OverCall.html#rangeBetween(org.apache.calcite.rex.RexWindowBound,org.apache.calcite.rex.RexWindowBound)"><code>RelBuilder.OverCall.rangeBetween(RexWindowBound, RexWindowBound)</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexWindowBound.html" title="class in org.apache.calcite.rex">RexWindowBound</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#unboundedPreceding()" class="member-name-link">unboundedPreceding</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an <code>UNBOUNDED PRECEDING</code> window bound,
for use in methods such as <a href="RelBuilder.OverCall.html#rowsFrom(org.apache.calcite.rex.RexWindowBound)"><code>RelBuilder.OverCall.rowsFrom(RexWindowBound)</code></a>
and <a href="RelBuilder.OverCall.html#rangeBetween(org.apache.calcite.rex.RexWindowBound,org.apache.calcite.rex.RexWindowBound)"><code>RelBuilder.OverCall.rangeBetween(RexWindowBound, RexWindowBound)</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#uncollect(java.util.List,boolean)" class="member-name-link">uncollect</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;itemAliases,
boolean&nbsp;withOrdinality)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an <a href="../rel/core/Uncollect.html" title="class in org.apache.calcite.rel.core"><code>Uncollect</code></a> with given item aliases.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#union(boolean)" class="member-name-link">union</a><wbr>(boolean&nbsp;all)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Union.html" title="class in org.apache.calcite.rel.core"><code>Union</code></a> of the two most recent
relational expressions on the stack.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#union(boolean,int)" class="member-name-link">union</a><wbr>(boolean&nbsp;all,
int&nbsp;n)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Union.html" title="class in org.apache.calcite.rel.core"><code>Union</code></a> of the <code>n</code>
most recent relational expressions on the stack.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#unique(java.util.function.Function)" class="member-name-link">unique</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;f)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a UNIQUE predicate.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#unpivot(boolean,java.lang.Iterable,java.lang.Iterable,java.lang.Iterable)" class="member-name-link">unpivot</a><wbr>(boolean&nbsp;includeNulls,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;measureNames,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;axisNames,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.Entry.html" title="class or interface in java.util" class="external-link">Map.Entry</a>&lt;? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;? extends <a href="../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a>&gt;,<wbr>? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;&gt;&nbsp;axisMap)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates an Unpivot.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#values(java.lang.String%5B%5D,java.lang.Object...)" class="member-name-link">values</a><wbr>(@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;fieldNames,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>...&nbsp;values)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Values.html" title="class in org.apache.calcite.rel.core"><code>Values</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#values(java.lang.Iterable,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">values</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a>&gt;&gt;&nbsp;tupleList,
<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Values.html" title="class in org.apache.calcite.rel.core"><code>Values</code></a> with a specified row type.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#values(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">values</a><wbr>(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Values.html" title="class in org.apache.calcite.rel.core"><code>Values</code></a> with a specified row type and
zero rows.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#values(org.apache.calcite.rel.type.RelDataType,java.lang.Object...)" class="member-name-link">values</a><wbr>(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>...&nbsp;columnValues)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a <a href="../rel/core/Values.html" title="class in org.apache.calcite.rel.core"><code>Values</code></a> with a specified row type.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#variable(org.apache.calcite.util.Holder)" class="member-name-link">variable</a><wbr>(<a href="../util/Holder.html" title="class in org.apache.calcite.util">Holder</a>&lt;<a href="../rex/RexCorrelVariable.html" title="class in org.apache.calcite.rex">RexCorrelVariable</a>&gt;&nbsp;v)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a correlation variable for the current input, and writes it into
a Holder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;E&gt;&nbsp;E</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#with(org.apache.calcite.rel.RelNode,java.util.function.Function)" class="member-name-link">with</a><wbr>(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr>E&gt;&nbsp;fn)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Evaluates an expression with a relational expression temporarily on the
stack.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;E&gt;&nbsp;E</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#withPredicates(org.apache.calcite.rel.metadata.RelMetadataQuery,java.util.function.Function)" class="member-name-link">withPredicates</a><wbr>(<a href="../rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr>E&gt;&nbsp;fn)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Performs an action using predicates of
the <a href="#peek()"><code>current node</code></a> to simplify.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;E&gt;&nbsp;E</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#withSimplifier(java.util.function.BiFunction,java.util.function.Function)" class="member-name-link">withSimplifier</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/BiFunction.html" title="class or interface in java.util.function" class="external-link">BiFunction</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr><a href="../rex/RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>,<wbr><a href="../rex/RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&gt;&nbsp;simplifierTransform,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr>E&gt;&nbsp;fn)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Performs an action with a temporary simplifier.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="cluster">
<h3>cluster</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type"><a href="../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a></span>&nbsp;<span class="element-name">cluster</span></div>
</section>
</li>
<li>
<section class="detail" id="relOptSchema">
<h3>relOptSchema</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type">@Nullable <a href="../plan/RelOptSchema.html" title="interface in org.apache.calcite.plan">RelOptSchema</a></span>&nbsp;<span class="element-name">relOptSchema</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(org.apache.calcite.plan.Context,org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptSchema)">
<h3>RelBuilder</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="element-name">RelBuilder</span><wbr><span class="parameters">(@Nullable <a href="../plan/Context.html" title="interface in org.apache.calcite.plan">Context</a>&nbsp;context,
<a href="../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
@Nullable <a href="../plan/RelOptSchema.html" title="interface in org.apache.calcite.plan">RelOptSchema</a>&nbsp;relOptSchema)</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="create(org.apache.calcite.tools.FrameworkConfig)">
<h3>create</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">create</span><wbr><span class="parameters">(<a href="FrameworkConfig.html" title="interface in org.apache.calcite.tools">FrameworkConfig</a>&nbsp;config)</span></div>
<div class="block">Creates a RelBuilder.</div>
</section>
</li>
<li>
<section class="detail" id="transform(java.util.function.UnaryOperator)">
<h3>transform</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">transform</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/UnaryOperator.html" title="class or interface in java.util.function" class="external-link">UnaryOperator</a>&lt;<a href="RelBuilder.Config.html" title="interface in org.apache.calcite.tools">RelBuilder.Config</a>&gt;&nbsp;transform)</span></div>
<div class="block">Creates a copy of this RelBuilder, with the same state as this, applying
a transform to the config.</div>
</section>
</li>
<li>
<section class="detail" id="let(java.util.function.Function)">
<h3>let</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;R&gt;</span>&nbsp;<span class="return-type">R</span>&nbsp;<span class="element-name">let</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr>R&gt;&nbsp;consumer)</span></div>
<div class="block">Performs an action on this RelBuilder.
<p>For example, consider the following code:
<blockquote><pre>
RelNode filterAndRename(RelBuilder relBuilder, RelNode rel,
RexNode condition, List&lt;String&gt; fieldNames) {
relBuilder.push(rel)
.filter(condition);
if (fieldNames != null) {
relBuilder.rename(fieldNames);
}
return relBuilder
.build();</pre>
</blockquote>
<p>The pipeline is disrupted by the 'if'. The <code>let</code> method
allows you to perform the flow as a single pipeline:
<blockquote><pre>
RelNode filterAndRename(RelBuilder relBuilder, RelNode rel,
RexNode condition, List&lt;String&gt; fieldNames) {
return relBuilder.push(rel)
.filter(condition)
.let(r -&gt; fieldNames == null ? r : r.rename(fieldNames))
.build();</pre>
</blockquote>
<p>In pipelined cases such as this one, the lambda must return this
RelBuilder. But <code>let</code> return values of other types.</div>
</section>
</li>
<li>
<section class="detail" id="toString()">
<h3>toString</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
<div class="block">Converts this RelBuilder to a string.
The string is the string representation of all of the RelNodes on the stack.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getTypeFactory()">
<h3>getTypeFactory</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a></span>&nbsp;<span class="element-name">getTypeFactory</span>()</div>
<div class="block">Returns the type factory.</div>
</section>
</li>
<li>
<section class="detail" id="adoptConvention(org.apache.calcite.plan.Convention)">
<h3>adoptConvention</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">adoptConvention</span><wbr><span class="parameters">(<a href="../plan/Convention.html" title="interface in org.apache.calcite.plan">Convention</a>&nbsp;convention)</span></div>
<div class="block">Returns new RelBuilder that adopts the convention provided.
RelNode will be created with such convention if corresponding factory is provided.</div>
</section>
</li>
<li>
<section class="detail" id="getRexBuilder()">
<h3>getRexBuilder</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></span>&nbsp;<span class="element-name">getRexBuilder</span>()</div>
<div class="block">Returns the builder for <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a> expressions.</div>
</section>
</li>
<li>
<section class="detail" id="proto(org.apache.calcite.plan.Context)">
<h3>proto</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="RelBuilderFactory.html" title="interface in org.apache.calcite.tools">RelBuilderFactory</a></span>&nbsp;<span class="element-name">proto</span><wbr><span class="parameters">(<a href="../plan/Context.html" title="interface in org.apache.calcite.plan">Context</a>&nbsp;context)</span></div>
<div class="block">Creates a <a href="RelBuilderFactory.html" title="interface in org.apache.calcite.tools"><code>RelBuilderFactory</code></a>, a partially-created RelBuilder.
Just add a <a href="../plan/RelOptCluster.html" title="class in org.apache.calcite.plan"><code>RelOptCluster</code></a> and a <a href="../plan/RelOptSchema.html" title="interface in org.apache.calcite.plan"><code>RelOptSchema</code></a></div>
</section>
</li>
<li>
<section class="detail" id="proto(java.lang.Object...)">
<h3>proto</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="RelBuilderFactory.html" title="interface in org.apache.calcite.tools">RelBuilderFactory</a></span>&nbsp;<span class="element-name">proto</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>...&nbsp;factories)</span></div>
<div class="block">Creates a <a href="RelBuilderFactory.html" title="interface in org.apache.calcite.tools"><code>RelBuilderFactory</code></a> that uses a given set of factories.</div>
</section>
</li>
<li>
<section class="detail" id="getCluster()">
<h3>getCluster</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a></span>&nbsp;<span class="element-name">getCluster</span>()</div>
</section>
</li>
<li>
<section class="detail" id="getRelOptSchema()">
<h3>getRelOptSchema</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">@Nullable <a href="../plan/RelOptSchema.html" title="interface in org.apache.calcite.plan">RelOptSchema</a></span>&nbsp;<span class="element-name">getRelOptSchema</span>()</div>
</section>
</li>
<li>
<section class="detail" id="getScanFactory()">
<h3>getScanFactory</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rel/core/RelFactories.TableScanFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.TableScanFactory</a></span>&nbsp;<span class="element-name">getScanFactory</span>()</div>
</section>
</li>
<li>
<section class="detail" id="push(org.apache.calcite.rel.RelNode)">
<h3>push</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">push</span><wbr><span class="parameters">(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;node)</span></div>
<div class="block">Adds a relational expression to be the input to the next relational
expression constructed.
<p>This method is usual when you want to weave in relational expressions
that are not supported by the builder. If, while creating such expressions,
you need to use previously built expressions as inputs, call
<a href="#build()"><code>build()</code></a> to pop those inputs.</div>
</section>
</li>
<li>
<section class="detail" id="pushAll(java.lang.Iterable)">
<h3>pushAll</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">pushAll</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;nodes)</span></div>
<div class="block">Pushes a collection of relational expressions.</div>
</section>
</li>
<li>
<section class="detail" id="size()">
<h3>size</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">size</span>()</div>
<div class="block">Returns the size of the stack.</div>
</section>
</li>
<li>
<section class="detail" id="build()">
<h3>build</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span>&nbsp;<span class="element-name">build</span>()</div>
<div class="block">Returns the final relational expression.
<p>Throws if the stack is empty.</div>
</section>
</li>
<li>
<section class="detail" id="peek()">
<h3>peek</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span>&nbsp;<span class="element-name">peek</span>()</div>
<div class="block">Returns the relational expression at the top of the stack, but does not
remove it.</div>
</section>
</li>
<li>
<section class="detail" id="peek(int)">
<h3>peek</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span>&nbsp;<span class="element-name">peek</span><wbr><span class="parameters">(int&nbsp;n)</span></div>
<div class="block">Returns the relational expression <code>n</code> positions from the top of the
stack, but does not remove it.</div>
</section>
</li>
<li>
<section class="detail" id="peek(int,int)">
<h3>peek</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></span>&nbsp;<span class="element-name">peek</span><wbr><span class="parameters">(int&nbsp;inputCount,
int&nbsp;inputOrdinal)</span></div>
<div class="block">Returns the relational expression <code>n</code> positions from the top of the
stack, but does not remove it.</div>
</section>
</li>
<li>
<section class="detail" id="with(org.apache.calcite.rel.RelNode,java.util.function.Function)">
<h3>with</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;E&gt;</span>&nbsp;<span class="return-type">E</span>&nbsp;<span class="element-name">with</span><wbr><span class="parameters">(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;r,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr>E&gt;&nbsp;fn)</span></div>
<div class="block">Evaluates an expression with a relational expression temporarily on the
stack.</div>
</section>
</li>
<li>
<section class="detail" id="withSimplifier(java.util.function.BiFunction,java.util.function.Function)">
<h3>withSimplifier</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;E&gt;</span>&nbsp;<span class="return-type">E</span>&nbsp;<span class="element-name">withSimplifier</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/BiFunction.html" title="class or interface in java.util.function" class="external-link">BiFunction</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr><a href="../rex/RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>,<wbr><a href="../rex/RexSimplify.html" title="class in org.apache.calcite.rex">RexSimplify</a>&gt;&nbsp;simplifierTransform,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr>E&gt;&nbsp;fn)</span></div>
<div class="block">Performs an action with a temporary simplifier.</div>
</section>
</li>
<li>
<section class="detail" id="withPredicates(org.apache.calcite.rel.metadata.RelMetadataQuery,java.util.function.Function)">
<h3>withPredicates</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;E&gt;</span>&nbsp;<span class="return-type">E</span>&nbsp;<span class="element-name">withPredicates</span><wbr><span class="parameters">(<a href="../rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr>E&gt;&nbsp;fn)</span></div>
<div class="block">Performs an action using predicates of
the <a href="#peek()"><code>current node</code></a> to simplify.</div>
</section>
</li>
<li>
<section class="detail" id="literal(java.lang.Object)">
<h3>literal</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a></span>&nbsp;<span class="element-name">literal</span><wbr><span class="parameters">(@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;value)</span></div>
<div class="block">Creates a literal (constant expression).</div>
</section>
</li>
<li>
<section class="detail" id="variable(org.apache.calcite.util.Holder)">
<h3>variable</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">variable</span><wbr><span class="parameters">(<a href="../util/Holder.html" title="class in org.apache.calcite.util">Holder</a>&lt;<a href="../rex/RexCorrelVariable.html" title="class in org.apache.calcite.rex">RexCorrelVariable</a>&gt;&nbsp;v)</span></div>
<div class="block">Creates a correlation variable for the current input, and writes it into
a Holder.</div>
</section>
</li>
<li>
<section class="detail" id="field(java.lang.String)">
<h3>field</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a></span>&nbsp;<span class="element-name">field</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fieldName)</span></div>
<div class="block">Creates a reference to a field by name.
<p>Equivalent to <code>field(1, 0, fieldName)</code>.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>fieldName</code> - Field name</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="field(int,int,java.lang.String)">
<h3>field</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a></span>&nbsp;<span class="element-name">field</span><wbr><span class="parameters">(int&nbsp;inputCount,
int&nbsp;inputOrdinal,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fieldName)</span></div>
<div class="block">Creates a reference to a field of given input relational expression
by name.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>inputCount</code> - Number of inputs</dd>
<dd><code>inputOrdinal</code> - Input ordinal</dd>
<dd><code>fieldName</code> - Field name</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="field(int)">
<h3>field</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a></span>&nbsp;<span class="element-name">field</span><wbr><span class="parameters">(int&nbsp;fieldOrdinal)</span></div>
<div class="block">Creates a reference to an input field by ordinal.
<p>Equivalent to <code>field(1, 0, ordinal)</code>.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>fieldOrdinal</code> - Field ordinal</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="field(int,int,int)">
<h3>field</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a></span>&nbsp;<span class="element-name">field</span><wbr><span class="parameters">(int&nbsp;inputCount,
int&nbsp;inputOrdinal,
int&nbsp;fieldOrdinal)</span></div>
<div class="block">Creates a reference to a field of a given input relational expression
by ordinal.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>inputCount</code> - Number of inputs</dd>
<dd><code>inputOrdinal</code> - Input ordinal</dd>
<dd><code>fieldOrdinal</code> - Field ordinal within input</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="field(java.lang.String,java.lang.String)">
<h3>field</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">field</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fieldName)</span></div>
<div class="block">Creates a reference to a field of the current record which originated
in a relation with a given alias.</div>
</section>
</li>
<li>
<section class="detail" id="field(int,java.lang.String,java.lang.String)">
<h3>field</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">field</span><wbr><span class="parameters">(int&nbsp;inputCount,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fieldName)</span></div>
<div class="block">Creates a reference to a field which originated in a relation with the
given alias. Searches for the relation starting at the top of the
stack.</div>
</section>
</li>
<li>
<section class="detail" id="field(org.apache.calcite.rex.RexNode,java.lang.String)">
<h3>field</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">field</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;e,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<div class="block">Returns a reference to a given field of a record-valued expression.</div>
</section>
</li>
<li>
<section class="detail" id="fields()">
<h3>fields</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</span>&nbsp;<span class="element-name">fields</span>()</div>
<div class="block">Returns references to the fields of the top input.</div>
</section>
</li>
<li>
<section class="detail" id="fields(int,int)">
<h3>fields</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</span>&nbsp;<span class="element-name">fields</span><wbr><span class="parameters">(int&nbsp;inputCount,
int&nbsp;inputOrdinal)</span></div>
<div class="block">Returns references to the fields of a given input.</div>
</section>
</li>
<li>
<section class="detail" id="fields(org.apache.calcite.rel.RelCollation)">
<h3>fields</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</span>&nbsp;<span class="element-name">fields</span><wbr><span class="parameters">(<a href="../rel/RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation)</span></div>
<div class="block">Returns references to fields for a given collation.</div>
</section>
</li>
<li>
<section class="detail" id="fields(java.util.List)">
<h3>fields</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</span>&nbsp;<span class="element-name">fields</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Number.html" title="class or interface in java.lang" class="external-link">Number</a>&gt;&nbsp;ordinals)</span></div>
<div class="block">Returns references to fields for a given list of input ordinals.</div>
</section>
</li>
<li>
<section class="detail" id="fields(org.apache.calcite.util.ImmutableBitSet)">
<h3>fields</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</span>&nbsp;<span class="element-name">fields</span><wbr><span class="parameters">(<a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;ordinals)</span></div>
<div class="block">Returns references to fields for a given bit set of input ordinals.</div>
</section>
</li>
<li>
<section class="detail" id="fields(java.lang.Iterable)">
<h3>fields</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</span>&nbsp;<span class="element-name">fields</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;fieldNames)</span></div>
<div class="block">Returns references to fields identified by name.</div>
</section>
</li>
<li>
<section class="detail" id="fields(org.apache.calcite.util.mapping.Mappings.TargetMapping)">
<h3>fields</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</span>&nbsp;<span class="element-name">fields</span><wbr><span class="parameters">(<a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a>&nbsp;mapping)</span></div>
<div class="block">Returns references to fields identified by a mapping.</div>
</section>
</li>
<li>
<section class="detail" id="dot(org.apache.calcite.rex.RexNode,java.lang.String)">
<h3>dot</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">dot</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fieldName)</span></div>
<div class="block">Creates an access to a field by name.</div>
</section>
</li>
<li>
<section class="detail" id="dot(org.apache.calcite.rex.RexNode,int)">
<h3>dot</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">dot</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node,
int&nbsp;fieldOrdinal)</span></div>
<div class="block">Creates an access to a field by ordinal.</div>
</section>
</li>
<li>
<section class="detail" id="call(org.apache.calcite.sql.SqlOperator,org.apache.calcite.rex.RexNode...)">
<h3>call</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">call</span><wbr><span class="parameters">(<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&nbsp;operator,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</span></div>
<div class="block">Creates a call to a scalar operator.</div>
</section>
</li>
<li>
<section class="detail" id="call(org.apache.calcite.sql.SqlOperator,java.lang.Iterable)">
<h3>call</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">call</span><wbr><span class="parameters">(<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&nbsp;operator,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</span></div>
<div class="block">Creates a call to a scalar operator.</div>
</section>
</li>
<li>
<section class="detail" id="in(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode...)">
<h3>in</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">in</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;arg,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;ranges)</span></div>
<div class="block">Creates an IN predicate with a list of values.
<p>For example,
<pre><code>
b.scan("Emp")
.filter(b.in(b.field("deptno"), b.literal(10), b.literal(20)))
</code></pre>
is equivalent to SQL
<pre><code>
SELECT *
FROM Emp
WHERE deptno IN (10, 20)
</code></pre></div>
</section>
</li>
<li>
<section class="detail" id="in(org.apache.calcite.rex.RexNode,java.lang.Iterable)">
<h3>in</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">in</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;arg,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;ranges)</span></div>
<div class="block">Creates an IN predicate with a list of values.
<p>For example,
<pre><code>
b.scan("Emps")
.filter(
b.in(b.field("deptno"),
Arrays.asList(b.literal(10), b.literal(20))))
</code></pre>
<p>is equivalent to the SQL
<pre><code>
SELECT *
FROM Emps
WHERE deptno IN (10, 20)
</code></pre></div>
</section>
</li>
<li>
<section class="detail" id="in(org.apache.calcite.rel.RelNode,java.lang.Iterable)">
<h3>in</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></span>&nbsp;<span class="element-name">in</span><wbr><span class="parameters">(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</span></div>
<div class="block">Creates an IN predicate with a sub-query.</div>
</section>
</li>
<li>
<section class="detail" id="in(org.apache.calcite.rex.RexNode,java.util.function.Function)">
<h3>in</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">in</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;arg,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;f)</span></div>
<div class="block">Creates an IN predicate with a sub-query.
<p>For example,
<pre><code>
b.scan("Emps")
.filter(
b.in(b.field("deptno"),
b2 -&gt; b2.scan("Depts")
.filter(
b2.eq(b2.field("location"), b2.literal("Boston")))
.project(b.field("deptno"))
.build()))
</code></pre>
<p>is equivalent to the SQL
<pre><code>
SELECT *
FROM Emps
WHERE deptno IN (SELECT deptno FROM Dept WHERE location = 'Boston')
</code></pre></div>
</section>
</li>
<li>
<section class="detail" id="some(org.apache.calcite.rex.RexNode,org.apache.calcite.sql.SqlOperator,java.util.function.Function)">
<h3>some</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></span>&nbsp;<span class="element-name">some</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node,
<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&nbsp;op,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;f)</span></div>
<div class="block">Creates a SOME (or ANY) predicate.
<p>For example,
<pre><code>
b.scan("Emps")
.filter(
b.some(b.field("commission"),
SqlStdOperatorTable.GREATER_THAN,
b2 -&gt; b2.scan("Emps")
.filter(
b2.eq(b2.field("job"), b2.literal("Manager")))
.project(b2.field("sal"))
.build()))
</code></pre>
<p>is equivalent to the SQL
<pre><code>
SELECT *
FROM Emps
WHERE commission &gt; SOME (SELECT sal FROM Emps WHERE job = 'Manager')
</code></pre>
<p>or (since <code>SOME</code> and <code>ANY</code> are synonyms) the SQL
<pre><code>
SELECT *
FROM Emps
WHERE commission &gt; ANY (SELECT sal FROM Emps WHERE job = 'Manager')
</code></pre></div>
</section>
</li>
<li>
<section class="detail" id="all(org.apache.calcite.rex.RexNode,org.apache.calcite.sql.SqlOperator,java.util.function.Function)">
<h3>all</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">all</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node,
<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&nbsp;op,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;f)</span></div>
<div class="block">Creates an ALL predicate.
<p>For example,
<pre><code>
b.scan("Emps")
.filter(
b.all(b.field("commission"),
SqlStdOperatorTable.GREATER_THAN,
b2 -&gt; b2.scan("Emps")
.filter(
b2.eq(b2.field("job"), b2.literal("Manager")))
.project(b2.field("sal"))
.build()))
</code></pre>
<p>is equivalent to the SQL
<pre><code>
SELECT *
FROM Emps
WHERE commission &gt; ALL (SELECT sal FROM Emps WHERE job = 'Manager')
</code></pre>
<p>Calcite translates <code>ALL</code> predicates to <code>NOT SOME</code>. The
following SQL is equivalent to the previous:
<pre><code>
SELECT *
FROM Emps
WHERE NOT (commission &lt;= SOME (SELECT sal FROM Emps WHERE job = 'Manager'))
</code></pre></div>
</section>
</li>
<li>
<section class="detail" id="exists(java.util.function.Function)">
<h3>exists</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></span>&nbsp;<span class="element-name">exists</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;f)</span></div>
<div class="block">Creates an EXISTS predicate.
<p>For example,
<pre><code>
b.scan("Depts")
.filter(
b.exists(b2 -&gt;
b2.scan("Emps")
.filter(
b2.eq(b2.field("job"), b2.literal("Manager")))
.build()))
</code></pre>
<p>is equivalent to the SQL
<pre><code>
SELECT *
FROM Depts
WHERE EXISTS (SELECT 1 FROM Emps WHERE job = 'Manager')
</code></pre></div>
</section>
</li>
<li>
<section class="detail" id="unique(java.util.function.Function)">
<h3>unique</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></span>&nbsp;<span class="element-name">unique</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;f)</span></div>
<div class="block">Creates a UNIQUE predicate.
<p>For example,
<pre><code>
b.scan("Depts")
.filter(
b.exists(b2 -&gt;
b2.scan("Emps")
.filter(
b2.eq(b2.field("job"), b2.literal("Manager")))
.project(b2.field("deptno")
.build()))
</code></pre>
<p>is equivalent to the SQL
<pre><code>
SELECT *
FROM Depts
WHERE UNIQUE (SELECT deptno FROM Emps WHERE job = 'Manager')
</code></pre></div>
</section>
</li>
<li>
<section class="detail" id="scalarQuery(java.util.function.Function)">
<h3>scalarQuery</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></span>&nbsp;<span class="element-name">scalarQuery</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;f)</span></div>
<div class="block">Creates a scalar sub-query.
<p>For example,
<pre><code>
b.scan("Depts")
.project(
b.field("deptno")
b.scalarQuery(b2 -&gt;
b2.scan("Emps")
.aggregate(
b2.eq(b2.field("job"), b2.literal("Manager")))
.build()))
</code></pre>
<p>is equivalent to the SQL
<pre><code>
SELECT deptno, (SELECT MAX(sal) FROM Emps)
FROM Depts
</code></pre></div>
</section>
</li>
<li>
<section class="detail" id="arrayQuery(java.util.function.Function)">
<h3>arrayQuery</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></span>&nbsp;<span class="element-name">arrayQuery</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;f)</span></div>
<div class="block">Creates an ARRAY sub-query.
<p>For example,
<pre><code>
b.scan("Depts")
.project(
b.field("deptno")
b.arrayQuery(b2 -&gt;
b2.scan("Emps")
.build()))
</code></pre>
<p>is equivalent to the SQL
<pre><code>
SELECT deptno, ARRAY (SELECT * FROM Emps)
FROM Depts
</code></pre></div>
</section>
</li>
<li>
<section class="detail" id="multisetQuery(java.util.function.Function)">
<h3>multisetQuery</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></span>&nbsp;<span class="element-name">multisetQuery</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;f)</span></div>
<div class="block">Creates a MULTISET sub-query.
<p>For example,
<pre><code>
b.scan("Depts")
.project(
b.field("deptno")
b.multisetQuery(b2 -&gt;
b2.scan("Emps")
.build()))
</code></pre>
<p>is equivalent to the SQL
<pre><code>
SELECT deptno, MULTISET (SELECT * FROM Emps)
FROM Depts
</code></pre></div>
</section>
</li>
<li>
<section class="detail" id="mapQuery(java.util.function.Function)">
<h3>mapQuery</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexSubQuery.html" title="class in org.apache.calcite.rex">RexSubQuery</a></span>&nbsp;<span class="element-name">mapQuery</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>,<wbr><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;f)</span></div>
<div class="block">Creates a MAP sub-query.
<p>For example,
<pre><code>
b.scan("Depts")
.project(
b.field("deptno")
b.multisetQuery(b2 -&gt;
b2.scan("Emps")
.project(b2.field("empno"), b2.field("job"))
.build()))
</code></pre>
<p>is equivalent to the SQL
<pre><code>
SELECT deptno, MAP (SELECT empno, job FROM Emps)
FROM Depts
</code></pre></div>
</section>
</li>
<li>
<section class="detail" id="and(org.apache.calcite.rex.RexNode...)">
<h3>and</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">and</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</span></div>
<div class="block">Creates an AND.</div>
</section>
</li>
<li>
<section class="detail" id="and(java.lang.Iterable)">
<h3>and</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">and</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</span></div>
<div class="block">Creates an AND.
<p>Simplifies the expression a little:
<code>e AND TRUE</code> becomes <code>e</code>;
<code>e AND e2 AND NOT e</code> becomes <code>e2</code>.</div>
</section>
</li>
<li>
<section class="detail" id="or(org.apache.calcite.rex.RexNode...)">
<h3>or</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">or</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</span></div>
<div class="block">Creates an OR.</div>
</section>
</li>
<li>
<section class="detail" id="or(java.lang.Iterable)">
<h3>or</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">or</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</span></div>
<div class="block">Creates an OR.</div>
</section>
</li>
<li>
<section class="detail" id="not(org.apache.calcite.rex.RexNode)">
<h3>not</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">not</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</span></div>
<div class="block">Creates a NOT.</div>
</section>
</li>
<li>
<section class="detail" id="equals(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<h3>equals</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">equals</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand0,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand1)</span></div>
<div class="block">Creates an <code>=</code>.</div>
</section>
</li>
<li>
<section class="detail" id="greaterThan(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<h3>greaterThan</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">greaterThan</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand0,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand1)</span></div>
<div class="block">Creates a <code>&gt;</code>.</div>
</section>
</li>
<li>
<section class="detail" id="greaterThanOrEqual(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<h3>greaterThanOrEqual</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">greaterThanOrEqual</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand0,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand1)</span></div>
<div class="block">Creates a <code>&gt;=</code>.</div>
</section>
</li>
<li>
<section class="detail" id="lessThan(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<h3>lessThan</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">lessThan</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand0,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand1)</span></div>
<div class="block">Creates a <code>&lt;</code>.</div>
</section>
</li>
<li>
<section class="detail" id="lessThanOrEqual(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<h3>lessThanOrEqual</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">lessThanOrEqual</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand0,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand1)</span></div>
<div class="block">Creates a <code>&lt;=</code>.</div>
</section>
</li>
<li>
<section class="detail" id="notEquals(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<h3>notEquals</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">notEquals</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand0,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand1)</span></div>
<div class="block">Creates a <code>&lt;&gt;</code>.</div>
</section>
</li>
<li>
<section class="detail" id="isNotDistinctFrom(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<h3>isNotDistinctFrom</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">isNotDistinctFrom</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand0,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand1)</span></div>
<div class="block">Creates an expression equivalent to "<code>o0 IS NOT DISTINCT FROM o1</code>".
It is also equivalent to
"<code>o0 = o1 OR (o0 IS NULL AND o1 IS NULL)</code>".</div>
</section>
</li>
<li>
<section class="detail" id="isDistinctFrom(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<h3>isDistinctFrom</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">isDistinctFrom</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand0,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand1)</span></div>
<div class="block">Creates an expression equivalent to <code>o0 IS DISTINCT FROM o1</code>.
It is also equivalent to
"<code>NOT (o0 = o1 OR (o0 IS NULL AND o1 IS NULL))</code>.</div>
</section>
</li>
<li>
<section class="detail" id="between(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<h3>between</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">between</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;arg,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;lower,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;upper)</span></div>
<div class="block">Creates a <code>BETWEEN</code>.</div>
</section>
</li>
<li>
<section class="detail" id="isNull(org.apache.calcite.rex.RexNode)">
<h3>isNull</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">isNull</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</span></div>
<div class="block">Creates ab <code>IS NULL</code>.</div>
</section>
</li>
<li>
<section class="detail" id="isNotNull(org.apache.calcite.rex.RexNode)">
<h3>isNotNull</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">isNotNull</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</span></div>
<div class="block">Creates an <code>IS NOT NULL</code>.</div>
</section>
</li>
<li>
<section class="detail" id="cast(org.apache.calcite.rex.RexNode,org.apache.calcite.sql.type.SqlTypeName)">
<h3>cast</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">cast</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;expr,
<a href="../sql/type/SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a>&nbsp;typeName)</span></div>
<div class="block">Creates an expression that casts an expression to a given type.</div>
</section>
</li>
<li>
<section class="detail" id="cast(org.apache.calcite.rex.RexNode,org.apache.calcite.sql.type.SqlTypeName,int)">
<h3>cast</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">cast</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;expr,
<a href="../sql/type/SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a>&nbsp;typeName,
int&nbsp;precision)</span></div>
<div class="block">Creates an expression that casts an expression to a type with a given name
and precision or length.</div>
</section>
</li>
<li>
<section class="detail" id="cast(org.apache.calcite.rex.RexNode,org.apache.calcite.sql.type.SqlTypeName,int,int)">
<h3>cast</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">cast</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;expr,
<a href="../sql/type/SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a>&nbsp;typeName,
int&nbsp;precision,
int&nbsp;scale)</span></div>
<div class="block">Creates an expression that casts an expression to a type with a given
name, precision and scale.</div>
</section>
</li>
<li>
<section class="detail" id="alias(org.apache.calcite.rex.RexNode,java.lang.String)">
<h3>alias</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">alias</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;expr,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias)</span></div>
<div class="block">Returns an expression wrapped in an alias.
<p>This method is idempotent: If the expression is already wrapped in the
correct alias, does nothing; if wrapped in an incorrect alias, removes
the incorrect alias and applies the correct alias.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="#project(org.apache.calcite.rex.RexNode...)"><code>project(org.apache.calcite.rex.RexNode...)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="desc(org.apache.calcite.rex.RexNode)">
<h3>desc</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">desc</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node)</span></div>
<div class="block">Converts a sort expression to descending.</div>
</section>
</li>
<li>
<section class="detail" id="nullsLast(org.apache.calcite.rex.RexNode)">
<h3>nullsLast</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">nullsLast</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node)</span></div>
<div class="block">Converts a sort expression to nulls last.</div>
</section>
</li>
<li>
<section class="detail" id="nullsFirst(org.apache.calcite.rex.RexNode)">
<h3>nullsFirst</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">nullsFirst</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node)</span></div>
<div class="block">Converts a sort expression to nulls first.</div>
</section>
</li>
<li>
<section class="detail" id="unboundedPreceding()">
<h3>unboundedPreceding</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexWindowBound.html" title="class in org.apache.calcite.rex">RexWindowBound</a></span>&nbsp;<span class="element-name">unboundedPreceding</span>()</div>
<div class="block">Creates an <code>UNBOUNDED PRECEDING</code> window bound,
for use in methods such as <a href="RelBuilder.OverCall.html#rowsFrom(org.apache.calcite.rex.RexWindowBound)"><code>RelBuilder.OverCall.rowsFrom(RexWindowBound)</code></a>
and <a href="RelBuilder.OverCall.html#rangeBetween(org.apache.calcite.rex.RexWindowBound,org.apache.calcite.rex.RexWindowBound)"><code>RelBuilder.OverCall.rangeBetween(RexWindowBound, RexWindowBound)</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="preceding(org.apache.calcite.rex.RexNode)">
<h3>preceding</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexWindowBound.html" title="class in org.apache.calcite.rex">RexWindowBound</a></span>&nbsp;<span class="element-name">preceding</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;bound)</span></div>
<div class="block">Creates a <code>bound PRECEDING</code> window bound,
for use in methods such as <a href="RelBuilder.OverCall.html#rowsFrom(org.apache.calcite.rex.RexWindowBound)"><code>RelBuilder.OverCall.rowsFrom(RexWindowBound)</code></a>
and <a href="RelBuilder.OverCall.html#rangeBetween(org.apache.calcite.rex.RexWindowBound,org.apache.calcite.rex.RexWindowBound)"><code>RelBuilder.OverCall.rangeBetween(RexWindowBound, RexWindowBound)</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="currentRow()">
<h3>currentRow</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexWindowBound.html" title="class in org.apache.calcite.rex">RexWindowBound</a></span>&nbsp;<span class="element-name">currentRow</span>()</div>
<div class="block">Creates a <code>CURRENT ROW</code> window bound,
for use in methods such as <a href="RelBuilder.OverCall.html#rowsFrom(org.apache.calcite.rex.RexWindowBound)"><code>RelBuilder.OverCall.rowsFrom(RexWindowBound)</code></a>
and <a href="RelBuilder.OverCall.html#rangeBetween(org.apache.calcite.rex.RexWindowBound,org.apache.calcite.rex.RexWindowBound)"><code>RelBuilder.OverCall.rangeBetween(RexWindowBound, RexWindowBound)</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="following(org.apache.calcite.rex.RexNode)">
<h3>following</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexWindowBound.html" title="class in org.apache.calcite.rex">RexWindowBound</a></span>&nbsp;<span class="element-name">following</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;bound)</span></div>
<div class="block">Creates a <code>bound FOLLOWING</code> window bound,
for use in methods such as <a href="RelBuilder.OverCall.html#rowsFrom(org.apache.calcite.rex.RexWindowBound)"><code>RelBuilder.OverCall.rowsFrom(RexWindowBound)</code></a>
and <a href="RelBuilder.OverCall.html#rangeBetween(org.apache.calcite.rex.RexWindowBound,org.apache.calcite.rex.RexWindowBound)"><code>RelBuilder.OverCall.rangeBetween(RexWindowBound, RexWindowBound)</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="unboundedFollowing()">
<h3>unboundedFollowing</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexWindowBound.html" title="class in org.apache.calcite.rex">RexWindowBound</a></span>&nbsp;<span class="element-name">unboundedFollowing</span>()</div>
<div class="block">Creates an <code>UNBOUNDED FOLLOWING</code> window bound,
for use in methods such as <a href="RelBuilder.OverCall.html#rowsFrom(org.apache.calcite.rex.RexWindowBound)"><code>RelBuilder.OverCall.rowsFrom(RexWindowBound)</code></a>
and <a href="RelBuilder.OverCall.html#rangeBetween(org.apache.calcite.rex.RexWindowBound,org.apache.calcite.rex.RexWindowBound)"><code>RelBuilder.OverCall.rangeBetween(RexWindowBound, RexWindowBound)</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="groupKey()">
<h3>groupKey</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></span>&nbsp;<span class="element-name">groupKey</span>()</div>
<div class="block">Creates an empty group key.</div>
</section>
</li>
<li>
<section class="detail" id="groupKey(org.apache.calcite.rex.RexNode...)">
<h3>groupKey</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></span>&nbsp;<span class="element-name">groupKey</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;nodes)</span></div>
<div class="block">Creates a group key.</div>
</section>
</li>
<li>
<section class="detail" id="groupKey(java.lang.Iterable)">
<h3>groupKey</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></span>&nbsp;<span class="element-name">groupKey</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</span></div>
<div class="block">Creates a group key.</div>
</section>
</li>
<li>
<section class="detail" id="groupKey(java.lang.Iterable,java.lang.Iterable)">
<h3>groupKey</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></span>&nbsp;<span class="element-name">groupKey</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;&nbsp;nodeLists)</span></div>
<div class="block">Creates a group key with grouping sets.</div>
</section>
</li>
<li>
<section class="detail" id="groupKey(java.lang.Iterable,boolean,java.lang.Iterable)">
<h3>groupKey</h3>
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></span>&nbsp;<span class="element-name">groupKey</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
boolean&nbsp;indicator,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;&nbsp;nodeLists)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">Now that indicator is deprecated, use
<a href="#groupKey(java.lang.Iterable,java.lang.Iterable)"><code>groupKey(Iterable, Iterable)</code></a>, which has the same behavior as
calling this method with <code>indicator = false</code>.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="groupKey(int...)">
<h3>groupKey</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></span>&nbsp;<span class="element-name">groupKey</span><wbr><span class="parameters">(int...&nbsp;fieldOrdinals)</span></div>
<div class="block">Creates a group key of fields identified by ordinal.</div>
</section>
</li>
<li>
<section class="detail" id="groupKey(java.lang.String...)">
<h3>groupKey</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></span>&nbsp;<span class="element-name">groupKey</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>...&nbsp;fieldNames)</span></div>
<div class="block">Creates a group key of fields identified by name.</div>
</section>
</li>
<li>
<section class="detail" id="groupKey(org.apache.calcite.util.ImmutableBitSet)">
<h3>groupKey</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></span>&nbsp;<span class="element-name">groupKey</span><wbr><span class="parameters">(<a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet)</span></div>
<div class="block">Creates a group key, identified by field positions
in the underlying relational expression.
<p>This method of creating a group key does not allow you to group on new
expressions, only column projections, but is efficient, especially when you
are coming from an existing <a href="../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="groupKey(org.apache.calcite.util.ImmutableBitSet,java.lang.Iterable)">
<h3>groupKey</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></span>&nbsp;<span class="element-name">groupKey</span><wbr><span class="parameters">(<a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets)</span></div>
<div class="block">Creates a group key with grouping sets, both identified by field positions
in the underlying relational expression.
<p>This method of creating a group key does not allow you to group on new
expressions, only column projections, but is efficient, especially when you
are coming from an existing <a href="../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>.
<p>It is possible for <code>groupSet</code> to be strict superset of all
<code>groupSets</code>. For example, in the pseudo SQL
<pre><code>
GROUP BY 0, 1, 2
GROUPING SETS ((0, 1), 0)
</code></pre>
<p>column 2 does not appear in either grouping set. This is not valid SQL.
We can approximate in actual SQL by adding an extra grouping set and
filtering out using <code>HAVING</code>, as follows:
<pre><code>
GROUP BY GROUPING SETS ((0, 1, 2), (0, 1), 0)
HAVING GROUPING_ID(0, 1, 2) &lt;&gt; 0
</code></pre></div>
</section>
</li>
<li>
<section class="detail" id="groupKey(org.apache.calcite.util.ImmutableBitSet,boolean,com.google.common.collect.ImmutableList)">
<h3>groupKey</h3>
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a></span>&nbsp;<span class="element-name">groupKey</span><wbr><span class="parameters">(<a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
boolean&nbsp;indicator,
@Nullable com.google.common.collect.ImmutableList&lt;<a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">Use <a href="#groupKey(org.apache.calcite.util.ImmutableBitSet,java.lang.Iterable)"><code>groupKey(ImmutableBitSet, Iterable)</code></a>.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="aggregateCall(org.apache.calcite.sql.SqlAggFunction,boolean,org.apache.calcite.rex.RexNode,java.lang.String,org.apache.calcite.rex.RexNode...)">
<h3>aggregateCall</h3>
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">aggregateCall</span><wbr><span class="parameters">(<a href="../sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a>&nbsp;aggFunction,
boolean&nbsp;distinct,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;filter,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
</section>
</li>
<li>
<section class="detail" id="aggregateCall(org.apache.calcite.sql.SqlAggFunction,boolean,boolean,org.apache.calcite.rex.RexNode,java.lang.String,org.apache.calcite.rex.RexNode...)">
<h3>aggregateCall</h3>
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">aggregateCall</span><wbr><span class="parameters">(<a href="../sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a>&nbsp;aggFunction,
boolean&nbsp;distinct,
boolean&nbsp;approximate,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;filter,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
</section>
</li>
<li>
<section class="detail" id="aggregateCall(org.apache.calcite.sql.SqlAggFunction,boolean,org.apache.calcite.rex.RexNode,java.lang.String,java.lang.Iterable)">
<h3>aggregateCall</h3>
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">aggregateCall</span><wbr><span class="parameters">(<a href="../sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a>&nbsp;aggFunction,
boolean&nbsp;distinct,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;filter,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
</section>
</li>
<li>
<section class="detail" id="aggregateCall(org.apache.calcite.sql.SqlAggFunction,boolean,boolean,org.apache.calcite.rex.RexNode,java.lang.String,java.lang.Iterable)">
<h3>aggregateCall</h3>
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">aggregateCall</span><wbr><span class="parameters">(<a href="../sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a>&nbsp;aggFunction,
boolean&nbsp;distinct,
boolean&nbsp;approximate,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;filter,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
</section>
</li>
<li>
<section class="detail" id="aggregateCall(org.apache.calcite.sql.SqlAggFunction,java.lang.Iterable)">
<h3>aggregateCall</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">aggregateCall</span><wbr><span class="parameters">(<a href="../sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a>&nbsp;aggFunction,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</span></div>
<div class="block">Creates a call to an aggregate function.
<p>To add other operands, apply
<a href="RelBuilder.AggCall.html#distinct()"><code>RelBuilder.AggCall.distinct()</code></a>,
<a href="RelBuilder.AggCall.html#approximate(boolean)"><code>RelBuilder.AggCall.approximate(boolean)</code></a>,
<a href="#filter(org.apache.calcite.rex.RexNode...)"><code>filter(RexNode...)</code></a>,
<a href="RelBuilder.AggCall.html#sort(java.lang.Iterable)"><code>RelBuilder.AggCall.sort(java.lang.Iterable&lt;org.apache.calcite.rex.RexNode&gt;)</code></a>,
<a href="RelBuilder.AggCall.html#as(java.lang.String)"><code>RelBuilder.AggCall.as(java.lang.String)</code></a> to the result.</div>
</section>
</li>
<li>
<section class="detail" id="aggregateCall(org.apache.calcite.sql.SqlAggFunction,org.apache.calcite.rex.RexNode...)">
<h3>aggregateCall</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">aggregateCall</span><wbr><span class="parameters">(<a href="../sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a>&nbsp;aggFunction,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</span></div>
<div class="block">Creates a call to an aggregate function.
<p>To add other operands, apply
<a href="RelBuilder.AggCall.html#distinct()"><code>RelBuilder.AggCall.distinct()</code></a>,
<a href="RelBuilder.AggCall.html#approximate(boolean)"><code>RelBuilder.AggCall.approximate(boolean)</code></a>,
<a href="#filter(org.apache.calcite.rex.RexNode...)"><code>filter(RexNode...)</code></a>,
<a href="RelBuilder.AggCall.html#sort(java.lang.Iterable)"><code>RelBuilder.AggCall.sort(java.lang.Iterable&lt;org.apache.calcite.rex.RexNode&gt;)</code></a>,
<a href="RelBuilder.AggCall.html#as(java.lang.String)"><code>RelBuilder.AggCall.as(java.lang.String)</code></a> to the result.</div>
</section>
</li>
<li>
<section class="detail" id="aggregateCall(org.apache.calcite.rel.core.AggregateCall)">
<h3>aggregateCall</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">aggregateCall</span><wbr><span class="parameters">(<a href="../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&nbsp;a)</span></div>
<div class="block">Creates a call to an aggregate function as a copy of an
<a href="../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core"><code>AggregateCall</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="aggregateCall(org.apache.calcite.rel.core.AggregateCall,org.apache.calcite.util.mapping.Mapping)">
<h3>aggregateCall</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">aggregateCall</span><wbr><span class="parameters">(<a href="../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&nbsp;a,
<a href="../util/mapping/Mapping.html" title="interface in org.apache.calcite.util.mapping">Mapping</a>&nbsp;mapping)</span></div>
<div class="block">Creates a call to an aggregate function as a copy of an
<a href="../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core"><code>AggregateCall</code></a>, applying a mapping.</div>
</section>
</li>
<li>
<section class="detail" id="aggregateCall(org.apache.calcite.sql.SqlAggFunction,boolean,boolean,boolean,org.apache.calcite.rex.RexNode,com.google.common.collect.ImmutableList,com.google.common.collect.ImmutableList,java.lang.String,com.google.common.collect.ImmutableList)">
<h3>aggregateCall</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">aggregateCall</span><wbr><span class="parameters">(<a href="../sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a>&nbsp;aggFunction,
boolean&nbsp;distinct,
boolean&nbsp;approximate,
boolean&nbsp;ignoreNulls,
@Nullable <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;filter,
@Nullable com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;distinctKeys,
com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;orderKeys,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</span></div>
<div class="block">Creates a call to an aggregate function with all applicable operands.</div>
</section>
</li>
<li>
<section class="detail" id="count(org.apache.calcite.rex.RexNode...)">
<h3>count</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">count</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</span></div>
<div class="block">Creates a call to the <code>COUNT</code> aggregate function.</div>
</section>
</li>
<li>
<section class="detail" id="count(java.lang.Iterable)">
<h3>count</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">count</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</span></div>
<div class="block">Creates a call to the <code>COUNT</code> aggregate function.</div>
</section>
</li>
<li>
<section class="detail" id="count(boolean,java.lang.String,org.apache.calcite.rex.RexNode...)">
<h3>count</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">count</span><wbr><span class="parameters">(boolean&nbsp;distinct,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</span></div>
<div class="block">Creates a call to the <code>COUNT</code> aggregate function,
optionally distinct and with an alias.</div>
</section>
</li>
<li>
<section class="detail" id="count(boolean,java.lang.String,java.lang.Iterable)">
<h3>count</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">count</span><wbr><span class="parameters">(boolean&nbsp;distinct,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</span></div>
<div class="block">Creates a call to the <code>COUNT</code> aggregate function,
optionally distinct and with an alias.</div>
</section>
</li>
<li>
<section class="detail" id="countStar(java.lang.String)">
<h3>countStar</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">countStar</span><wbr><span class="parameters">(@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias)</span></div>
<div class="block">Creates a call to the <code>COUNT(*)</code> aggregate function.</div>
</section>
</li>
<li>
<section class="detail" id="sum(org.apache.calcite.rex.RexNode)">
<h3>sum</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">sum</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</span></div>
<div class="block">Creates a call to the <code>SUM</code> aggregate function.</div>
</section>
</li>
<li>
<section class="detail" id="sum(boolean,java.lang.String,org.apache.calcite.rex.RexNode)">
<h3>sum</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">sum</span><wbr><span class="parameters">(boolean&nbsp;distinct,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</span></div>
<div class="block">Creates a call to the <code>SUM</code> aggregate function,
optionally distinct and with an alias.</div>
</section>
</li>
<li>
<section class="detail" id="avg(org.apache.calcite.rex.RexNode)">
<h3>avg</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">avg</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</span></div>
<div class="block">Creates a call to the <code>AVG</code> aggregate function.</div>
</section>
</li>
<li>
<section class="detail" id="avg(boolean,java.lang.String,org.apache.calcite.rex.RexNode)">
<h3>avg</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">avg</span><wbr><span class="parameters">(boolean&nbsp;distinct,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</span></div>
<div class="block">Creates a call to the <code>AVG</code> aggregate function,
optionally distinct and with an alias.</div>
</section>
</li>
<li>
<section class="detail" id="min(org.apache.calcite.rex.RexNode)">
<h3>min</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">min</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</span></div>
<div class="block">Creates a call to the <code>MIN</code> aggregate function.</div>
</section>
</li>
<li>
<section class="detail" id="min(java.lang.String,org.apache.calcite.rex.RexNode)">
<h3>min</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">min</span><wbr><span class="parameters">(@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</span></div>
<div class="block">Creates a call to the <code>MIN</code> aggregate function,
optionally with an alias.</div>
</section>
</li>
<li>
<section class="detail" id="max(org.apache.calcite.rex.RexNode)">
<h3>max</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">max</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</span></div>
<div class="block">Creates a call to the <code>MAX</code> aggregate function,
optionally with an alias.</div>
</section>
</li>
<li>
<section class="detail" id="max(java.lang.String,org.apache.calcite.rex.RexNode)">
<h3>max</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></span>&nbsp;<span class="element-name">max</span><wbr><span class="parameters">(@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;operand)</span></div>
<div class="block">Creates a call to the <code>MAX</code> aggregate function.</div>
</section>
</li>
<li>
<section class="detail" id="patternField(java.lang.String,org.apache.calcite.rel.type.RelDataType,int)">
<h3>patternField</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">patternField</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alpha,
<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type,
int&nbsp;i)</span></div>
<div class="block">Creates a reference to a given field of the pattern.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>alpha</code> - the pattern name</dd>
<dd><code>type</code> - Type of field</dd>
<dd><code>i</code> - Ordinal of field</dd>
<dt>Returns:</dt>
<dd>Reference to field of pattern</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="patternConcat(java.lang.Iterable)">
<h3>patternConcat</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">patternConcat</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</span></div>
<div class="block">Creates a call that concatenates patterns;
for use in <a href="#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)"><code>match(org.apache.calcite.rex.RexNode, boolean, boolean, java.util.Map&lt;java.lang.String, org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode, java.util.Map&lt;java.lang.String, ? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;, boolean, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode)</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="patternConcat(org.apache.calcite.rex.RexNode...)">
<h3>patternConcat</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">patternConcat</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;nodes)</span></div>
<div class="block">Creates a call that concatenates patterns;
for use in <a href="#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)"><code>match(org.apache.calcite.rex.RexNode, boolean, boolean, java.util.Map&lt;java.lang.String, org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode, java.util.Map&lt;java.lang.String, ? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;, boolean, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode)</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="patternAlter(java.lang.Iterable)">
<h3>patternAlter</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">patternAlter</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</span></div>
<div class="block">Creates a call that creates alternate patterns;
for use in <a href="#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)"><code>match(org.apache.calcite.rex.RexNode, boolean, boolean, java.util.Map&lt;java.lang.String, org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode, java.util.Map&lt;java.lang.String, ? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;, boolean, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode)</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="patternAlter(org.apache.calcite.rex.RexNode...)">
<h3>patternAlter</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">patternAlter</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;nodes)</span></div>
<div class="block">Creates a call that creates alternate patterns;
for use in <a href="#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)"><code>match(org.apache.calcite.rex.RexNode, boolean, boolean, java.util.Map&lt;java.lang.String, org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode, java.util.Map&lt;java.lang.String, ? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;, boolean, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode)</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="patternQuantify(java.lang.Iterable)">
<h3>patternQuantify</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">patternQuantify</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</span></div>
<div class="block">Creates a call that creates quantify patterns;
for use in <a href="#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)"><code>match(org.apache.calcite.rex.RexNode, boolean, boolean, java.util.Map&lt;java.lang.String, org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode, java.util.Map&lt;java.lang.String, ? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;, boolean, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode)</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="patternQuantify(org.apache.calcite.rex.RexNode...)">
<h3>patternQuantify</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">patternQuantify</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;nodes)</span></div>
<div class="block">Creates a call that creates quantify patterns;
for use in <a href="#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)"><code>match(org.apache.calcite.rex.RexNode, boolean, boolean, java.util.Map&lt;java.lang.String, org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode, java.util.Map&lt;java.lang.String, ? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;, boolean, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode)</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="patternPermute(java.lang.Iterable)">
<h3>patternPermute</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">patternPermute</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</span></div>
<div class="block">Creates a call that creates permute patterns;
for use in <a href="#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)"><code>match(org.apache.calcite.rex.RexNode, boolean, boolean, java.util.Map&lt;java.lang.String, org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode, java.util.Map&lt;java.lang.String, ? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;, boolean, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode)</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="patternPermute(org.apache.calcite.rex.RexNode...)">
<h3>patternPermute</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">patternPermute</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;nodes)</span></div>
<div class="block">Creates a call that creates permute patterns;
for use in <a href="#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)"><code>match(org.apache.calcite.rex.RexNode, boolean, boolean, java.util.Map&lt;java.lang.String, org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode, java.util.Map&lt;java.lang.String, ? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;, boolean, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode)</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="patternExclude(org.apache.calcite.rex.RexNode)">
<h3>patternExclude</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">patternExclude</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node)</span></div>
<div class="block">Creates a call that creates an exclude pattern;
for use in <a href="#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)"><code>match(org.apache.calcite.rex.RexNode, boolean, boolean, java.util.Map&lt;java.lang.String, org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode, java.util.Map&lt;java.lang.String, ? extends java.util.SortedSet&lt;java.lang.String&gt;&gt;, boolean, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;, org.apache.calcite.rex.RexNode)</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="scan(java.lang.Iterable)">
<h3>scan</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">scan</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;tableNames)</span></div>
<div class="block">Creates a <a href="../rel/core/TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a> of the table
with a given name.
<p>Throws if the table does not exist.
<p>Returns this builder.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>tableNames</code> - Name of table (can optionally be qualified)</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="scan(java.lang.String...)">
<h3>scan</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">scan</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>...&nbsp;tableNames)</span></div>
<div class="block">Creates a <a href="../rel/core/TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a> of the table
with a given name.
<p>Throws if the table does not exist.
<p>Returns this builder.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>tableNames</code> - Name of table (can optionally be qualified)</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="snapshot(org.apache.calcite.rex.RexNode)">
<h3>snapshot</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">snapshot</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;period)</span></div>
<div class="block">Creates a <a href="../rel/core/Snapshot.html" title="class in org.apache.calcite.rel.core"><code>Snapshot</code></a> of a given snapshot period.
<p>Returns this builder.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>period</code> - Name of table (can optionally be qualified)</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="cursor(int,int)">
<h3>cursor</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span>&nbsp;<span class="element-name">cursor</span><wbr><span class="parameters">(int&nbsp;inputCount,
int&nbsp;ordinal)</span></div>
<div class="block">Creates a RexCall to the <code>CURSOR</code> function by ordinal.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>inputCount</code> - Number of inputs</dd>
<dd><code>ordinal</code> - The reference to the relational input</dd>
<dt>Returns:</dt>
<dd>RexCall to CURSOR function</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="functionScan(org.apache.calcite.sql.SqlOperator,int,org.apache.calcite.rex.RexNode...)">
<h3>functionScan</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">functionScan</span><wbr><span class="parameters">(<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&nbsp;operator,
int&nbsp;inputCount,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</span></div>
<div class="block">Creates a <a href="../rel/core/TableFunctionScan.html" title="class in org.apache.calcite.rel.core"><code>TableFunctionScan</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="functionScan(org.apache.calcite.sql.SqlOperator,int,java.lang.Iterable)">
<h3>functionScan</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">functionScan</span><wbr><span class="parameters">(<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&nbsp;operator,
int&nbsp;inputCount,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;operands)</span></div>
<div class="block">Creates a <a href="../rel/core/TableFunctionScan.html" title="class in org.apache.calcite.rel.core"><code>TableFunctionScan</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="filter(org.apache.calcite.rex.RexNode...)">
<h3>filter</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">filter</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;predicates)</span></div>
<div class="block">Creates a <a href="../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> of an array of
predicates.
<p>The predicates are combined using AND,
and optimized in a similar way to the <a href="#and(org.apache.calcite.rex.RexNode...)"><code>and(org.apache.calcite.rex.RexNode...)</code></a> method.
If the result is TRUE no filter is created.</div>
</section>
</li>
<li>
<section class="detail" id="filter(java.lang.Iterable)">
<h3>filter</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">filter</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;predicates)</span></div>
<div class="block">Creates a <a href="../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> of a list of
predicates.
<p>The predicates are combined using AND,
and optimized in a similar way to the <a href="#and(org.apache.calcite.rex.RexNode...)"><code>and(org.apache.calcite.rex.RexNode...)</code></a> method.
If the result is TRUE no filter is created.</div>
</section>
</li>
<li>
<section class="detail" id="filter(java.lang.Iterable,org.apache.calcite.rex.RexNode...)">
<h3>filter</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">filter</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;predicates)</span></div>
<div class="block">Creates a <a href="../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> of a list of correlation variables
and an array of predicates.
<p>The predicates are combined using AND,
and optimized in a similar way to the <a href="#and(org.apache.calcite.rex.RexNode...)"><code>and(org.apache.calcite.rex.RexNode...)</code></a> method.
If the result is TRUE no filter is created.</div>
</section>
</li>
<li>
<section class="detail" id="filter(java.lang.Iterable,java.lang.Iterable)">
<h3>filter</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">filter</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;predicates)</span></div>
<div class="block">Creates a <a href="../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> of a list of correlation variables
and a list of predicates.
<p>The predicates are combined using AND,
and optimized in a similar way to the <a href="#and(org.apache.calcite.rex.RexNode...)"><code>and(org.apache.calcite.rex.RexNode...)</code></a> method.
If simplification is on and the result is TRUE, no filter is created.</div>
</section>
</li>
<li>
<section class="detail" id="project(org.apache.calcite.rex.RexNode...)">
<h3>project</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">project</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;nodes)</span></div>
<div class="block">Creates a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of the given
expressions.</div>
</section>
</li>
<li>
<section class="detail" id="project(java.lang.Iterable)">
<h3>project</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">project</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</span></div>
<div class="block">Creates a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of the given list
of expressions.
<p>Infers names as would <a href="#project(java.lang.Iterable,java.lang.Iterable)"><code>project(Iterable, Iterable)</code></a> if all
suggested names were null.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>nodes</code> - Expressions</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="project(java.lang.Iterable,java.lang.Iterable)">
<h3>project</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">project</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;fieldNames)</span></div>
<div class="block">Creates a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of the given list
of expressions and field names.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>nodes</code> - Expressions</dd>
<dd><code>fieldNames</code> - field names for expressions</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="project(java.lang.Iterable,java.lang.Iterable,boolean)">
<h3>project</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">project</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;fieldNames,
boolean&nbsp;force)</span></div>
<div class="block">Creates a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of the given list
of expressions, using the given names.
<p>Names are deduced as follows:
<ul>
<li>If the length of <code>fieldNames</code> is greater than the index of
the current entry in <code>nodes</code>, and the entry in
<code>fieldNames</code> is not null, uses it; otherwise
<li>If an expression projects an input field,
or is a cast an input field,
uses the input field name; otherwise
<li>If an expression is a call to
<a href="../sql/fun/SqlStdOperatorTable.html#AS"><code>SqlStdOperatorTable.AS</code></a>
(see <a href="#alias(org.apache.calcite.rex.RexNode,java.lang.String)"><code>alias(org.apache.calcite.rex.RexNode, java.lang.String)</code></a>), removes the call but uses the intended alias.
</ul>
<p>After the field names have been inferred, makes the
field names unique by appending numeric suffixes.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>nodes</code> - Expressions</dd>
<dd><code>fieldNames</code> - Suggested field names</dd>
<dd><code>force</code> - create project even if it is identity</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="project(java.lang.Iterable,java.lang.Iterable,boolean,java.lang.Iterable)">
<h3>project</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">project</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;fieldNames,
boolean&nbsp;force,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet)</span></div>
<div class="block">The same with <a href="#project(java.lang.Iterable,java.lang.Iterable,boolean)"><code>project(Iterable, Iterable, boolean)</code></a>, with additional
variablesSet param.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>nodes</code> - Expressions</dd>
<dd><code>fieldNames</code> - Suggested field names</dd>
<dd><code>force</code> - create project even if it is identity</dd>
<dd><code>variablesSet</code> - Correlating variables that are set when reading a row
from the input, and which may be referenced from the
projection expressions</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="projectPlus(org.apache.calcite.rex.RexNode...)">
<h3>projectPlus</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">projectPlus</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;nodes)</span></div>
<div class="block">Creates a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of all original fields, plus the given
expressions.</div>
</section>
</li>
<li>
<section class="detail" id="projectPlus(java.lang.Iterable)">
<h3>projectPlus</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">projectPlus</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</span></div>
<div class="block">Creates a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of all original fields, plus the given list of
expressions.</div>
</section>
</li>
<li>
<section class="detail" id="projectExcept(org.apache.calcite.rex.RexNode...)">
<h3>projectExcept</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">projectExcept</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;expressions)</span></div>
<div class="block">Creates a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of all original fields, except the given
expressions.</div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if the given expressions contain duplicates
or there is an expression that does not match an existing field</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="projectExcept(java.lang.Iterable)">
<h3>projectExcept</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">projectExcept</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;expressions)</span></div>
<div class="block">Creates a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of all original fields, except the given list of
expressions.</div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if the given expressions contain duplicates
or there is an expression that does not match an existing field</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="projectNamed(java.lang.Iterable,java.lang.Iterable,boolean)">
<h3>projectNamed</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">projectNamed</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;fieldNames,
boolean&nbsp;force)</span></div>
<div class="block">Creates a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of the given
expressions and field names, and optionally optimizing.
<p>If <code>fieldNames</code> is null, or if a particular entry in
<code>fieldNames</code> is null, derives field names from the input
expressions.
<p>If <code>force</code> is false,
and the input is a <code>Project</code>,
and the expressions make the trivial projection ($0, $1, ...),
modifies the input.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>nodes</code> - Expressions</dd>
<dd><code>fieldNames</code> - Suggested field names, or null to generate</dd>
<dd><code>force</code> - Whether to create a renaming Project if the
projections are trivial</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="projectNamed(java.lang.Iterable,java.lang.Iterable,boolean,java.lang.Iterable)">
<h3>projectNamed</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">projectNamed</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;fieldNames,
boolean&nbsp;force,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet)</span></div>
<div class="block">Creates a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> of the given
expressions and field names, and optionally optimizing.
<p>If <code>fieldNames</code> is null, or if a particular entry in
<code>fieldNames</code> is null, derives field names from the input
expressions.
<p>If <code>force</code> is false,
and the input is a <code>Project</code>,
and the expressions make the trivial projection ($0, $1, ...),
modifies the input.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>nodes</code> - Expressions</dd>
<dd><code>fieldNames</code> - Suggested field names, or null to generate</dd>
<dd><code>force</code> - Whether to create a renaming Project if the
projections are trivial</dd>
<dd><code>variablesSet</code> - Correlating variables that are set when reading a row
from the input, and which may be referenced from the
projection expressions</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="uncollect(java.util.List,boolean)">
<h3>uncollect</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">uncollect</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;itemAliases,
boolean&nbsp;withOrdinality)</span></div>
<div class="block">Creates an <a href="../rel/core/Uncollect.html" title="class in org.apache.calcite.rel.core"><code>Uncollect</code></a> with given item aliases.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>itemAliases</code> - Operand item aliases, never null</dd>
<dd><code>withOrdinality</code> - If <code>withOrdinality</code>, the output contains an extra
<code>ORDINALITY</code> column</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="rename(java.util.List)">
<h3>rename</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">rename</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;? extends @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;fieldNames)</span></div>
<div class="block">Ensures that the field names match those given.
<p>If all fields have the same name, adds nothing;
if any fields do not have the same name, adds a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>.
<p>Note that the names can be short-lived. Other <code>RelBuilder</code>
operations make no guarantees about the field names of the rows they
produce.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>fieldNames</code> - List of desired field names; may contain null values or
have fewer fields than the current row type</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="distinct()">
<h3>distinct</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">distinct</span>()</div>
<div class="block">Creates an <a href="../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> that makes the
relational expression distinct on all fields.</div>
</section>
</li>
<li>
<section class="detail" id="aggregate(org.apache.calcite.tools.RelBuilder.GroupKey,org.apache.calcite.tools.RelBuilder.AggCall...)">
<h3>aggregate</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">aggregate</span><wbr><span class="parameters">(<a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a>&nbsp;groupKey,
<a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a>...&nbsp;aggCalls)</span></div>
<div class="block">Creates an <a href="../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> with an array of
calls.</div>
</section>
</li>
<li>
<section class="detail" id="aggregate(org.apache.calcite.tools.RelBuilder.GroupKey,java.util.List)">
<h3>aggregate</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">aggregate</span><wbr><span class="parameters">(<a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a>&nbsp;groupKey,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggregateCalls)</span></div>
<div class="block">Creates an <a href="../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> with an array of
<a href="../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core"><code>AggregateCall</code></a>s.</div>
</section>
</li>
<li>
<section class="detail" id="aggregate(org.apache.calcite.tools.RelBuilder.GroupKey,java.lang.Iterable)">
<h3>aggregate</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">aggregate</span><wbr><span class="parameters">(<a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a>&nbsp;groupKey,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a>&gt;&nbsp;aggCalls)</span></div>
<div class="block">Creates an <a href="../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> with multiple calls.</div>
</section>
</li>
<li>
<section class="detail" id="union(boolean)">
<h3>union</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">union</span><wbr><span class="parameters">(boolean&nbsp;all)</span></div>
<div class="block">Creates a <a href="../rel/core/Union.html" title="class in org.apache.calcite.rel.core"><code>Union</code></a> of the two most recent
relational expressions on the stack.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>all</code> - Whether to create UNION ALL</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="union(boolean,int)">
<h3>union</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">union</span><wbr><span class="parameters">(boolean&nbsp;all,
int&nbsp;n)</span></div>
<div class="block">Creates a <a href="../rel/core/Union.html" title="class in org.apache.calcite.rel.core"><code>Union</code></a> of the <code>n</code>
most recent relational expressions on the stack.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>all</code> - Whether to create UNION ALL</dd>
<dd><code>n</code> - Number of inputs to the UNION operator</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="intersect(boolean)">
<h3>intersect</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">intersect</span><wbr><span class="parameters">(boolean&nbsp;all)</span></div>
<div class="block">Creates an <a href="../rel/core/Intersect.html" title="class in org.apache.calcite.rel.core"><code>Intersect</code></a> of the two most
recent relational expressions on the stack.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>all</code> - Whether to create INTERSECT ALL</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="intersect(boolean,int)">
<h3>intersect</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">intersect</span><wbr><span class="parameters">(boolean&nbsp;all,
int&nbsp;n)</span></div>
<div class="block">Creates an <a href="../rel/core/Intersect.html" title="class in org.apache.calcite.rel.core"><code>Intersect</code></a> of the <code>n</code>
most recent relational expressions on the stack.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>all</code> - Whether to create INTERSECT ALL</dd>
<dd><code>n</code> - Number of inputs to the INTERSECT operator</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="minus(boolean)">
<h3>minus</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">minus</span><wbr><span class="parameters">(boolean&nbsp;all)</span></div>
<div class="block">Creates a <a href="../rel/core/Minus.html" title="class in org.apache.calcite.rel.core"><code>Minus</code></a> of the two most recent
relational expressions on the stack.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>all</code> - Whether to create EXCEPT ALL</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="minus(boolean,int)">
<h3>minus</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">minus</span><wbr><span class="parameters">(boolean&nbsp;all,
int&nbsp;n)</span></div>
<div class="block">Creates a <a href="../rel/core/Minus.html" title="class in org.apache.calcite.rel.core"><code>Minus</code></a> of the <code>n</code>
most recent relational expressions on the stack.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>all</code> - Whether to create EXCEPT ALL</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="transientScan(java.lang.String)">
<h3>transientScan</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">transientScan</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;tableName)</span></div>
<div class="block">Creates a <a href="../rel/core/TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a> on a <a href="../schema/TransientTable.html" title="interface in org.apache.calcite.schema"><code>TransientTable</code></a> with the given name, using as type
the top of the stack's type.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>tableName</code> - table name</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="transientScan(java.lang.String,org.apache.calcite.rel.type.RelDataType)">
<h3>transientScan</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">transientScan</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;tableName,
<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</span></div>
<div class="block">Creates a <a href="../rel/core/TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a> on a <a href="../schema/TransientTable.html" title="interface in org.apache.calcite.schema"><code>TransientTable</code></a> with the given name and type.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>tableName</code> - table name</dd>
<dd><code>rowType</code> - row type of the table</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="repeatUnion(java.lang.String,boolean)">
<h3>repeatUnion</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">repeatUnion</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;tableName,
boolean&nbsp;all)</span></div>
<div class="block">Creates a <a href="../rel/core/RepeatUnion.html" title="class in org.apache.calcite.rel.core"><code>RepeatUnion</code></a> associated to a <a href="../schema/TransientTable.html" title="interface in org.apache.calcite.schema"><code>TransientTable</code></a> without a maximum number
of iterations, i.e. repeatUnion(tableName, all, -1).</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>tableName</code> - name of the <a href="../schema/TransientTable.html" title="interface in org.apache.calcite.schema"><code>TransientTable</code></a> associated to the <a href="../rel/core/RepeatUnion.html" title="class in org.apache.calcite.rel.core"><code>RepeatUnion</code></a></dd>
<dd><code>all</code> - whether duplicates will be considered or not</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="repeatUnion(java.lang.String,boolean,int)">
<h3>repeatUnion</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">repeatUnion</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;tableName,
boolean&nbsp;all,
int&nbsp;iterationLimit)</span></div>
<div class="block">Creates a <a href="../rel/core/RepeatUnion.html" title="class in org.apache.calcite.rel.core"><code>RepeatUnion</code></a> associated to a <a href="../schema/TransientTable.html" title="interface in org.apache.calcite.schema"><code>TransientTable</code></a> of the
two most recent relational expressions on the stack.
<p>Warning: if these relational expressions are not
correctly defined, this operation might lead to an infinite loop.
<p>The generated <a href="../rel/core/RepeatUnion.html" title="class in org.apache.calcite.rel.core"><code>RepeatUnion</code></a> operates as follows:
<ul>
<li>Evaluate its left term once, propagating the results into the
<a href="../schema/TransientTable.html" title="interface in org.apache.calcite.schema"><code>TransientTable</code></a>;
<li>Evaluate its right term (which may contain a <a href="../rel/core/TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a> on the
<a href="../schema/TransientTable.html" title="interface in org.apache.calcite.schema"><code>TransientTable</code></a>) over and over until it produces no more results
(or until an optional maximum number of iterations is reached). On each
iteration, the results are propagated into the <a href="../schema/TransientTable.html" title="interface in org.apache.calcite.schema"><code>TransientTable</code></a>,
overwriting the results from the previous one.
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>tableName</code> - Name of the <a href="../schema/TransientTable.html" title="interface in org.apache.calcite.schema"><code>TransientTable</code></a> associated to the
<a href="../rel/core/RepeatUnion.html" title="class in org.apache.calcite.rel.core"><code>RepeatUnion</code></a></dd>
<dd><code>all</code> - Whether duplicates are considered</dd>
<dd><code>iterationLimit</code> - Maximum number of iterations; negative value means no limit</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="join(org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode...)">
<h3>join</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">join</span><wbr><span class="parameters">(<a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition0,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;conditions)</span></div>
<div class="block">Creates a <a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> with an array of conditions.</div>
</section>
</li>
<li>
<section class="detail" id="join(org.apache.calcite.rel.core.JoinRelType,java.lang.Iterable)">
<h3>join</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">join</span><wbr><span class="parameters">(<a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;conditions)</span></div>
<div class="block">Creates a <a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> with multiple
conditions.</div>
</section>
</li>
<li>
<section class="detail" id="join(org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rex.RexNode)">
<h3>join</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">join</span><wbr><span class="parameters">(<a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition)</span></div>
<div class="block">Creates a <a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> with one condition.</div>
</section>
</li>
<li>
<section class="detail" id="join(org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rex.RexNode,java.util.Set)">
<h3>join</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">join</span><wbr><span class="parameters">(<a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet)</span></div>
<div class="block">Creates a <a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> with correlating variables.</div>
</section>
</li>
<li>
<section class="detail" id="correlate(org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.rex.RexNode...)">
<h3>correlate</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">correlate</span><wbr><span class="parameters">(<a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlationId,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;requiredFields)</span></div>
<div class="block">Creates a <a href="../rel/core/Correlate.html" title="class in org.apache.calcite.rel.core"><code>Correlate</code></a>
with a <a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core"><code>CorrelationId</code></a> and an array of fields that are used by correlation.</div>
</section>
</li>
<li>
<section class="detail" id="correlate(org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rel.core.CorrelationId,java.lang.Iterable)">
<h3>correlate</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">correlate</span><wbr><span class="parameters">(<a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlationId,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;requiredFields)</span></div>
<div class="block">Creates a <a href="../rel/core/Correlate.html" title="class in org.apache.calcite.rel.core"><code>Correlate</code></a>
with a <a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core"><code>CorrelationId</code></a> and a list of fields that are used by correlation.</div>
</section>
</li>
<li>
<section class="detail" id="join(org.apache.calcite.rel.core.JoinRelType,java.lang.String...)">
<h3>join</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">join</span><wbr><span class="parameters">(<a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>...&nbsp;fieldNames)</span></div>
<div class="block">Creates a <a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> using USING syntax.
<p>For each of the field names, both left and right inputs must have a
field of that name. Constructs a join condition that the left and right
fields are equal.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>joinType</code> - Join type</dd>
<dd><code>fieldNames</code> - Field names</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="semiJoin(java.lang.Iterable)">
<h3>semiJoin</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">semiJoin</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;conditions)</span></div>
<div class="block">Creates a <a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> with <a href="../rel/core/JoinRelType.html#SEMI"><code>JoinRelType.SEMI</code></a>.
<p>A semi-join is a form of join that combines two relational expressions
according to some condition, and outputs only rows from the left input for
which at least one row from the right input matches. It only outputs
columns from the left input, and ignores duplicates on the right.
<p>For example, <code>EMP semi-join DEPT</code> finds all <code>EMP</code> records
that do not have a corresponding <code>DEPT</code> record, similar to the
following SQL:
<blockquote><pre>
SELECT * FROM EMP
WHERE EXISTS (SELECT 1 FROM DEPT
WHERE DEPT.DEPTNO = EMP.DEPTNO)</pre>
</blockquote></div>
</section>
</li>
<li>
<section class="detail" id="semiJoin(org.apache.calcite.rex.RexNode...)">
<h3>semiJoin</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">semiJoin</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;conditions)</span></div>
<div class="block">Creates a <a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> with <a href="../rel/core/JoinRelType.html#SEMI"><code>JoinRelType.SEMI</code></a>.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="#semiJoin(java.lang.Iterable)"><code>semiJoin(Iterable)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="antiJoin(java.lang.Iterable)">
<h3>antiJoin</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">antiJoin</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;conditions)</span></div>
<div class="block">Creates an anti-join.
<p>An anti-join is a form of join that combines two relational expressions
according to some condition, but outputs only rows from the left input
for which no rows from the right input match.
<p>For example, <code>EMP anti-join DEPT</code> finds all <code>EMP</code> records
that do not have a corresponding <code>DEPT</code> record, similar to the
following SQL:
<blockquote><pre>
SELECT * FROM EMP
WHERE NOT EXISTS (SELECT 1 FROM DEPT
WHERE DEPT.DEPTNO = EMP.DEPTNO)</pre>
</blockquote></div>
</section>
</li>
<li>
<section class="detail" id="antiJoin(org.apache.calcite.rex.RexNode...)">
<h3>antiJoin</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">antiJoin</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;conditions)</span></div>
<div class="block">Creates an anti-join.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="#antiJoin(java.lang.Iterable)"><code>antiJoin(Iterable)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="as(java.lang.String)">
<h3>as</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">as</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;alias)</span></div>
<div class="block">Assigns a table alias to the top entry on the stack.</div>
</section>
</li>
<li>
<section class="detail" id="values(java.lang.String[],java.lang.Object...)">
<h3>values</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">values</span><wbr><span class="parameters">(@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;fieldNames,
@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>...&nbsp;values)</span></div>
<div class="block">Creates a <a href="../rel/core/Values.html" title="class in org.apache.calcite.rel.core"><code>Values</code></a>.
<p>The <code>values</code> array must have the same number of entries as
<code>fieldNames</code>, or an integer multiple if you wish to create multiple
rows.
<p>If there are zero rows, or if all values of a any column are
null, this method cannot deduce the type of columns. For these cases,
call <a href="#values(java.lang.Iterable,org.apache.calcite.rel.type.RelDataType)"><code>values(Iterable, RelDataType)</code></a>.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>fieldNames</code> - Field names</dd>
<dd><code>values</code> - Values</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="empty()">
<h3>empty</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">empty</span>()</div>
<div class="block">Creates a relational expression that reads from an input and throws
all of the rows away.
<p>Note that this method always pops one relational expression from the
stack. <code>values</code>, in contrast, does not pop any relational
expressions, and always produces a leaf.
<p>The default implementation creates a <a href="../rel/core/Values.html" title="class in org.apache.calcite.rel.core"><code>Values</code></a> with the same
specified row type and aliases as the input, and ignores the input entirely.
But schema-on-query systems such as Drill might override this method to
create a relation expression that retains the input, just to read its
schema.</div>
</section>
</li>
<li>
<section class="detail" id="values(org.apache.calcite.rel.type.RelDataType,java.lang.Object...)">
<h3>values</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">values</span><wbr><span class="parameters">(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>...&nbsp;columnValues)</span></div>
<div class="block">Creates a <a href="../rel/core/Values.html" title="class in org.apache.calcite.rel.core"><code>Values</code></a> with a specified row type.
<p>This method can handle cases that <a href="#values(java.lang.String%5B%5D,java.lang.Object...)"><code>values(String[], Object...)</code></a>
cannot, such as all values of a column being null, or there being zero
rows.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>rowType</code> - Row type</dd>
<dd><code>columnValues</code> - Values</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="values(java.lang.Iterable,org.apache.calcite.rel.type.RelDataType)">
<h3>values</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">values</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a>&gt;&gt;&nbsp;tupleList,
<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</span></div>
<div class="block">Creates a <a href="../rel/core/Values.html" title="class in org.apache.calcite.rel.core"><code>Values</code></a> with a specified row type.
<p>This method can handle cases that <a href="#values(java.lang.String%5B%5D,java.lang.Object...)"><code>values(String[], Object...)</code></a>
cannot, such as all values of a column being null, or there being zero
rows.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>tupleList</code> - Tuple list</dd>
<dd><code>rowType</code> - Row type</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="values(org.apache.calcite.rel.type.RelDataType)">
<h3>values</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">values</span><wbr><span class="parameters">(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType)</span></div>
<div class="block">Creates a <a href="../rel/core/Values.html" title="class in org.apache.calcite.rel.core"><code>Values</code></a> with a specified row type and
zero rows.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>rowType</code> - Row type</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="limit(int,int)">
<h3>limit</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">limit</span><wbr><span class="parameters">(int&nbsp;offset,
int&nbsp;fetch)</span></div>
<div class="block">Creates a limit without a sort.</div>
</section>
</li>
<li>
<section class="detail" id="exchange(org.apache.calcite.rel.RelDistribution)">
<h3>exchange</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">exchange</span><wbr><span class="parameters">(<a href="../rel/RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;distribution)</span></div>
<div class="block">Creates an Exchange by distribution.</div>
</section>
</li>
<li>
<section class="detail" id="sortExchange(org.apache.calcite.rel.RelDistribution,org.apache.calcite.rel.RelCollation)">
<h3>sortExchange</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">sortExchange</span><wbr><span class="parameters">(<a href="../rel/RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a>&nbsp;distribution,
<a href="../rel/RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation)</span></div>
<div class="block">Creates a SortExchange by distribution and collation.</div>
</section>
</li>
<li>
<section class="detail" id="sort(int...)">
<h3>sort</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">sort</span><wbr><span class="parameters">(int...&nbsp;fields)</span></div>
<div class="block">Creates a <a href="../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> by field ordinals.
<p>Negative fields mean descending: -1 means field(0) descending,
-2 means field(1) descending, etc.</div>
</section>
</li>
<li>
<section class="detail" id="sort(org.apache.calcite.rex.RexNode...)">
<h3>sort</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">sort</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;nodes)</span></div>
<div class="block">Creates a <a href="../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> by expressions.</div>
</section>
</li>
<li>
<section class="detail" id="sort(java.lang.Iterable)">
<h3>sort</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">sort</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</span></div>
<div class="block">Creates a <a href="../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> by expressions.</div>
</section>
</li>
<li>
<section class="detail" id="sortLimit(int,int,org.apache.calcite.rex.RexNode...)">
<h3>sortLimit</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">sortLimit</span><wbr><span class="parameters">(int&nbsp;offset,
int&nbsp;fetch,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;nodes)</span></div>
<div class="block">Creates a <a href="../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> by expressions, with limit and offset.</div>
</section>
</li>
<li>
<section class="detail" id="sort(org.apache.calcite.rel.RelCollation)">
<h3>sort</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">sort</span><wbr><span class="parameters">(<a href="../rel/RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation)</span></div>
<div class="block">Creates a <a href="../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> by specifying collations.</div>
</section>
</li>
<li>
<section class="detail" id="sortLimit(int,int,java.lang.Iterable)">
<h3>sortLimit</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">sortLimit</span><wbr><span class="parameters">(int&nbsp;offset,
int&nbsp;fetch,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</span></div>
<div class="block">Creates a <a href="../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> by a list of expressions, with limit and offset.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>offset</code> - Number of rows to skip; non-positive means don't skip any</dd>
<dd><code>fetch</code> - Maximum number of rows to fetch; negative means no limit</dd>
<dd><code>nodes</code> - Sort expressions</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="sortLimit(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,java.lang.Iterable)">
<h3>sortLimit</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">sortLimit</span><wbr><span class="parameters">(@Nullable <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;offsetNode,
@Nullable <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;fetchNode,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;nodes)</span></div>
<div class="block">Creates a <a href="../rel/core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> by a list of expressions, with limitNode and offsetNode.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>offsetNode</code> - RexLiteral means number of rows to skip is deterministic,
RexDynamicParam means number of rows to skip is dynamic.</dd>
<dd><code>fetchNode</code> - RexLiteral means maximum number of rows to fetch is deterministic,
RexDynamicParam mean maximum number is dynamic.</dd>
<dd><code>nodes</code> - Sort expressions</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="convert(org.apache.calcite.rel.type.RelDataType,boolean)">
<h3>convert</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">convert</span><wbr><span class="parameters">(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;castRowType,
boolean&nbsp;rename)</span></div>
<div class="block">Creates a projection that converts the current relational expression's
output to a desired row type.
<p>The desired row type and the row type to be converted must have the
same number of fields.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>castRowType</code> - row type after cast</dd>
<dd><code>rename</code> - if true, use field names from castRowType; if false,
preserve field names from rel</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="permute(org.apache.calcite.util.mapping.Mapping)">
<h3>permute</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">permute</span><wbr><span class="parameters">(<a href="../util/mapping/Mapping.html" title="interface in org.apache.calcite.util.mapping">Mapping</a>&nbsp;mapping)</span></div>
</section>
</li>
<li>
<section class="detail" id="match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)">
<h3>match</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">match</span><wbr><span class="parameters">(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;pattern,
boolean&nbsp;strictStart,
boolean&nbsp;strictEnd,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;patternDefinitions,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;measureList,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;after,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr>? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/SortedSet.html" title="class or interface in java.util" class="external-link">SortedSet</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&gt;&nbsp;subsets,
boolean&nbsp;allRows,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;partitionKeys,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;orderKeys,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;interval)</span></div>
<div class="block">Creates a <a href="../rel/core/Match.html" title="class in org.apache.calcite.rel.core"><code>Match</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="pivot(org.apache.calcite.tools.RelBuilder.GroupKey,java.lang.Iterable,java.lang.Iterable,java.lang.Iterable)">
<h3>pivot</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">pivot</span><wbr><span class="parameters">(<a href="RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a>&nbsp;groupKey,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a>&gt;&nbsp;aggCalls,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;axes,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.Entry.html" title="class or interface in java.util" class="external-link">Map.Entry</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr>? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;&gt;&nbsp;values)</span></div>
<div class="block">Creates a Pivot.
<p>To achieve the same effect as the SQL
<blockquote><pre><code>
SELECT *
FROM (SELECT mgr, deptno, job, sal FROM emp)
PIVOT (SUM(sal) AS ss, COUNT(*) AS c
FOR (job, deptno)
IN (('CLERK', 10) AS c10, ('MANAGER', 20) AS m20))
</code></pre></blockquote>
<p>use the builder as follows:
<blockquote><pre><code>
RelBuilder b;
b.scan("EMP");
final RelBuilder.GroupKey groupKey = b.groupKey("MGR");
final List&lt;RelBuilder.AggCall&gt; aggCalls =
Arrays.asList(b.sum(b.field("SAL")).as("SS"),
b.count().as("C"));
final List&lt;RexNode&gt; axes =
Arrays.asList(b.field("JOB"),
b.field("DEPTNO"));
final ImmutableMap.Builder&lt;String, List&lt;RexNode&gt;&gt; valueMap =
ImmutableMap.builder();
valueMap.put("C10",
Arrays.asList(b.literal("CLERK"), b.literal(10)));
valueMap.put("M20",
Arrays.asList(b.literal("MANAGER"), b.literal(20)));
b.pivot(groupKey, aggCalls, axes, valueMap.build().entrySet());
</code></pre></blockquote>
<p>Note that the SQL uses a sub-query to project away columns (e.g.
<code>HIREDATE</code>) that it does not reference, so that they do not appear in
the <code>GROUP BY</code>. You do not need to do that in this API, because the
<code>groupKey</code> parameter specifies the keys.
<p>Pivot is implemented by desugaring. The above example becomes the
following:
<blockquote><pre><code>
SELECT mgr,
SUM(sal) FILTER (WHERE job = 'CLERK' AND deptno = 10) AS c10_ss,
COUNT(*) FILTER (WHERE job = 'CLERK' AND deptno = 10) AS c10_c,
SUM(sal) FILTER (WHERE job = 'MANAGER' AND deptno = 20) AS m20_ss,
COUNT(*) FILTER (WHERE job = 'MANAGER' AND deptno = 20) AS m20_c
FROM emp
GROUP BY mgr
</code></pre></blockquote></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>groupKey</code> - Key columns</dd>
<dd><code>aggCalls</code> - Aggregate expressions to compute for each value</dd>
<dd><code>axes</code> - Columns to pivot</dd>
<dd><code>values</code> - Values to pivot, and the alias for each column group</dd>
<dt>Returns:</dt>
<dd>this RelBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="unpivot(boolean,java.lang.Iterable,java.lang.Iterable,java.lang.Iterable)">
<h3>unpivot</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">unpivot</span><wbr><span class="parameters">(boolean&nbsp;includeNulls,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;measureNames,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;axisNames,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.Entry.html" title="class or interface in java.util" class="external-link">Map.Entry</a>&lt;? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;? extends <a href="../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a>&gt;,<wbr>? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;&gt;&nbsp;axisMap)</span></div>
<div class="block">Creates an Unpivot.
<p>To achieve the same effect as the SQL
<blockquote><pre><code>
SELECT *
FROM (SELECT deptno, job, sal, comm FROM emp)
UNPIVOT INCLUDE NULLS (remuneration
FOR remuneration_type IN (comm AS 'commission',
sal AS 'salary'))
</code></pre></blockquote>
<p>use the builder as follows:
<blockquote><pre><code>
RelBuilder b;
b.scan("EMP");
final List&lt;String&gt; measureNames = Arrays.asList("REMUNERATION");
final List&lt;String&gt; axisNames = Arrays.asList("REMUNERATION_TYPE");
final Map&lt;List&lt;RexLiteral&gt;, List&lt;RexNode&gt;&gt; axisMap =
ImmutableMap.&lt;List&lt;RexLiteral&gt;, List&lt;RexNode&gt;&gt;builder()
.put(Arrays.asList(b.literal("commission")),
Arrays.asList(b.field("COMM")))
.put(Arrays.asList(b.literal("salary")),
Arrays.asList(b.field("SAL")))
.build();
b.unpivot(false, measureNames, axisNames, axisMap);
</code></pre></blockquote>
<p>The query generates two columns: <code>remuneration_type</code> (an axis
column) and <code>remuneration</code> (a measure column). Axis columns contain
values to indicate the source of the row (in this case, <code>'salary'</code>
if the row came from the <code>sal</code> column, and <code>'commission'</code>
if the row came from the <code>comm</code> column).</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>includeNulls</code> - Whether to include NULL values in the output</dd>
<dd><code>measureNames</code> - Names of columns to be generated to hold pivoted
measures</dd>
<dd><code>axisNames</code> - Names of columns to be generated to hold qualifying values</dd>
<dd><code>axisMap</code> - Mapping from the columns that hold measures to the values
that the axis columns will hold in the generated rows</dd>
<dt>Returns:</dt>
<dd>This RelBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hints(org.apache.calcite.rel.hint.RelHint...)">
<h3>hints</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">hints</span><wbr><span class="parameters">(<a href="../rel/hint/RelHint.html" title="class in org.apache.calcite.rel.hint">RelHint</a>...&nbsp;hints)</span></div>
<div class="block">Attaches an array of hints to the stack top relational expression.
<p>The redundant hints would be eliminated.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>hints</code> - Hints</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/AssertionError.html" title="class or interface in java.lang" class="external-link">AssertionError</a></code> - if the top relational expression does not implement
<a href="../rel/hint/Hintable.html" title="interface in org.apache.calcite.rel.hint"><code>Hintable</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hints(java.lang.Iterable)">
<h3>hints</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></span>&nbsp;<span class="element-name">hints</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="../rel/hint/RelHint.html" title="class in org.apache.calcite.rel.hint">RelHint</a>&gt;&nbsp;hints)</span></div>
<div class="block">Attaches multiple hints to the stack top relational expression.
<p>The redundant hints would be eliminated.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>hints</code> - Hints</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/AssertionError.html" title="class or interface in java.lang" class="external-link">AssertionError</a></code> - if the top relational expression does not implement
<a href="../rel/hint/Hintable.html" title="interface in org.apache.calcite.rel.hint"><code>Hintable</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="clear()">
<h3>clear</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">clear</span>()</div>
<div class="block">Clears the stack.
<p>The builder's state is now the same as when it was created.</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &copy; 2012-2023 Apache Software Foundation. All Rights Reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>