blob: fb21342dd97ce9cfe3fdf50eacb93c9a17351d55 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>org.apache.calcite.sql2rel (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.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.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="package-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 class="nav-bar-cell1-rev">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#package">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Package:&nbsp;</li>
<li><a href="#package-description">Description</a>&nbsp;|&nbsp;</li>
<li><a href="#related-package-summary">Related Packages</a>&nbsp;|&nbsp;</li>
<li><a href="#class-summary">Classes and Interfaces</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">
<div class="header">
<h1 title="Package org.apache.calcite.sql2rel" class="title">Package org.apache.calcite.sql2rel</h1>
</div>
<hr>
<div class="package-signature"><span class="annotations">@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)
</span>package <span class="element-name">org.apache.calcite.sql2rel</span></div>
<section class="package-description" id="package-description">
<div class="block">Translates a SQL parse tree to relational expression.</div>
</section>
<section class="summary">
<ul class="summary-list">
<li>
<div id="related-package-summary">
<div class="caption"><span>Related Packages</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="../package-summary.html">org.apache.calcite</a></div>
<div class="col-last even-row-color">
<div class="block">Main package for Calcite, the dynamic data management platform.</div>
</div>
</div>
</div>
</li>
<li>
<div id="class-summary">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="class-summary-tab0" role="tab" aria-selected="true" aria-controls="class-summary.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="class-summary-tab1" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab1', 2)" class="table-tab">Interfaces</button><button id="class-summary-tab2" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab2', 2)" class="table-tab">Classes</button></div>
<div id="class-summary.tabpanel" role="tabpanel">
<div class="summary-table two-column-summary" aria-labelledby="class-summary-tab0">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="AuxiliaryConverter.html" title="interface in org.apache.calcite.sql2rel">AuxiliaryConverter</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Converts an expression for a group window function (e.g.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="AuxiliaryConverter.Impl.html" title="class in org.apache.calcite.sql2rel">AuxiliaryConverter.Impl</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Simple implementation of <a href="AuxiliaryConverter.html" title="interface in org.apache.calcite.sql2rel"><code>AuxiliaryConverter</code></a>.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="CorrelateProjectExtractor.html" title="class in org.apache.calcite.sql2rel">CorrelateProjectExtractor</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<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>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="CorrelationReferenceFinder.html" title="class in org.apache.calcite.sql2rel">CorrelationReferenceFinder</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<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>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="DeduplicateCorrelateVariables.html" title="class in org.apache.calcite.sql2rel">DeduplicateCorrelateVariables</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Rewrites relations to ensure the same correlation is referenced by the same
correlation variable.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="InitializerContext.html" title="interface in org.apache.calcite.sql2rel">InitializerContext</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Provides context for <a href="InitializerExpressionFactory.html" title="interface in org.apache.calcite.sql2rel"><code>InitializerExpressionFactory</code></a> methods.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="InitializerExpressionFactory.html" title="interface in org.apache.calcite.sql2rel">InitializerExpressionFactory</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">InitializerExpressionFactory supplies default values for INSERT, UPDATE, and NEW.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="NullInitializerExpressionFactory.html" title="class in org.apache.calcite.sql2rel">NullInitializerExpressionFactory</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<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>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="ReflectiveConvertletTable.html" title="class in org.apache.calcite.sql2rel">ReflectiveConvertletTable</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<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>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelDecorrelator.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<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>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelDecorrelator.AdjustProjectForCountAggregateRule.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.AdjustProjectForCountAggregateRule</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Planner rule that adjusts projects when counts are added.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="RelDecorrelator.AdjustProjectForCountAggregateRule.AdjustProjectForCountAggregateRuleConfig.html" title="interface in org.apache.calcite.sql2rel">RelDecorrelator.AdjustProjectForCountAggregateRule.AdjustProjectForCountAggregateRuleConfig</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Rule configuration.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="RelDecorrelator.Config.html" title="interface in org.apache.calcite.sql2rel">RelDecorrelator.Config</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Base configuration for rules that are non-static in a RelDecorrelator.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelDecorrelator.CorelMap.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorelMap</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<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>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelDecorrelator.CorelMapBuilder.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.CorelMapBuilder</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Builds a <a href="RelDecorrelator.CorelMap.html" title="class in org.apache.calcite.sql2rel"><code>RelDecorrelator.CorelMap</code></a>.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelDecorrelator.RemoveCorrelationForScalarAggregateRule.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.RemoveCorrelationForScalarAggregateRule</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Planner rule that removes correlations for scalar aggregates.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="RelDecorrelator.RemoveCorrelationForScalarAggregateRule.RemoveCorrelationForScalarAggregateRuleConfig.html" title="interface in org.apache.calcite.sql2rel">RelDecorrelator.RemoveCorrelationForScalarAggregateRule.RemoveCorrelationForScalarAggregateRuleConfig</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Rule configuration.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelDecorrelator.RemoveCorrelationForScalarProjectRule.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.RemoveCorrelationForScalarProjectRule</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Planner rule that removes correlations for scalar projects.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="RelDecorrelator.RemoveCorrelationForScalarProjectRule.RemoveCorrelationForScalarProjectRuleConfig.html" title="interface in org.apache.calcite.sql2rel">RelDecorrelator.RemoveCorrelationForScalarProjectRule.RemoveCorrelationForScalarProjectRuleConfig</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Rule configuration.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelDecorrelator.RemoveSingleAggregateRule.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.RemoveSingleAggregateRule</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Rule to remove an Aggregate with SINGLE_VALUE.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="RelDecorrelator.RemoveSingleAggregateRule.RemoveSingleAggregateRuleConfig.html" title="interface in org.apache.calcite.sql2rel">RelDecorrelator.RemoveSingleAggregateRule.RemoveSingleAggregateRuleConfig</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Rule configuration.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelFieldTrimmer.html" title="class in org.apache.calcite.sql2rel">RelFieldTrimmer</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<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>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelFieldTrimmer.TrimResult.html" title="class in org.apache.calcite.sql2rel">RelFieldTrimmer.TrimResult</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Result of an attempt to trim columns from a relational expression.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelStructuredTypeFlattener.html" title="class in org.apache.calcite.sql2rel">RelStructuredTypeFlattener</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">RelStructuredTypeFlattener removes all structured types from a tree of
relational expressions.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="RelStructuredTypeFlattener.SelfFlatteningRel.html" title="interface in org.apache.calcite.sql2rel">RelStructuredTypeFlattener.SelfFlatteningRel</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Mix-in interface for relational expressions that know how to
flatten themselves.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="SqlNodeToRexConverter.html" title="interface in org.apache.calcite.sql2rel">SqlNodeToRexConverter</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<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>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="SqlNodeToRexConverterImpl.html" title="class in org.apache.calcite.sql2rel">SqlNodeToRexConverterImpl</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Standard implementation of <a href="SqlNodeToRexConverter.html" title="interface in org.apache.calcite.sql2rel"><code>SqlNodeToRexConverter</code></a>.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="SqlRexContext.html" title="interface in org.apache.calcite.sql2rel">SqlRexContext</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<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>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="SqlRexConvertlet.html" title="interface in org.apache.calcite.sql2rel">SqlRexConvertlet</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<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>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="SqlRexConvertletTable.html" title="interface in org.apache.calcite.sql2rel">SqlRexConvertletTable</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Collection of <a href="SqlRexConvertlet.html" title="interface in org.apache.calcite.sql2rel"><code>SqlRexConvertlet</code></a>s.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="SqlToRelConverter.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<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>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="SqlToRelConverter.Config.html" title="interface in org.apache.calcite.sql2rel">SqlToRelConverter.Config</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Interface to define the configuration for a SqlToRelConverter.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="SqlToRelConverter.SqlIdentifierFinder.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.SqlIdentifierFinder</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Visitor that looks for an SqlIdentifier inside a tree of
<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> objects and return <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Boolean.html#TRUE" title="class or interface in java.lang" class="external-link"><code>Boolean.TRUE</code></a> when it finds
one.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="StandardConvertletTable.html" title="class in org.apache.calcite.sql2rel">StandardConvertletTable</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Standard implementation of <a href="SqlRexConvertletTable.html" title="interface in org.apache.calcite.sql2rel"><code>SqlRexConvertletTable</code></a>.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="SubQueryConverter.html" title="interface in org.apache.calcite.sql2rel">SubQueryConverter</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">SubQueryConverter provides the interface for classes that convert sub-queries
into equivalent expressions.</div>
</div>
</div>
</div>
</div>
</li>
</ul>
</section>
</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>