<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>org.apache.calcite.rel.core (Apache Calcite API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="org.apache.calcite.rel.core (Apache Calcite API)";
        }
    }
    catch(err) {
    }
//-->
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="header">
<h1 title="Package" class="title">Package&nbsp;org.apache.calcite.rel.core</h1>
</div>
<div class="contentContainer">
<section role="region"><a id="package.description">
<!--   -->
</a>
<div class="block">Defines core relational expressions.

 <h2>Related packages and classes</h2>
 <ul>

 <li>Package <code>
 <a href="../logical/package-summary.html">org.apache.calcite.rel.logical</a></code>
 contains logical relational expressions

 <li>Package <code>
 <a href="../package-summary.html">org.apache.calcite.rex</a></code>
 defines the relational expression API

 </ul></div>
</section>
<ul class="blockList">
<li class="blockList">
<table class="typeSummary">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelFactories.AggregateFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.AggregateFactory</a></th>
<td class="colLast">
<div class="block">Can create a <a href="../logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical"><code>LogicalAggregate</code></a> of the appropriate type
 for this rule's calling convention.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelFactories.CorrelateFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.CorrelateFactory</a></th>
<td class="colLast">
<div class="block">Can create a correlate of the appropriate type for a rule's calling
 convention.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelFactories.ExchangeFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ExchangeFactory</a></th>
<td class="colLast">
<div class="block">Can create a <a href="Exchange.html" title="class in org.apache.calcite.rel.core"><code>Exchange</code></a>
 of the appropriate type for a rule's calling convention.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelFactories.FilterFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.FilterFactory</a></th>
<td class="colLast">
<div class="block">Can create a <a href="Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> of the appropriate type
 for this rule's calling convention.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelFactories.JoinFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.JoinFactory</a></th>
<td class="colLast">
<div class="block">Can create a join of the appropriate type for a rule's calling convention.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelFactories.MatchFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.MatchFactory</a></th>
<td class="colLast">
<div class="block">Can create a <a href="Match.html" title="class in org.apache.calcite.rel.core"><code>Match</code></a> of
 the appropriate type for a rule's calling convention.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ProjectFactory</a></th>
<td class="colLast">
<div class="block">Can create a
 <a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a> of the
 appropriate type for this rule's calling convention.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelFactories.RepeatUnionFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.RepeatUnionFactory</a></th>
<td class="colLast">
<div class="block">Can create a <a href="RepeatUnion.html" title="class in org.apache.calcite.rel.core"><code>RepeatUnion</code></a> of
 the appropriate type for a rule's calling convention.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelFactories.SemiJoinFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.SemiJoinFactory</a></th>
<td class="colLast">Deprecated.
<div class="deprecationComment">Use <a href="RelFactories.JoinFactory.html" title="interface in org.apache.calcite.rel.core"><code>RelFactories.JoinFactory</code></a> instead.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelFactories.SetOpFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.SetOpFactory</a></th>
<td class="colLast">
<div class="block">Can create a <a href="SetOp.html" title="class in org.apache.calcite.rel.core"><code>SetOp</code></a> for a particular kind of
 set operation (UNION, EXCEPT, INTERSECT) and of the appropriate type
 for this rule's calling convention.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelFactories.SnapshotFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.SnapshotFactory</a></th>
<td class="colLast">
<div class="block">Can create a <a href="Snapshot.html" title="class in org.apache.calcite.rel.core"><code>Snapshot</code></a> of
 the appropriate type for a rule's calling convention.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelFactories.SortExchangeFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.SortExchangeFactory</a></th>
<td class="colLast">
<div class="block">Can create a <a href="SortExchange.html" title="class in org.apache.calcite.rel.core"><code>SortExchange</code></a>
 of the appropriate type for a rule's calling convention.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelFactories.SortFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.SortFactory</a></th>
<td class="colLast">
<div class="block">Can create a <a href="Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> of the appropriate type
 for this rule's calling convention.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelFactories.SpoolFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.SpoolFactory</a></th>
<td class="colLast">
<div class="block">Can create a <a href="Spool.html" title="class in org.apache.calcite.rel.core"><code>Spool</code></a> of
 the appropriate type for a rule's calling convention.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelFactories.TableFunctionScanFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.TableFunctionScanFactory</a></th>
<td class="colLast">
<div class="block">Can create a <a href="TableFunctionScan.html" title="class in org.apache.calcite.rel.core"><code>TableFunctionScan</code></a>
 of the appropriate type for a rule's calling convention.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelFactories.TableScanFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.TableScanFactory</a></th>
<td class="colLast">
<div class="block">Can create a <a href="TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a> of the appropriate type for a rule's calling
 convention.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelFactories.ValuesFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ValuesFactory</a></th>
<td class="colLast">
<div class="block">Can create a <a href="Values.html" title="class in org.apache.calcite.rel.core"><code>Values</code></a> of the appropriate type for a rule's calling
 convention.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a></th>
<td class="colLast">
<div class="block">Relational operator that eliminates
 duplicates and computes totals.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Aggregate.AggCallBinding.html" title="class in org.apache.calcite.rel.core">Aggregate.AggCallBinding</a></th>
<td class="colLast">
<div class="block">Implementation of the <a href="../../sql/SqlOperatorBinding.html" title="class in org.apache.calcite.sql"><code>SqlOperatorBinding</code></a> interface for an
 <a href="AggregateCall.html" title="class in org.apache.calcite.rel.core"><code>aggregate call</code></a> applied to a set of operands in the
 context of a <a href="../logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical"><code>LogicalAggregate</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a></th>
<td class="colLast">
<div class="block">Call to an aggregate function within an
 <a href="Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Calc.html" title="class in org.apache.calcite.rel.core">Calc</a></th>
<td class="colLast">
<div class="block"><code>Calc</code> is an abstract base class for implementations of
 <a href="../logical/LogicalCalc.html" title="class in org.apache.calcite.rel.logical"><code>LogicalCalc</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Collect.html" title="class in org.apache.calcite.rel.core">Collect</a></th>
<td class="colLast">
<div class="block">A relational expression that collapses multiple rows into one.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Correlate.html" title="class in org.apache.calcite.rel.core">Correlate</a></th>
<td class="colLast">
<div class="block">A relational operator that performs nested-loop joins.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a></th>
<td class="colLast">
<div class="block">Describes the necessary parameters for an implementation in order to
 identify and set dynamic variables</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="EquiJoin.html" title="class in org.apache.calcite.rel.core">EquiJoin</a></th>
<td class="colLast">Deprecated.
<div class="deprecationComment">This class is no longer needed; if you are writing a sub-class of
 Join that only accepts equi conditions, it is sufficient that it extends
 <a href="Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Exchange.html" title="class in org.apache.calcite.rel.core">Exchange</a></th>
<td class="colLast">
<div class="block">Relational expression that imposes a particular distribution on its input
 without otherwise changing its content.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Filter.html" title="class in org.apache.calcite.rel.core">Filter</a></th>
<td class="colLast">
<div class="block">Relational expression that iterates over its input
 and returns elements for which <code>condition</code> evaluates to
 <code>true</code>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Intersect.html" title="class in org.apache.calcite.rel.core">Intersect</a></th>
<td class="colLast">
<div class="block">Relational expression that returns the intersection of the rows of its
 inputs.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Join.html" title="class in org.apache.calcite.rel.core">Join</a></th>
<td class="colLast">
<div class="block">Relational expression that combines two relational expressions according to
 some condition.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="JoinInfo.html" title="class in org.apache.calcite.rel.core">JoinInfo</a></th>
<td class="colLast">
<div class="block">An analyzed join condition.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Match.html" title="class in org.apache.calcite.rel.core">Match</a></th>
<td class="colLast">
<div class="block">Relational expression that represent a MATCH_RECOGNIZE node.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Match.AggregateFinder.html" title="class in org.apache.calcite.rel.core">Match.AggregateFinder</a></th>
<td class="colLast">
<div class="block">Find aggregate functions in operands.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Match.PatternVarFinder.html" title="class in org.apache.calcite.rel.core">Match.PatternVarFinder</a></th>
<td class="colLast">
<div class="block">Visits the operands of an aggregate call to retrieve relevant pattern
 variables.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Match.RexMRAggCall.html" title="class in org.apache.calcite.rel.core">Match.RexMRAggCall</a></th>
<td class="colLast">
<div class="block">Aggregate calls in match recognize.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Minus.html" title="class in org.apache.calcite.rel.core">Minus</a></th>
<td class="colLast">
<div class="block">Relational expression that returns the rows of its first input minus any
 matching rows from its other inputs.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Project.html" title="class in org.apache.calcite.rel.core">Project</a></th>
<td class="colLast">
<div class="block">Relational expression that computes a set of
 'select expressions' from its input relational expression.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Project.Flags.html" title="class in org.apache.calcite.rel.core">Project.Flags</a></th>
<td class="colLast">Deprecated.</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelFactories.html" title="class in org.apache.calcite.rel.core">RelFactories</a></th>
<td class="colLast">
<div class="block">Contains factory interface and default implementation for creating various
 rel nodes.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelFactories.AggregateFactoryImpl.html" title="class in org.apache.calcite.rel.core">RelFactories.AggregateFactoryImpl</a></th>
<td class="colLast">
<div class="block">Implementation of <a href="RelFactories.AggregateFactory.html" title="interface in org.apache.calcite.rel.core"><code>RelFactories.AggregateFactory</code></a>
 that returns a vanilla <a href="../logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical"><code>LogicalAggregate</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelFactories.CorrelateFactoryImpl.html" title="class in org.apache.calcite.rel.core">RelFactories.CorrelateFactoryImpl</a></th>
<td class="colLast">
<div class="block">Implementation of <a href="RelFactories.CorrelateFactory.html" title="interface in org.apache.calcite.rel.core"><code>RelFactories.CorrelateFactory</code></a> that returns a vanilla
 <a href="../logical/LogicalCorrelate.html" title="class in org.apache.calcite.rel.logical"><code>LogicalCorrelate</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelFactories.ExchangeFactoryImpl.html" title="class in org.apache.calcite.rel.core">RelFactories.ExchangeFactoryImpl</a></th>
<td class="colLast">
<div class="block">Implementation of
 <a href="RelFactories.ExchangeFactory.html" title="interface in org.apache.calcite.rel.core"><code>RelFactories.ExchangeFactory</code></a>
 that returns a <a href="Exchange.html" title="class in org.apache.calcite.rel.core"><code>Exchange</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelFactories.FilterFactoryImpl.html" title="class in org.apache.calcite.rel.core">RelFactories.FilterFactoryImpl</a></th>
<td class="colLast">
<div class="block">Implementation of <a href="RelFactories.FilterFactory.html" title="interface in org.apache.calcite.rel.core"><code>RelFactories.FilterFactory</code></a> that
 returns a vanilla <a href="../logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical"><code>LogicalFilter</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelFactories.JoinFactoryImpl.html" title="class in org.apache.calcite.rel.core">RelFactories.JoinFactoryImpl</a></th>
<td class="colLast">
<div class="block">Implementation of <a href="RelFactories.JoinFactory.html" title="interface in org.apache.calcite.rel.core"><code>RelFactories.JoinFactory</code></a> that returns a vanilla
 <a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical"><code>LogicalJoin</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelFactories.MatchFactoryImpl.html" title="class in org.apache.calcite.rel.core">RelFactories.MatchFactoryImpl</a></th>
<td class="colLast">
<div class="block">Implementation of <a href="RelFactories.MatchFactory.html" title="interface in org.apache.calcite.rel.core"><code>RelFactories.MatchFactory</code></a>
 that returns a <a href="../logical/LogicalMatch.html" title="class in org.apache.calcite.rel.logical"><code>LogicalMatch</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelFactories.ProjectFactoryImpl.html" title="class in org.apache.calcite.rel.core">RelFactories.ProjectFactoryImpl</a></th>
<td class="colLast">
<div class="block">Implementation of <a href="RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core"><code>RelFactories.ProjectFactory</code></a> that returns a vanilla
 <a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelFactories.RepeatUnionFactoryImpl.html" title="class in org.apache.calcite.rel.core">RelFactories.RepeatUnionFactoryImpl</a></th>
<td class="colLast">
<div class="block">Implementation of <a href="RepeatUnion.html" title="class in org.apache.calcite.rel.core"><code>RepeatUnion</code></a>
 that returns a <a href="../logical/LogicalRepeatUnion.html" title="class in org.apache.calcite.rel.logical"><code>LogicalRepeatUnion</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelFactories.SemiJoinFactoryImpl.html" title="class in org.apache.calcite.rel.core">RelFactories.SemiJoinFactoryImpl</a></th>
<td class="colLast">Deprecated.
<div class="deprecationComment">Use <a href="RelFactories.JoinFactoryImpl.html" title="class in org.apache.calcite.rel.core"><code>RelFactories.JoinFactoryImpl</code></a> instead.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelFactories.SetOpFactoryImpl.html" title="class in org.apache.calcite.rel.core">RelFactories.SetOpFactoryImpl</a></th>
<td class="colLast">
<div class="block">Implementation of <a href="RelFactories.SetOpFactory.html" title="interface in org.apache.calcite.rel.core"><code>RelFactories.SetOpFactory</code></a> that
 returns a vanilla <a href="SetOp.html" title="class in org.apache.calcite.rel.core"><code>SetOp</code></a> for the particular kind of set
 operation (UNION, EXCEPT, INTERSECT).</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelFactories.SnapshotFactoryImpl.html" title="class in org.apache.calcite.rel.core">RelFactories.SnapshotFactoryImpl</a></th>
<td class="colLast">
<div class="block">Implementation of <a href="RelFactories.SnapshotFactory.html" title="interface in org.apache.calcite.rel.core"><code>RelFactories.SnapshotFactory</code></a> that
 returns a vanilla <a href="../logical/LogicalSnapshot.html" title="class in org.apache.calcite.rel.logical"><code>LogicalSnapshot</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelFactories.SortExchangeFactoryImpl.html" title="class in org.apache.calcite.rel.core">RelFactories.SortExchangeFactoryImpl</a></th>
<td class="colLast">
<div class="block">Implementation of
 <a href="RelFactories.SortExchangeFactory.html" title="interface in org.apache.calcite.rel.core"><code>RelFactories.SortExchangeFactory</code></a>
 that returns a <a href="SortExchange.html" title="class in org.apache.calcite.rel.core"><code>SortExchange</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelFactories.SortFactoryImpl.html" title="class in org.apache.calcite.rel.core">RelFactories.SortFactoryImpl</a></th>
<td class="colLast">
<div class="block">Implementation of <a href="RelFactories.SortFactory.html" title="interface in org.apache.calcite.rel.core"><code>RelFactories.SortFactory</code></a> that
 returns a vanilla <a href="Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelFactories.SpoolFactoryImpl.html" title="class in org.apache.calcite.rel.core">RelFactories.SpoolFactoryImpl</a></th>
<td class="colLast">
<div class="block">Implementation of <a href="RelFactories.SpoolFactory.html" title="interface in org.apache.calcite.rel.core"><code>RelFactories.SpoolFactory</code></a>
 that returns Logical Spools.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelFactories.TableFunctionScanFactoryImpl.html" title="class in org.apache.calcite.rel.core">RelFactories.TableFunctionScanFactoryImpl</a></th>
<td class="colLast">
<div class="block">Implementation of
 <a href="RelFactories.TableFunctionScanFactory.html" title="interface in org.apache.calcite.rel.core"><code>RelFactories.TableFunctionScanFactory</code></a>
 that returns a <a href="TableFunctionScan.html" title="class in org.apache.calcite.rel.core"><code>TableFunctionScan</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelFactories.TableScanFactoryImpl.html" title="class in org.apache.calcite.rel.core">RelFactories.TableScanFactoryImpl</a></th>
<td class="colLast">
<div class="block">Implementation of <a href="RelFactories.TableScanFactory.html" title="interface in org.apache.calcite.rel.core"><code>RelFactories.TableScanFactory</code></a> that returns a
 <a href="../logical/LogicalTableScan.html" title="class in org.apache.calcite.rel.logical"><code>LogicalTableScan</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelFactories.ValuesFactoryImpl.html" title="class in org.apache.calcite.rel.core">RelFactories.ValuesFactoryImpl</a></th>
<td class="colLast">
<div class="block">Implementation of <a href="RelFactories.ValuesFactory.html" title="interface in org.apache.calcite.rel.core"><code>RelFactories.ValuesFactory</code></a> that returns a
 <a href="../logical/LogicalValues.html" title="class in org.apache.calcite.rel.logical"><code>LogicalValues</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RepeatUnion.html" title="class in org.apache.calcite.rel.core">RepeatUnion</a></th>
<td class="colLast">
<div class="block">Relational expression that computes a repeat union (recursive union in SQL
 terminology).</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Sample.html" title="class in org.apache.calcite.rel.core">Sample</a></th>
<td class="colLast">
<div class="block">Relational expression that returns a sample of the rows from its input.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="SetOp.html" title="class in org.apache.calcite.rel.core">SetOp</a></th>
<td class="colLast">
<div class="block"><code>SetOp</code> is an abstract base for relational set operators such
 as UNION, MINUS (aka EXCEPT), and INTERSECT.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Snapshot.html" title="class in org.apache.calcite.rel.core">Snapshot</a></th>
<td class="colLast">
<div class="block">Relational expression that returns the contents of a relation expression as
 it was at a given time in the past.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Sort.html" title="class in org.apache.calcite.rel.core">Sort</a></th>
<td class="colLast">
<div class="block">Relational expression that imposes a particular sort order on its input
 without otherwise changing its content.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="SortExchange.html" title="class in org.apache.calcite.rel.core">SortExchange</a></th>
<td class="colLast">
<div class="block">Relational expression that performs <a href="Exchange.html" title="class in org.apache.calcite.rel.core"><code>Exchange</code></a> and <a href="Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a>
 simultaneously.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Spool.html" title="class in org.apache.calcite.rel.core">Spool</a></th>
<td class="colLast">
<div class="block">Relational expression that iterates over its input and, in addition to
 returning its results, will forward them into other consumers.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="TableFunctionScan.html" title="class in org.apache.calcite.rel.core">TableFunctionScan</a></th>
<td class="colLast">
<div class="block">Relational expression that calls a table-valued function.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="TableModify.html" title="class in org.apache.calcite.rel.core">TableModify</a></th>
<td class="colLast">
<div class="block">Relational expression that modifies a table.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="TableScan.html" title="class in org.apache.calcite.rel.core">TableScan</a></th>
<td class="colLast">
<div class="block">Relational operator that returns the contents of a table.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="TableSpool.html" title="class in org.apache.calcite.rel.core">TableSpool</a></th>
<td class="colLast">
<div class="block">Spool that writes into a table.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Uncollect.html" title="class in org.apache.calcite.rel.core">Uncollect</a></th>
<td class="colLast">
<div class="block">Relational expression that unnests its input's columns into a relation.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Union.html" title="class in org.apache.calcite.rel.core">Union</a></th>
<td class="colLast">
<div class="block">Relational expression that returns the union of the rows of its inputs,
 optionally eliminating duplicates.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Values.html" title="class in org.apache.calcite.rel.core">Values</a></th>
<td class="colLast">
<div class="block">Relational expression whose value is a sequence of zero or more literal row
 values.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Window.html" title="class in org.apache.calcite.rel.core">Window</a></th>
<td class="colLast">
<div class="block">A relational expression representing a set of window aggregates.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Window.Group.html" title="class in org.apache.calcite.rel.core">Window.Group</a></th>
<td class="colLast">
<div class="block">Group of windowed aggregate calls that have the same window specification.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Window.RexWinAggCall.html" title="class in org.apache.calcite.rel.core">Window.RexWinAggCall</a></th>
<td class="colLast">
<div class="block">A call to a windowed aggregate function.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary">
<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Aggregate.Group.html" title="enum in org.apache.calcite.rel.core">Aggregate.Group</a></th>
<td class="colLast">
<div class="block">What kind of roll-up is it?</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a></th>
<td class="colLast">
<div class="block">Enumeration of join types.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Spool.Type.html" title="enum in org.apache.calcite.rel.core">Spool.Type</a></th>
<td class="colLast">
<div class="block">Enumeration representing spool read / write type.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="TableModify.Operation.html" title="enum in org.apache.calcite.rel.core">TableModify.Operation</a></th>
<td class="colLast">
<div class="block">Enumeration of supported modification operations.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
