blob: 6f5a474e195d9080b5549b28ea169df31f8b4201 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>org.apache.calcite.sql2rel (Apache Calcite calcite API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.calcite.sql2rel">
<meta name="generator" content="javadoc/PackageWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="package-declaration">
<script type="text/javascript">var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= 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-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 class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<p>@DefaultQualifier(value=org.checkerframework.checker.nullness.qual.NonNull.class,locations=FIELD) @DefaultQualifier(value=org.checkerframework.checker.nullness.qual.NonNull.class,locations=PARAMETER) @DefaultQualifier(value=org.checkerframework.checker.nullness.qual.NonNull.class,locations=RETURN)
</p>
<h1 title="Package" class="title">Package&nbsp;org.apache.calcite.sql2rel</h1>
</div>
<div class="contentContainer">
<section class="packageDescription"><a id="package.description">
<!-- -->
</a>
<div class="block">Translates a SQL parse tree to relational expression.</div>
</section>
<section class="summary">
<ul class="blockList">
<li class="blockList">
<div class="typeSummary">
<table>
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="AuxiliaryConverter.html" title="interface in org.apache.calcite.sql2rel">AuxiliaryConverter</a></th>
<td class="colLast">
<div class="block">Converts an expression for a group window function (e.g.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="InitializerContext.html" title="interface in org.apache.calcite.sql2rel">InitializerContext</a></th>
<td class="colLast">
<div class="block">Provides context for <a href="InitializerExpressionFactory.html" title="interface in org.apache.calcite.sql2rel"><code>InitializerExpressionFactory</code></a> methods.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="InitializerExpressionFactory.html" title="interface in org.apache.calcite.sql2rel">InitializerExpressionFactory</a></th>
<td class="colLast">
<div class="block">InitializerExpressionFactory supplies default values for INSERT, UPDATE, and NEW.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelDecorrelator.AdjustProjectForCountAggregateRule.Config.html" title="interface in org.apache.calcite.sql2rel">RelDecorrelator.AdjustProjectForCountAggregateRule.Config</a></th>
<td class="colLast">
<div class="block">Rule configuration.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelDecorrelator.Config.html" title="interface in org.apache.calcite.sql2rel">RelDecorrelator.Config</a></th>
<td class="colLast">
<div class="block">Base configuration for rules that are non-static in a RelDecorrelator.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelDecorrelator.RemoveCorrelationForScalarAggregateRule.Config.html" title="interface in org.apache.calcite.sql2rel">RelDecorrelator.RemoveCorrelationForScalarAggregateRule.Config</a></th>
<td class="colLast">
<div class="block">Rule configuration.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelDecorrelator.RemoveCorrelationForScalarProjectRule.Config.html" title="interface in org.apache.calcite.sql2rel">RelDecorrelator.RemoveCorrelationForScalarProjectRule.Config</a></th>
<td class="colLast">
<div class="block">Rule configuration.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelDecorrelator.RemoveSingleAggregateRule.Config.html" title="interface in org.apache.calcite.sql2rel">RelDecorrelator.RemoveSingleAggregateRule.Config</a></th>
<td class="colLast">
<div class="block">Rule configuration.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelStructuredTypeFlattener.SelfFlatteningRel.html" title="interface in org.apache.calcite.sql2rel">RelStructuredTypeFlattener.SelfFlatteningRel</a></th>
<td class="colLast">
<div class="block">Mix-in interface for relational expressions that know how to
flatten themselves.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="SqlNodeToRexConverter.html" title="interface in org.apache.calcite.sql2rel">SqlNodeToRexConverter</a></th>
<td class="colLast">
<div class="block">Converts expressions from <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> to <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="SqlRexContext.html" title="interface in org.apache.calcite.sql2rel">SqlRexContext</a></th>
<td class="colLast">
<div class="block">Contains the context necessary for a <a href="SqlRexConvertlet.html" title="interface in org.apache.calcite.sql2rel"><code>SqlRexConvertlet</code></a> to convert a
<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> expression into a <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="SqlRexConvertlet.html" title="interface in org.apache.calcite.sql2rel">SqlRexConvertlet</a></th>
<td class="colLast">
<div class="block">Thunk which converts a <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> expression into a <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a>
expression.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="SqlRexConvertletTable.html" title="interface in org.apache.calcite.sql2rel">SqlRexConvertletTable</a></th>
<td class="colLast">
<div class="block">Collection of <a href="SqlRexConvertlet.html" title="interface in org.apache.calcite.sql2rel"><code>SqlRexConvertlet</code></a>s.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="SqlToRelConverter.Config.html" title="interface in org.apache.calcite.sql2rel">SqlToRelConverter.Config</a></th>
<td class="colLast">
<div class="block">Interface to define the configuration for a SqlToRelConverter.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="SubQueryConverter.html" title="interface in org.apache.calcite.sql2rel">SubQueryConverter</a></th>
<td class="colLast">
<div class="block">SubQueryConverter provides the interface for classes that convert sub-queries
into equivalent expressions.</div>
</td>
</tr>
</tbody>
</table>
</div>
</li>
<li class="blockList">
<div class="typeSummary">
<table>
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="AuxiliaryConverter.Impl.html" title="class in org.apache.calcite.sql2rel">AuxiliaryConverter.Impl</a></th>
<td class="colLast">
<div class="block">Simple implementation of <a href="AuxiliaryConverter.html" title="interface in org.apache.calcite.sql2rel"><code>AuxiliaryConverter</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="CorrelateProjectExtractor.html" title="class in org.apache.calcite.sql2rel">CorrelateProjectExtractor</a></th>
<td class="colLast">
<div class="block">A visitor for relational expressions that extracts a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>, with a "simple"
computation over the correlated variables, from the right side of a correlation
(<a href="../rel/core/Correlate.html" title="class in org.apache.calcite.rel.core"><code>Correlate</code></a>) and places it on the left side.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="CorrelationReferenceFinder.html" title="class in org.apache.calcite.sql2rel">CorrelationReferenceFinder</a></th>
<td class="colLast">
<div class="block">Shuttle that finds references to a given <a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core"><code>CorrelationId</code></a> within a tree
of <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>s.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="DeduplicateCorrelateVariables.html" title="class in org.apache.calcite.sql2rel">DeduplicateCorrelateVariables</a></th>
<td class="colLast">
<div class="block">Rewrites relations to ensure the same correlation is referenced by the same
correlation variable.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="NullInitializerExpressionFactory.html" title="class in org.apache.calcite.sql2rel">NullInitializerExpressionFactory</a></th>
<td class="colLast">
<div class="block">An implementation of <a href="InitializerExpressionFactory.html" title="interface in org.apache.calcite.sql2rel"><code>InitializerExpressionFactory</code></a> that always supplies NULL.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="ReflectiveConvertletTable.html" title="class in org.apache.calcite.sql2rel">ReflectiveConvertletTable</a></th>
<td class="colLast">
<div class="block">Implementation of <a href="SqlRexConvertletTable.html" title="interface in org.apache.calcite.sql2rel"><code>SqlRexConvertletTable</code></a> which uses reflection to call
any method of the form <code>public RexNode convertXxx(ConvertletContext,
SqlNode)</code> or <code>public RexNode convertXxx(ConvertletContext,
SqlOperator, SqlCall)</code>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelDecorrelator.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator</a></th>
<td class="colLast">
<div class="block">RelDecorrelator replaces all correlated expressions (corExp) in a relational
expression (RelNode) tree with non-correlated expressions that are produced
from joining the RelNode that produces the corExp with the RelNode that
references it.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelDecorrelator.AdjustProjectForCountAggregateRule.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.AdjustProjectForCountAggregateRule</a></th>
<td class="colLast">
<div class="block">Planner rule that adjusts projects when counts are added.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelDecorrelator.CorelMap.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorelMap</a></th>
<td class="colLast">
<div class="block">A map of the locations of
<a href="../rel/core/Correlate.html" title="class in org.apache.calcite.rel.core"><code>Correlate</code></a>
in a tree of <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>s.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelDecorrelator.CorelMapBuilder.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorelMapBuilder</a></th>
<td class="colLast">
<div class="block">Builds a <a href="RelDecorrelator.CorelMap.html" title="class in org.apache.calcite.sql2rel"><code>RelDecorrelator.CorelMap</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelDecorrelator.RemoveCorrelationForScalarAggregateRule.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.RemoveCorrelationForScalarAggregateRule</a></th>
<td class="colLast">
<div class="block">Planner rule that removes correlations for scalar aggregates.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelDecorrelator.RemoveCorrelationForScalarProjectRule.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.RemoveCorrelationForScalarProjectRule</a></th>
<td class="colLast">
<div class="block">Planner rule that removes correlations for scalar projects.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelDecorrelator.RemoveSingleAggregateRule.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.RemoveSingleAggregateRule</a></th>
<td class="colLast">
<div class="block">Rule to remove single_value rel.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelFieldTrimmer.html" title="class in org.apache.calcite.sql2rel">RelFieldTrimmer</a></th>
<td class="colLast">
<div class="block">Transformer that walks over a tree of relational expressions, replacing each
<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> with a 'slimmed down' relational expression that projects
only the columns required by its consumer.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RelFieldTrimmer.TrimResult.html" title="class in org.apache.calcite.sql2rel">RelFieldTrimmer.TrimResult</a></th>
<td class="colLast">
<div class="block">Result of an attempt to trim columns from a relational expression.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="RelStructuredTypeFlattener.html" title="class in org.apache.calcite.sql2rel">RelStructuredTypeFlattener</a></th>
<td class="colLast">
<div class="block">RelStructuredTypeFlattener removes all structured types from a tree of
relational expressions.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="SqlNodeToRexConverterImpl.html" title="class in org.apache.calcite.sql2rel">SqlNodeToRexConverterImpl</a></th>
<td class="colLast">
<div class="block">Standard implementation of <a href="SqlNodeToRexConverter.html" title="interface in org.apache.calcite.sql2rel"><code>SqlNodeToRexConverter</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="SqlToRelConverter.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter</a></th>
<td class="colLast">
<div class="block">Converts a SQL parse tree (consisting of
<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> objects) into a relational algebra
expression (consisting of <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> objects).</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="SqlToRelConverter.ConfigBuilder.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.ConfigBuilder</a></th>
<td class="colLast">Deprecated.</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="StandardConvertletTable.html" title="class in org.apache.calcite.sql2rel">StandardConvertletTable</a></th>
<td class="colLast">
<div class="block">Standard implementation of <a href="SqlRexConvertletTable.html" title="interface in org.apache.calcite.sql2rel"><code>SqlRexConvertletTable</code></a>.</div>
</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
</section>
</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-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 class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &copy; 2012-2021 Apache Software Foundation. All Rights Reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>