blob: 0bb321b281dfd610c969156798a4da8af2a34904 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Uses of Class org.apache.calcite.rel.RelRoot (Apache Calcite API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.apache.calcite.rel.RelRoot (Apache Calcite API)";
}
}
catch(err) {
}
//-->
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../RelRoot.html" title="class in org.apache.calcite.rel">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="header">
<h2 title="Uses of Class org.apache.calcite.rel.RelRoot" class="title">Uses of Class<br>org.apache.calcite.rel.RelRoot</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">
<li class="blockList">
<table class="useSummary">
<caption><span>Packages that use <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.jdbc">org.apache.calcite.jdbc</a></th>
<td class="colLast">
<div class="block">JDBC driver for Calcite.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.plan">org.apache.calcite.plan</a></th>
<td class="colLast">
<div class="block">Defines interfaces for constructing rule-based optimizers of
relational expressions.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.prepare">org.apache.calcite.prepare</a></th>
<td class="colLast">
<div class="block">Preparation of queries (parsing, planning and implementation).</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.rel">org.apache.calcite.rel</a></th>
<td class="colLast">
<div class="block">Defines relational expressions.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.schema.impl">org.apache.calcite.schema.impl</a></th>
<td class="colLast">
<div class="block">Utilities to help implement Calcite's SPIs.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.sql2rel">org.apache.calcite.sql2rel</a></th>
<td class="colLast">
<div class="block">Translates a SQL parse tree to relational expression.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.tools">org.apache.calcite.tools</a></th>
<td class="colLast">
<div class="block">Provides utility classes.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<ul class="blockList">
<li class="blockList">
<section role="region"><a id="org.apache.calcite.jdbc">
<!-- -->
</a>
<h3>Uses of <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a> in <a href="../../jdbc/package-summary.html">org.apache.calcite.jdbc</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../../jdbc/package-summary.html">org.apache.calcite.jdbc</a> declared as <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepare.ConvertResult.</span><code><span class="memberNameLink"><a href="../../jdbc/CalcitePrepare.ConvertResult.html#root">root</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../jdbc/package-summary.html">org.apache.calcite.jdbc</a> with parameters of type <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../jdbc/CalcitePrepare.AnalyzeViewResult.html#%3Cinit%3E(org.apache.calcite.prepare.CalcitePrepareImpl,org.apache.calcite.sql.validate.SqlValidator,java.lang.String,org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.RelRoot,org.apache.calcite.schema.Table,com.google.common.collect.ImmutableList,org.apache.calcite.rex.RexNode,org.apache.calcite.util.ImmutableIntList,boolean)">AnalyzeViewResult</a></span>&#8203;(<a href="../../prepare/CalcitePrepareImpl.html" title="class in org.apache.calcite.prepare">CalcitePrepareImpl</a>&nbsp;prepare,
<a href="../../sql/validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a>&nbsp;validator,
java.lang.String&nbsp;sql,
<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;sqlNode,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
<a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a>&nbsp;root,
<a href="../../schema/Table.html" title="interface in org.apache.calcite.schema">Table</a>&nbsp;table,
com.google.common.collect.ImmutableList&lt;java.lang.String&gt;&nbsp;tablePath,
<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;constraint,
<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&nbsp;columnMapping,
boolean&nbsp;modifiable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../jdbc/CalcitePrepare.ConvertResult.html#%3Cinit%3E(org.apache.calcite.prepare.CalcitePrepareImpl,org.apache.calcite.sql.validate.SqlValidator,java.lang.String,org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.RelRoot)">ConvertResult</a></span>&#8203;(<a href="../../prepare/CalcitePrepareImpl.html" title="class in org.apache.calcite.prepare">CalcitePrepareImpl</a>&nbsp;prepare,
<a href="../../sql/validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a>&nbsp;validator,
java.lang.String&nbsp;sql,
<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;sqlNode,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
<a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a>&nbsp;root)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.plan">
<!-- -->
</a>
<h3>Uses of <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a> in <a href="../../plan/package-summary.html">org.apache.calcite.plan</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../plan/package-summary.html">org.apache.calcite.plan</a> that return <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptTable.ViewExpander.</span><code><span class="memberNameLink"><a href="../../plan/RelOptTable.ViewExpander.html#expandView(org.apache.calcite.rel.type.RelDataType,java.lang.String,java.util.List,java.util.List)">expandView</a></span>&#8203;(<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.lang.String&nbsp;queryString,
java.util.List&lt;java.lang.String&gt;&nbsp;schemaPath,
java.util.List&lt;java.lang.String&gt;&nbsp;viewPath)</code></th>
<td class="colLast">
<div class="block">Returns a relational expression that is to be substituted for an access
to a SQL view.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.prepare">
<!-- -->
</a>
<h3>Uses of <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a> in <a href="../../prepare/package-summary.html">org.apache.calcite.prepare</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../../prepare/package-summary.html">org.apache.calcite.prepare</a> declared as <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PlannerImpl.</span><code><span class="memberNameLink"><a href="../../prepare/PlannerImpl.html#root">root</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Prepare.PreparedExplain.</span><code><span class="memberNameLink"><a href="../../prepare/Prepare.PreparedExplain.html#root">root</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../prepare/package-summary.html">org.apache.calcite.prepare</a> that return <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepareImpl.CalcitePreparingStmt.</span><code><span class="memberNameLink"><a href="../../prepare/CalcitePrepareImpl.CalcitePreparingStmt.html#expandView(org.apache.calcite.rel.type.RelDataType,java.lang.String,java.util.List,java.util.List)">expandView</a></span>&#8203;(<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.lang.String&nbsp;queryString,
java.util.List&lt;java.lang.String&gt;&nbsp;schemaPath,
java.util.List&lt;java.lang.String&gt;&nbsp;viewPath)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PlannerImpl.</span><code><span class="memberNameLink"><a href="../../prepare/PlannerImpl.html#expandView(org.apache.calcite.rel.type.RelDataType,java.lang.String,java.util.List,java.util.List)">expandView</a></span>&#8203;(<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.lang.String&nbsp;queryString,
java.util.List&lt;java.lang.String&gt;&nbsp;schemaPath,
java.util.List&lt;java.lang.String&gt;&nbsp;viewPath)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PlannerImpl.ViewExpanderImpl.</span><code><span class="memberNameLink"><a href="../../prepare/PlannerImpl.ViewExpanderImpl.html#expandView(org.apache.calcite.rel.type.RelDataType,java.lang.String,java.util.List,java.util.List)">expandView</a></span>&#8203;(<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.lang.String&nbsp;queryString,
java.util.List&lt;java.lang.String&gt;&nbsp;schemaPath,
java.util.List&lt;java.lang.String&gt;&nbsp;viewPath)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Prepare.</span><code><span class="memberNameLink"><a href="../../prepare/Prepare.html#optimize(org.apache.calcite.rel.RelRoot,java.util.List,java.util.List)">optimize</a></span>&#8203;(<a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a>&nbsp;root,
java.util.List&lt;<a href="../../prepare/Prepare.Materialization.html" title="class in org.apache.calcite.prepare">Prepare.Materialization</a>&gt;&nbsp;materializations,
java.util.List&lt;<a href="../../jdbc/CalciteSchema.LatticeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.LatticeEntry</a>&gt;&nbsp;lattices)</code></th>
<td class="colLast">
<div class="block">Optimizes a query plan.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PlannerImpl.</span><code><span class="memberNameLink"><a href="../../prepare/PlannerImpl.html#rel(org.apache.calcite.sql.SqlNode)">rel</a></span>&#8203;(<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;sql)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Prepare.</span><code><span class="memberNameLink"><a href="../../prepare/Prepare.html#trimUnusedFields(org.apache.calcite.rel.RelRoot)">trimUnusedFields</a></span>&#8203;(<a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a>&nbsp;root)</code></th>
<td class="colLast">
<div class="block">Walks over a tree of relational expressions, replacing each
<a href="../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>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../prepare/package-summary.html">org.apache.calcite.prepare</a> with parameters of type <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../jdbc/CalcitePrepare.AnalyzeViewResult.html" title="class in org.apache.calcite.jdbc">CalcitePrepare.AnalyzeViewResult</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepareImpl.</span><code><span class="memberNameLink"><a href="../../prepare/CalcitePrepareImpl.html#analyze_(org.apache.calcite.sql.validate.SqlValidator,java.lang.String,org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.RelRoot,boolean)">analyze_</a></span>&#8203;(<a href="../../sql/validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a>&nbsp;validator,
java.lang.String&nbsp;sql,
<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;sqlNode,
<a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a>&nbsp;root,
boolean&nbsp;fail)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../prepare/Prepare.PreparedResult.html" title="interface in org.apache.calcite.prepare">Prepare.PreparedResult</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepareImpl.CalcitePreparingStmt.</span><code><span class="memberNameLink"><a href="../../prepare/CalcitePrepareImpl.CalcitePreparingStmt.html#createPreparedExplanation(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.RelRoot,org.apache.calcite.sql.SqlExplainFormat,org.apache.calcite.sql.SqlExplainLevel)">createPreparedExplanation</a></span>&#8203;(<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;resultType,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;parameterRowType,
<a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a>&nbsp;root,
<a href="../../sql/SqlExplainFormat.html" title="enum in org.apache.calcite.sql">SqlExplainFormat</a>&nbsp;format,
<a href="../../sql/SqlExplainLevel.html" title="enum in org.apache.calcite.sql">SqlExplainLevel</a>&nbsp;detailLevel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected abstract <a href="../../prepare/Prepare.PreparedResult.html" title="interface in org.apache.calcite.prepare">Prepare.PreparedResult</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Prepare.</span><code><span class="memberNameLink"><a href="../../prepare/Prepare.html#createPreparedExplanation(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.RelRoot,org.apache.calcite.sql.SqlExplainFormat,org.apache.calcite.sql.SqlExplainLevel)">createPreparedExplanation</a></span>&#8203;(<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;resultType,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;parameterRowType,
<a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a>&nbsp;root,
<a href="../../sql/SqlExplainFormat.html" title="enum in org.apache.calcite.sql">SqlExplainFormat</a>&nbsp;format,
<a href="../../sql/SqlExplainLevel.html" title="enum in org.apache.calcite.sql">SqlExplainLevel</a>&nbsp;detailLevel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Prepare.</span><code><span class="memberNameLink"><a href="../../prepare/Prepare.html#getDesiredRootTraitSet(org.apache.calcite.rel.RelRoot)">getDesiredRootTraitSet</a></span>&#8203;(<a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a>&nbsp;root)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../prepare/Prepare.PreparedResult.html" title="interface in org.apache.calcite.prepare">Prepare.PreparedResult</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalcitePrepareImpl.CalcitePreparingStmt.</span><code><span class="memberNameLink"><a href="../../prepare/CalcitePrepareImpl.CalcitePreparingStmt.html#implement(org.apache.calcite.rel.RelRoot)">implement</a></span>&#8203;(<a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a>&nbsp;root)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected abstract <a href="../../prepare/Prepare.PreparedResult.html" title="interface in org.apache.calcite.prepare">Prepare.PreparedResult</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Prepare.</span><code><span class="memberNameLink"><a href="../../prepare/Prepare.html#implement(org.apache.calcite.rel.RelRoot)">implement</a></span>&#8203;(<a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a>&nbsp;root)</code></th>
<td class="colLast">
<div class="block">Implements a physical query plan.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Prepare.</span><code><span class="memberNameLink"><a href="../../prepare/Prepare.html#optimize(org.apache.calcite.rel.RelRoot,java.util.List,java.util.List)">optimize</a></span>&#8203;(<a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a>&nbsp;root,
java.util.List&lt;<a href="../../prepare/Prepare.Materialization.html" title="class in org.apache.calcite.prepare">Prepare.Materialization</a>&gt;&nbsp;materializations,
java.util.List&lt;<a href="../../jdbc/CalciteSchema.LatticeEntry.html" title="class in org.apache.calcite.jdbc">CalciteSchema.LatticeEntry</a>&gt;&nbsp;lattices)</code></th>
<td class="colLast">
<div class="block">Optimizes a query plan.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Prepare.</span><code><span class="memberNameLink"><a href="../../prepare/Prepare.html#trimUnusedFields(org.apache.calcite.rel.RelRoot)">trimUnusedFields</a></span>&#8203;(<a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a>&nbsp;root)</code></th>
<td class="colLast">
<div class="block">Walks over a tree of relational expressions, replacing each
<a href="../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>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../prepare/package-summary.html">org.apache.calcite.prepare</a> with parameters of type <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../prepare/CalcitePrepareImpl.CalcitePreparedExplain.html#%3Cinit%3E(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.RelRoot,org.apache.calcite.sql.SqlExplainFormat,org.apache.calcite.sql.SqlExplainLevel)">CalcitePreparedExplain</a></span>&#8203;(<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;resultType,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;parameterRowType,
<a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a>&nbsp;root,
<a href="../../sql/SqlExplainFormat.html" title="enum in org.apache.calcite.sql">SqlExplainFormat</a>&nbsp;format,
<a href="../../sql/SqlExplainLevel.html" title="enum in org.apache.calcite.sql">SqlExplainLevel</a>&nbsp;detailLevel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../prepare/Prepare.PreparedExplain.html#%3Cinit%3E(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.RelRoot,org.apache.calcite.sql.SqlExplainFormat,org.apache.calcite.sql.SqlExplainLevel)">PreparedExplain</a></span>&#8203;(<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;parameterRowType,
<a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a>&nbsp;root,
<a href="../../sql/SqlExplainFormat.html" title="enum in org.apache.calcite.sql">SqlExplainFormat</a>&nbsp;format,
<a href="../../sql/SqlExplainLevel.html" title="enum in org.apache.calcite.sql">SqlExplainLevel</a>&nbsp;detailLevel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rel">
<!-- -->
</a>
<h3>Uses of <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a> in <a href="../package-summary.html">org.apache.calcite.rel</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../package-summary.html">org.apache.calcite.rel</a> that return <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelRoot.</span><code><span class="memberNameLink"><a href="../RelRoot.html#of(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.sql.SqlKind)">of</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
<a href="../../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind)</code></th>
<td class="colLast">
<div class="block">Creates a simple RelRoot.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelRoot.</span><code><span class="memberNameLink"><a href="../RelRoot.html#of(org.apache.calcite.rel.RelNode,org.apache.calcite.sql.SqlKind)">of</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel,
<a href="../../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind)</code></th>
<td class="colLast">
<div class="block">Creates a simple RelRoot.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelRoot.</span><code><span class="memberNameLink"><a href="../RelRoot.html#withCollation(org.apache.calcite.rel.RelCollation)">withCollation</a></span>&#8203;(<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>&nbsp;collation)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelRoot.</span><code><span class="memberNameLink"><a href="../RelRoot.html#withKind(org.apache.calcite.sql.SqlKind)">withKind</a></span>&#8203;(<a href="../../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind)</code></th>
<td class="colLast">
<div class="block">Creates a copy, assigning a new kind.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelRoot.</span><code><span class="memberNameLink"><a href="../RelRoot.html#withRel(org.apache.calcite.rel.RelNode)">withRel</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Creates a copy of this RelRoot, assigning a <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.schema.impl">
<!-- -->
</a>
<h3>Uses of <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a> in <a href="../../schema/impl/package-summary.html">org.apache.calcite.schema.impl</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../schema/impl/package-summary.html">org.apache.calcite.schema.impl</a> that return <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ViewTable.</span><code><span class="memberNameLink"><a href="../../schema/impl/ViewTable.html#expandView(org.apache.calcite.plan.RelOptTable.ToRelContext,org.apache.calcite.rel.type.RelDataType,java.lang.String)">expandView</a></span>&#8203;(<a href="../../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a>&nbsp;context,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.lang.String&nbsp;queryString)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.sql2rel">
<!-- -->
</a>
<h3>Uses of <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a> in <a href="../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a> that return <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertQuery(org.apache.calcite.sql.SqlNode,boolean,boolean)">convertQuery</a></span>&#8203;(<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;query,
boolean&nbsp;needsValidation,
boolean&nbsp;top)</code></th>
<td class="colLast">
<div class="block">Converts an unvalidated query's parse tree into a relational expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertQueryRecursive(org.apache.calcite.sql.SqlNode,boolean,org.apache.calcite.rel.type.RelDataType)">convertQueryRecursive</a></span>&#8203;(<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;query,
boolean&nbsp;top,
<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;targetRowType)</code></th>
<td class="colLast">
<div class="block">Recursively converts a query to a relational expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlToRelConverter.</span><code><span class="memberNameLink"><a href="../../sql2rel/SqlToRelConverter.html#convertWith(org.apache.calcite.sql.SqlWith,boolean)">convertWith</a></span>&#8203;(<a href="../../sql/SqlWith.html" title="class in org.apache.calcite.sql">SqlWith</a>&nbsp;with,
boolean&nbsp;top)</code></th>
<td class="colLast">
<div class="block">Converts a WITH sub-query into a relational expression.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.tools">
<!-- -->
</a>
<h3>Uses of <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a> in <a href="../../tools/package-summary.html">org.apache.calcite.tools</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../tools/package-summary.html">org.apache.calcite.tools</a> that return <a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Planner.</span><code><span class="memberNameLink"><a href="../../tools/Planner.html#rel(org.apache.calcite.sql.SqlNode)">rel</a></span>&#8203;(<a href="../../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;sql)</code></th>
<td class="colLast">
<div class="block">Converts a SQL parse tree into a tree of relational expressions.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
</ul>
</li>
</ul>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../RelRoot.html" title="class in org.apache.calcite.rel">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>