| <!DOCTYPE HTML> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc (17) --> |
| <title>org.apache.calcite.rel.rules (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.rel.rules"> |
| <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: </li> |
| <li><a href="#package-description">Description</a> | </li> |
| <li><a href="#related-package-summary">Related Packages</a> | </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.rel.rules" class="title">Package org.apache.calcite.rel.rules</h1> |
| </div> |
| <hr> |
| <div class="package-signature">package <span class="element-name">org.apache.calcite.rel.rules</span></div> |
| <section class="package-description" id="package-description"> |
| <div class="block">Provides a core set of planner rules. |
| |
| <p>Consider this package to be the "standard library" of planner rules. |
| Most of the common rewrites that you would want to perform on logical |
| relational expressions, or generically on any data source, are present, |
| and have been well tested. |
| |
| <p>Of course, the library is never complete, and contributions are welcome. |
| |
| <p>Not present are rules specific to a particular data source: look in that |
| data source's adapter. |
| |
| <p>Also out of the scope of this package are rules that support a particular |
| operation, such as decorrelation or recognizing materialized views. Those are |
| defined along with the algorithm. |
| |
| <p>For |
| |
| <h2>Related packages and classes</h2> |
| <ul> |
| <li>Package<code> <a href="../../sql/package-summary.html"> |
| org.apache.calcite.sql</a></code> |
| is an object model for SQL expressions</li> |
| <li>Package<code> <a href="../../rex/package-summary.html"> |
| org.apache.calcite.rex</a></code> |
| is an object model for relational row expressions</li> |
| <li>Package<code> <a href="../../plan/package-summary.html"> |
| org.apache.calcite.plan</a></code> |
| provides an optimizer interface.</li> |
| </ul></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.rel</a></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Defines relational expressions.</div> |
| </div> |
| <div class="col-first odd-row-color"><a href="materialize/package-summary.html">org.apache.calcite.rel.rules.materialize</a></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Provides a materialized rewriting algorithm encapsulated within a planner rule.</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-tab2"><a href="AbstractJoinExtractFilterRule.html" title="class in org.apache.calcite.rel.rules">AbstractJoinExtractFilterRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Rule to convert an |
| <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>inner join</code></a> to a |
| <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>filter</code></a> on top of a |
| <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>cartesian inner join</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AbstractJoinExtractFilterRule.Config.html" title="interface in org.apache.calcite.rel.rules">AbstractJoinExtractFilterRule.Config</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-tab2"><a href="AggregateCaseToFilterRule.html" title="class in org.apache.calcite.rel.rules">AggregateCaseToFilterRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Rule that converts CASE-style filtered aggregates into true filtered |
| aggregates.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AggregateCaseToFilterRule.Config.html" title="interface in org.apache.calcite.rel.rules">AggregateCaseToFilterRule.Config</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-tab2"><a href="AggregateExpandDistinctAggregatesRule.html" title="class in org.apache.calcite.rel.rules">AggregateExpandDistinctAggregatesRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that expands distinct aggregates |
| (such as <code>COUNT(DISTINCT x)</code>) from a |
| <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AggregateExpandDistinctAggregatesRule.Config.html" title="interface in org.apache.calcite.rel.rules">AggregateExpandDistinctAggregatesRule.Config</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-tab2"><a href="AggregateExpandWithinDistinctRule.html" title="class in org.apache.calcite.rel.rules">AggregateExpandWithinDistinctRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that rewrites an <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> that contains |
| <code>WITHIN DISTINCT</code> aggregate functions.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AggregateExpandWithinDistinctRule.Config.html" title="interface in org.apache.calcite.rel.rules">AggregateExpandWithinDistinctRule.Config</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-tab2"><a href="AggregateExtractProjectRule.html" title="class in org.apache.calcite.rel.rules">AggregateExtractProjectRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Rule to extract a <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> |
| from an <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> |
| and push it down towards the input.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AggregateExtractProjectRule.Config.html" title="interface in org.apache.calcite.rel.rules">AggregateExtractProjectRule.Config</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-tab2"><a href="AggregateFilterTransposeRule.html" title="class in org.apache.calcite.rel.rules">AggregateFilterTransposeRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that matches an <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> |
| on a <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> and transposes them, |
| pushing the aggregate below the filter.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AggregateFilterTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">AggregateFilterTransposeRule.Config</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-tab2"><a href="AggregateJoinJoinRemoveRule.html" title="class in org.apache.calcite.rel.rules">AggregateJoinJoinRemoveRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that matches an <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> |
| on a <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> and removes the left input |
| of the join provided that the left input is also a left join if possible.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AggregateJoinJoinRemoveRule.Config.html" title="interface in org.apache.calcite.rel.rules">AggregateJoinJoinRemoveRule.Config</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-tab2"><a href="AggregateJoinRemoveRule.html" title="class in org.apache.calcite.rel.rules">AggregateJoinRemoveRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that matches an <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> |
| on a <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> and removes the join |
| provided that the join is a left join or right join and it computes no |
| aggregate functions or all the aggregate calls have distinct.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AggregateJoinRemoveRule.Config.html" title="interface in org.apache.calcite.rel.rules">AggregateJoinRemoveRule.Config</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-tab2"><a href="AggregateJoinTransposeRule.html" title="class in org.apache.calcite.rel.rules">AggregateJoinTransposeRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes an |
| <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> |
| past a <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AggregateJoinTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">AggregateJoinTransposeRule.Config</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-tab2"><a href="AggregateMergeRule.html" title="class in org.apache.calcite.rel.rules">AggregateMergeRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that matches an <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> on a <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> |
| and the top aggregate's group key is a subset of the lower aggregate's |
| group key, and the aggregates are expansions of rollups, then it would |
| convert into a single aggregate.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AggregateMergeRule.Config.html" title="interface in org.apache.calcite.rel.rules">AggregateMergeRule.Config</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-tab2"><a href="AggregateProjectConstantToDummyJoinRule.html" title="class in org.apache.calcite.rel.rules">AggregateProjectConstantToDummyJoinRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that recognizes a <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> |
| on top of a <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> where the aggregate's group set |
| contains literals (true, false, DATE, chars, etc), and removes the literals from the |
| group keys by joining with a dummy table of literals.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AggregateProjectConstantToDummyJoinRule.Config.html" title="interface in org.apache.calcite.rel.rules">AggregateProjectConstantToDummyJoinRule.Config</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-tab2"><a href="AggregateProjectMergeRule.html" title="class in org.apache.calcite.rel.rules">AggregateProjectMergeRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that recognizes a <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> |
| on top of a <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> and if possible |
| aggregate through the project or removes the project.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AggregateProjectMergeRule.Config.html" title="interface in org.apache.calcite.rel.rules">AggregateProjectMergeRule.Config</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-tab2"><a href="AggregateProjectPullUpConstantsRule.html" title="class in org.apache.calcite.rel.rules">AggregateProjectPullUpConstantsRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that removes constant keys from an |
| <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AggregateProjectPullUpConstantsRule.Config.html" title="interface in org.apache.calcite.rel.rules">AggregateProjectPullUpConstantsRule.Config</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-tab2"><a href="AggregateProjectStarTableRule.html" title="class in org.apache.calcite.rel.rules">AggregateProjectStarTableRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Variant of <a href="AggregateStarTableRule.html" title="class in org.apache.calcite.rel.rules"><code>AggregateStarTableRule</code></a> that accepts a <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> |
| between the <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> and its <a href="../../schema/impl/StarTable.StarTableScan.html" title="class in org.apache.calcite.schema.impl"><code>StarTable.StarTableScan</code></a> |
| input.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AggregateProjectStarTableRule.Config.html" title="interface in org.apache.calcite.rel.rules">AggregateProjectStarTableRule.Config</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-tab2"><a href="AggregateReduceFunctionsRule.html" title="class in org.apache.calcite.rel.rules">AggregateReduceFunctionsRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that reduces aggregate functions in |
| <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>s to simpler forms.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AggregateReduceFunctionsRule.Config.html" title="interface in org.apache.calcite.rel.rules">AggregateReduceFunctionsRule.Config</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-tab2"><a href="AggregateRemoveRule.html" title="class in org.apache.calcite.rel.rules">AggregateRemoveRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that removes |
| a <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> |
| if it computes no aggregate functions |
| (that is, it is implementing <code>SELECT DISTINCT</code>), |
| or all the aggregate functions are splittable, |
| and the underlying relational expression is already distinct.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AggregateRemoveRule.Config.html" title="interface in org.apache.calcite.rel.rules">AggregateRemoveRule.Config</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-tab2"><a href="AggregateStarTableRule.html" title="class in org.apache.calcite.rel.rules">AggregateStarTableRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that matches an <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> on |
| top of a <a href="../../schema/impl/StarTable.StarTableScan.html" title="class in org.apache.calcite.schema.impl"><code>StarTable.StarTableScan</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AggregateStarTableRule.Config.html" title="interface in org.apache.calcite.rel.rules">AggregateStarTableRule.Config</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-tab2"><a href="AggregateUnionAggregateRule.html" title="class in org.apache.calcite.rel.rules">AggregateUnionAggregateRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that matches |
| <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>s beneath a |
| <a href="../core/Union.html" title="class in org.apache.calcite.rel.core"><code>Union</code></a> and pulls them up, so |
| that a single |
| <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> removes duplicates.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AggregateUnionAggregateRule.Config.html" title="interface in org.apache.calcite.rel.rules">AggregateUnionAggregateRule.Config</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-tab2"><a href="AggregateUnionTransposeRule.html" title="class in org.apache.calcite.rel.rules">AggregateUnionTransposeRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes an |
| <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> |
| past a non-distinct <a href="../core/Union.html" title="class in org.apache.calcite.rel.core"><code>Union</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AggregateUnionTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">AggregateUnionTransposeRule.Config</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-tab2"><a href="AggregateValuesRule.html" title="class in org.apache.calcite.rel.rules">AggregateValuesRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Rule that applies <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> to a <a href="../core/Values.html" title="class in org.apache.calcite.rel.core"><code>Values</code></a> (currently just an |
| empty <code>Value</code>s).</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AggregateValuesRule.Config.html" title="interface in org.apache.calcite.rel.rules">AggregateValuesRule.Config</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-tab2"><a href="CalcMergeRule.html" title="class in org.apache.calcite.rel.rules">CalcMergeRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that merges a |
| <a href="../core/Calc.html" title="class in org.apache.calcite.rel.core"><code>Calc</code></a> onto a |
| <a href="../core/Calc.html" title="class in org.apache.calcite.rel.core"><code>Calc</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="CalcMergeRule.Config.html" title="interface in org.apache.calcite.rel.rules">CalcMergeRule.Config</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-tab2"><a href="CalcRelSplitter.html" title="class in org.apache.calcite.rel.rules">CalcRelSplitter</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">CalcRelSplitter operates on a |
| <a href="../core/Calc.html" title="class in org.apache.calcite.rel.core"><code>Calc</code></a> with multiple <a href="../../rex/RexCall.html" title="class in org.apache.calcite.rex"><code>RexCall</code></a> |
| sub-expressions that cannot all be implemented by a single concrete |
| <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab2"><a href="CalcRelSplitter.RelType.html" title="class in org.apache.calcite.rel.rules">CalcRelSplitter.RelType</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Type of relational expression.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab2"><a href="CalcRemoveRule.html" title="class in org.apache.calcite.rel.rules">CalcRemoveRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that removes a trivial |
| <a href="../logical/LogicalCalc.html" title="class in org.apache.calcite.rel.logical"><code>LogicalCalc</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="CalcRemoveRule.Config.html" title="interface in org.apache.calcite.rel.rules">CalcRemoveRule.Config</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-tab2"><a href="CalcSplitRule.html" title="class in org.apache.calcite.rel.rules">CalcSplitRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that converts a <a href="../core/Calc.html" title="class in org.apache.calcite.rel.core"><code>Calc</code></a> |
| to a <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> |
| and <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="CalcSplitRule.Config.html" title="interface in org.apache.calcite.rel.rules">CalcSplitRule.Config</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-tab2"><a href="CoerceInputsRule.html" title="class in org.apache.calcite.rel.rules">CoerceInputsRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">CoerceInputsRule pre-casts inputs to a particular type.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="CoerceInputsRule.Config.html" title="interface in org.apache.calcite.rel.rules">CoerceInputsRule.Config</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-tab2"><a href="CoreRules.html" title="class in org.apache.calcite.rel.rules">CoreRules</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Rules that perform logical transformations on relational expressions.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab2"><a href="DateRangeRules.html" title="class in org.apache.calcite.rel.rules">DateRangeRules</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Collection of planner rules that convert |
| <code>EXTRACT(timeUnit FROM dateTime) = constant</code>, |
| <code>FLOOR(dateTime to timeUnit</code> = constant} and |
| <code>CEIL(dateTime to timeUnit</code> = constant} to |
| <code>dateTime BETWEEN lower AND upper</code>.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab2"><a href="DateRangeRules.FilterDateRangeRule.html" title="class in org.apache.calcite.rel.rules">DateRangeRules.FilterDateRangeRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Rule that converts EXTRACT, FLOOR and CEIL in a <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> into a date |
| range.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="DateRangeRules.FilterDateRangeRule.FilterDateRangeRuleConfig.html" title="interface in org.apache.calcite.rel.rules">DateRangeRules.FilterDateRangeRule.FilterDateRangeRuleConfig</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-tab2"><a href="EquiJoin.html" title="class in org.apache.calcite.rel.rules">EquiJoin</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2">Deprecated. |
| <div class="deprecation-comment">Use |
| <a href="../core/EquiJoin.html" title="class in org.apache.calcite.rel.core"><code>EquiJoin in 'core' package</code></a></div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ExchangeRemoveConstantKeysRule.html" title="class in org.apache.calcite.rel.rules">ExchangeRemoveConstantKeysRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that removes keys from |
| a <a href="../core/Exchange.html" title="class in org.apache.calcite.rel.core"><code>Exchange</code></a> if those keys are known to be constant.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="ExchangeRemoveConstantKeysRule.Config.html" title="interface in org.apache.calcite.rel.rules">ExchangeRemoveConstantKeysRule.Config</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="FilterAggregateTransposeRule.html" title="class in org.apache.calcite.rel.rules">FilterAggregateTransposeRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes a <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> |
| past a <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="FilterAggregateTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">FilterAggregateTransposeRule.Config</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="FilterCalcMergeRule.html" title="class in org.apache.calcite.rel.rules">FilterCalcMergeRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that merges a |
| <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> and a |
| <a href="../core/Calc.html" title="class in org.apache.calcite.rel.core"><code>Calc</code></a>.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="FilterCalcMergeRule.Config.html" title="interface in org.apache.calcite.rel.rules">FilterCalcMergeRule.Config</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="FilterCorrelateRule.html" title="class in org.apache.calcite.rel.rules">FilterCorrelateRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes a <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> above a <a href="../core/Correlate.html" title="class in org.apache.calcite.rel.core"><code>Correlate</code></a> into the |
| inputs of the Correlate.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="FilterCorrelateRule.Config.html" title="interface in org.apache.calcite.rel.rules">FilterCorrelateRule.Config</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="FilterFlattenCorrelatedConditionRule.html" title="class in org.apache.calcite.rel.rules">FilterFlattenCorrelatedConditionRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that matches a <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> expression with correlated variables, and rewrites the |
| condition in a simpler form that is more convenient for the decorrelation logic.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="FilterFlattenCorrelatedConditionRule.Config.html" title="interface in org.apache.calcite.rel.rules">FilterFlattenCorrelatedConditionRule.Config</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="FilterJoinRule.html" title="class in org.apache.calcite.rel.rules">FilterJoinRule</a><C extends <a href="FilterJoinRule.Config.html" title="interface in org.apache.calcite.rel.rules">FilterJoinRule.Config</a>></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes filters above and |
| within a join node into the join node and/or its children nodes.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="FilterJoinRule.Config.html" title="interface in org.apache.calcite.rel.rules">FilterJoinRule.Config</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="FilterJoinRule.FilterIntoJoinRule.html" title="class in org.apache.calcite.rel.rules">FilterJoinRule.FilterIntoJoinRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Rule that tries to push filter expressions into a join |
| condition and into the inputs of the join.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="FilterJoinRule.FilterIntoJoinRule.FilterIntoJoinRuleConfig.html" title="interface in org.apache.calcite.rel.rules">FilterJoinRule.FilterIntoJoinRule.FilterIntoJoinRuleConfig</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="FilterJoinRule.JoinConditionPushRule.html" title="class in org.apache.calcite.rel.rules">FilterJoinRule.JoinConditionPushRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Rule that pushes parts of the join condition to its inputs.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="FilterJoinRule.JoinConditionPushRule.JoinConditionPushRuleConfig.html" title="interface in org.apache.calcite.rel.rules">FilterJoinRule.JoinConditionPushRule.JoinConditionPushRuleConfig</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-tab1"><a href="FilterJoinRule.Predicate.html" title="interface in org.apache.calcite.rel.rules">FilterJoinRule.Predicate</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab1"> |
| <div class="block">Predicate that returns whether a filter is valid in the ON clause of a |
| join for this particular kind of join.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab2"><a href="FilterMergeRule.html" title="class in org.apache.calcite.rel.rules">FilterMergeRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that combines two |
| <a href="../logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical"><code>LogicalFilter</code></a>s.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="FilterMergeRule.Config.html" title="interface in org.apache.calcite.rel.rules">FilterMergeRule.Config</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-tab2"><a href="FilterMultiJoinMergeRule.html" title="class in org.apache.calcite.rel.rules">FilterMultiJoinMergeRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that merges a |
| <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> into a <a href="MultiJoin.html" title="class in org.apache.calcite.rel.rules"><code>MultiJoin</code></a>, |
| creating a richer <code>MultiJoin</code>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="FilterMultiJoinMergeRule.Config.html" title="interface in org.apache.calcite.rel.rules">FilterMultiJoinMergeRule.Config</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-tab2"><a href="FilterProjectTransposeRule.html" title="class in org.apache.calcite.rel.rules">FilterProjectTransposeRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes |
| a <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> |
| past a <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="FilterProjectTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">FilterProjectTransposeRule.Config</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-tab2"><a href="FilterRemoveIsNotDistinctFromRule.html" title="class in org.apache.calcite.rel.rules">FilterRemoveIsNotDistinctFromRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that replaces <code>IS NOT DISTINCT FROM</code> |
| in a <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> with logically equivalent operations.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="FilterRemoveIsNotDistinctFromRule.Config.html" title="interface in org.apache.calcite.rel.rules">FilterRemoveIsNotDistinctFromRule.Config</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-tab2"><a href="FilterSetOpTransposeRule.html" title="class in org.apache.calcite.rel.rules">FilterSetOpTransposeRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes a <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> |
| past a <a href="../core/SetOp.html" title="class in org.apache.calcite.rel.core"><code>SetOp</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="FilterSetOpTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">FilterSetOpTransposeRule.Config</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-tab2"><a href="FilterTableFunctionTransposeRule.html" title="class in org.apache.calcite.rel.rules">FilterTableFunctionTransposeRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes |
| a <a href="../logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical"><code>LogicalFilter</code></a> |
| past a <a href="../logical/LogicalTableFunctionScan.html" title="class in org.apache.calcite.rel.logical"><code>LogicalTableFunctionScan</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="FilterTableFunctionTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">FilterTableFunctionTransposeRule.Config</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-tab2"><a href="FilterTableScanRule.html" title="class in org.apache.calcite.rel.rules">FilterTableScanRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that converts |
| a <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> |
| on a <a href="../core/TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a> |
| of a <a href="../../schema/FilterableTable.html" title="interface in org.apache.calcite.schema"><code>FilterableTable</code></a> |
| or a <a href="../../schema/ProjectableFilterableTable.html" title="interface in org.apache.calcite.schema"><code>ProjectableFilterableTable</code></a> |
| to a <a href="../../interpreter/Bindables.BindableTableScan.html" title="class in org.apache.calcite.interpreter"><code>Bindables.BindableTableScan</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="FilterTableScanRule.Config.html" title="interface in org.apache.calcite.rel.rules">FilterTableScanRule.Config</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-tab2"><a href="FilterToCalcRule.html" title="class in org.apache.calcite.rel.rules">FilterToCalcRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that converts a |
| <a href="../logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical"><code>LogicalFilter</code></a> to a |
| <a href="../logical/LogicalCalc.html" title="class in org.apache.calcite.rel.logical"><code>LogicalCalc</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="FilterToCalcRule.Config.html" title="interface in org.apache.calcite.rel.rules">FilterToCalcRule.Config</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-tab2"><a href="IntersectToDistinctRule.html" title="class in org.apache.calcite.rel.rules">IntersectToDistinctRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that translates a distinct |
| <a href="../core/Intersect.html" title="class in org.apache.calcite.rel.core"><code>Intersect</code></a> |
| (<code>all</code> = <code>false</code>) |
| into a group of operators composed of |
| <a href="../core/Union.html" title="class in org.apache.calcite.rel.core"><code>Union</code></a>, |
| <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>, etc.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="IntersectToDistinctRule.Config.html" title="interface in org.apache.calcite.rel.rules">IntersectToDistinctRule.Config</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-tab2"><a href="JoinAddRedundantSemiJoinRule.html" title="class in org.apache.calcite.rel.rules">JoinAddRedundantSemiJoinRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Rule to add a semi-join into a join.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="JoinAddRedundantSemiJoinRule.Config.html" title="interface in org.apache.calcite.rel.rules">JoinAddRedundantSemiJoinRule.Config</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-tab2"><a href="JoinAssociateRule.html" title="class in org.apache.calcite.rel.rules">JoinAssociateRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that changes a join based on the associativity rule.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="JoinAssociateRule.Config.html" title="interface in org.apache.calcite.rel.rules">JoinAssociateRule.Config</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-tab2"><a href="JoinCommuteRule.html" title="class in org.apache.calcite.rel.rules">JoinCommuteRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that permutes the inputs to a |
| <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="JoinCommuteRule.Config.html" title="interface in org.apache.calcite.rel.rules">JoinCommuteRule.Config</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-tab2"><a href="JoinDeriveIsNotNullFilterRule.html" title="class in org.apache.calcite.rel.rules">JoinDeriveIsNotNullFilterRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that derives IS NOT NULL predicates from a inner |
| <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> and creates |
| <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>s with those predicates as new inputs of the join.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="JoinDeriveIsNotNullFilterRule.Config.html" title="interface in org.apache.calcite.rel.rules">JoinDeriveIsNotNullFilterRule.Config</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-tab2"><a href="JoinExtractFilterRule.html" title="class in org.apache.calcite.rel.rules">JoinExtractFilterRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Rule to convert an |
| <a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical"><code>inner join</code></a> to a |
| <a href="../logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical"><code>filter</code></a> on top of a |
| <a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical"><code>cartesian inner join</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="JoinExtractFilterRule.Config.html" title="interface in org.apache.calcite.rel.rules">JoinExtractFilterRule.Config</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-tab2"><a href="JoinProjectTransposeRule.html" title="class in org.apache.calcite.rel.rules">JoinProjectTransposeRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that matches a |
| <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> one of whose inputs is a |
| <a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a>, and |
| pulls the project up.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="JoinProjectTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">JoinProjectTransposeRule.Config</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-tab2"><a href="JoinPushExpressionsRule.html" title="class in org.apache.calcite.rel.rules">JoinPushExpressionsRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes down expressions in "equal" join condition.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="JoinPushExpressionsRule.Config.html" title="interface in org.apache.calcite.rel.rules">JoinPushExpressionsRule.Config</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-tab2"><a href="JoinPushThroughJoinRule.html" title="class in org.apache.calcite.rel.rules">JoinPushThroughJoinRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Rule that pushes the right input of a join into through the left input of |
| the join, provided that the left input is also a join.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="JoinPushThroughJoinRule.Config.html" title="interface in org.apache.calcite.rel.rules">JoinPushThroughJoinRule.Config</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-tab2"><a href="JoinPushTransitivePredicatesRule.html" title="class in org.apache.calcite.rel.rules">JoinPushTransitivePredicatesRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that infers predicates from on a |
| <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> and creates |
| <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>s if those predicates can be pushed |
| to its inputs.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="JoinPushTransitivePredicatesRule.Config.html" title="interface in org.apache.calcite.rel.rules">JoinPushTransitivePredicatesRule.Config</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-tab2"><a href="JoinToCorrelateRule.html" title="class in org.apache.calcite.rel.rules">JoinToCorrelateRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Rule that converts a <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> |
| into a <a href="../logical/LogicalCorrelate.html" title="class in org.apache.calcite.rel.logical"><code>LogicalCorrelate</code></a>, which can |
| then be implemented using nested loops.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="JoinToCorrelateRule.Config.html" title="interface in org.apache.calcite.rel.rules">JoinToCorrelateRule.Config</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-tab2"><a href="JoinToMultiJoinRule.html" title="class in org.apache.calcite.rel.rules">JoinToMultiJoinRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule to flatten a tree of |
| <a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical"><code>LogicalJoin</code></a>s |
| into a single <a href="MultiJoin.html" title="class in org.apache.calcite.rel.rules"><code>MultiJoin</code></a> with N inputs.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="JoinToMultiJoinRule.Config.html" title="interface in org.apache.calcite.rel.rules">JoinToMultiJoinRule.Config</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-tab2"><a href="JoinUnionTransposeRule.html" title="class in org.apache.calcite.rel.rules">JoinUnionTransposeRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes a |
| <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> |
| past a non-distinct <a href="../core/Union.html" title="class in org.apache.calcite.rel.core"><code>Union</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="JoinUnionTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">JoinUnionTransposeRule.Config</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-tab2"><a href="LoptJoinTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Utility class used to store a <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> tree |
| and the factors that make up the tree.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab2"><a href="LoptJoinTree.BinaryTree.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree.BinaryTree</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Simple binary tree class that stores an id in the leaf nodes and keeps |
| track of the parent LoptJoinTree object associated with the binary tree.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab2"><a href="LoptJoinTree.Leaf.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree.Leaf</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Binary tree node that has no children.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab2"><a href="LoptJoinTree.Node.html" title="class in org.apache.calcite.rel.rules">LoptJoinTree.Node</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Binary tree node that has two children.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab2"><a href="LoptMultiJoin.html" title="class in org.apache.calcite.rel.rules">LoptMultiJoin</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Utility class that keeps track of the join factors that |
| make up a <a href="MultiJoin.html" title="class in org.apache.calcite.rel.rules"><code>MultiJoin</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab2"><a href="LoptOptimizeJoinRule.html" title="class in org.apache.calcite.rel.rules">LoptOptimizeJoinRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that implements the heuristic planner for determining optimal |
| join orderings.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="LoptOptimizeJoinRule.Config.html" title="interface in org.apache.calcite.rel.rules">LoptOptimizeJoinRule.Config</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="LoptSemiJoinOptimizer.html" title="class in org.apache.calcite.rel.rules">LoptSemiJoinOptimizer</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Implements the logic for determining the optimal |
| semi-joins to be used in processing joins in a query.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab2"><a href="MatchRule.html" title="class in org.apache.calcite.rel.rules">MatchRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that converts a |
| <a href="../logical/LogicalMatch.html" title="class in org.apache.calcite.rel.logical"><code>LogicalMatch</code></a> to the result |
| of calling <a href="../logical/LogicalMatch.html#copy(org.apache.calcite.plan.RelTraitSet,java.util.List)"><code>LogicalMatch.copy(org.apache.calcite.plan.RelTraitSet, java.util.List<org.apache.calcite.rel.RelNode>)</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="MatchRule.Config.html" title="interface in org.apache.calcite.rel.rules">MatchRule.Config</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-tab2"><a href="MaterializedViewFilterScanRule.html" title="class in org.apache.calcite.rel.rules">MaterializedViewFilterScanRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that converts |
| a <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> |
| on a <a href="../core/TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a> |
| to a <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> on a Materialized View.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="MaterializedViewFilterScanRule.Config.html" title="interface in org.apache.calcite.rel.rules">MaterializedViewFilterScanRule.Config</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-tab2"><a href="MultiJoin.html" title="class in org.apache.calcite.rel.rules">MultiJoin</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">A MultiJoin represents a join of N inputs, whereas regular Joins |
| represent strictly binary joins.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab2"><a href="MultiJoinOptimizeBushyRule.html" title="class in org.apache.calcite.rel.rules">MultiJoinOptimizeBushyRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that finds an approximately optimal ordering for join operators |
| using a heuristic algorithm.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="MultiJoinOptimizeBushyRule.Config.html" title="interface in org.apache.calcite.rel.rules">MultiJoinOptimizeBushyRule.Config</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="MultiJoinProjectTransposeRule.html" title="class in org.apache.calcite.rel.rules">MultiJoinProjectTransposeRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">MultiJoinProjectTransposeRule implements the rule for pulling |
| <a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a>s that are on top of a |
| <a href="MultiJoin.html" title="class in org.apache.calcite.rel.rules"><code>MultiJoin</code></a> and beneath a |
| <a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical"><code>LogicalJoin</code></a> so the |
| <a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a> appears above the |
| <a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical"><code>LogicalJoin</code></a>.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="MultiJoinProjectTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">MultiJoinProjectTransposeRule.Config</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="ProjectAggregateMergeRule.html" title="class in org.apache.calcite.rel.rules">ProjectAggregateMergeRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that matches a <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> on a <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> |
| and projects away aggregate calls that are not used.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="ProjectAggregateMergeRule.Config.html" title="interface in org.apache.calcite.rel.rules">ProjectAggregateMergeRule.Config</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="ProjectCalcMergeRule.html" title="class in org.apache.calcite.rel.rules">ProjectCalcMergeRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that merges a |
| <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> and a |
| <a href="../core/Calc.html" title="class in org.apache.calcite.rel.core"><code>Calc</code></a>.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="ProjectCalcMergeRule.Config.html" title="interface in org.apache.calcite.rel.rules">ProjectCalcMergeRule.Config</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="ProjectCorrelateTransposeRule.html" title="class in org.apache.calcite.rel.rules">ProjectCorrelateTransposeRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes a <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> under <a href="../core/Correlate.html" title="class in org.apache.calcite.rel.core"><code>Correlate</code></a> to apply |
| on Correlate's left and right inputs.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="ProjectCorrelateTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">ProjectCorrelateTransposeRule.Config</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="ProjectCorrelateTransposeRule.RelNodesExprsHandler.html" title="class in org.apache.calcite.rel.rules">ProjectCorrelateTransposeRule.RelNodesExprsHandler</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Visitor for RelNodes which applies specified <a href="../../rex/RexShuttle.html" title="class in org.apache.calcite.rex"><code>RexShuttle</code></a> visitor |
| for every node in the tree.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab2"><a href="ProjectCorrelateTransposeRule.RexFieldAccessReplacer.html" title="class in org.apache.calcite.rel.rules">ProjectCorrelateTransposeRule.RexFieldAccessReplacer</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Visitor for RexNodes which replaces <a href="../../rex/RexCorrelVariable.html" title="class in org.apache.calcite.rex"><code>RexCorrelVariable</code></a> with specified.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ProjectFilterTransposeRule.html" title="class in org.apache.calcite.rel.rules">ProjectFilterTransposeRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes a <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> |
| past a <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="ProjectFilterTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">ProjectFilterTransposeRule.Config</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="ProjectJoinJoinRemoveRule.html" title="class in org.apache.calcite.rel.rules">ProjectJoinJoinRemoveRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that matches an <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> |
| on a <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> and removes the left input |
| of the join provided that the left input is also a left join if possible.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="ProjectJoinJoinRemoveRule.Config.html" title="interface in org.apache.calcite.rel.rules">ProjectJoinJoinRemoveRule.Config</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="ProjectJoinRemoveRule.html" title="class in org.apache.calcite.rel.rules">ProjectJoinRemoveRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that matches an <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> |
| on a <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> and removes the join provided that the join is a left join |
| or right join and the join keys are unique.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="ProjectJoinRemoveRule.Config.html" title="interface in org.apache.calcite.rel.rules">ProjectJoinRemoveRule.Config</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="ProjectJoinTransposeRule.html" title="class in org.apache.calcite.rel.rules">ProjectJoinTransposeRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes a <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> |
| past a <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> |
| by splitting the projection into a projection on top of each child of |
| the join.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="ProjectJoinTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">ProjectJoinTransposeRule.Config</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="ProjectMergeRule.html" title="class in org.apache.calcite.rel.rules">ProjectMergeRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">ProjectMergeRule merges a <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> into |
| another <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>, |
| provided the projects aren't projecting identical sets of input references.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="ProjectMergeRule.Config.html" title="interface in org.apache.calcite.rel.rules">ProjectMergeRule.Config</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="ProjectMultiJoinMergeRule.html" title="class in org.apache.calcite.rel.rules">ProjectMultiJoinMergeRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes |
| <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> |
| into a <a href="MultiJoin.html" title="class in org.apache.calcite.rel.rules"><code>MultiJoin</code></a>, |
| creating a richer <code>MultiJoin</code>.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="ProjectMultiJoinMergeRule.Config.html" title="interface in org.apache.calcite.rel.rules">ProjectMultiJoinMergeRule.Config</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="ProjectRemoveRule.html" title="class in org.apache.calcite.rel.rules">ProjectRemoveRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that, |
| given a <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> node that |
| merely returns its input, converts the node into its child.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="ProjectRemoveRule.Config.html" title="interface in org.apache.calcite.rel.rules">ProjectRemoveRule.Config</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="ProjectSetOpTransposeRule.html" title="class in org.apache.calcite.rel.rules">ProjectSetOpTransposeRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes |
| a <a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a> |
| past a <a href="../core/SetOp.html" title="class in org.apache.calcite.rel.core"><code>SetOp</code></a>.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="ProjectSetOpTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">ProjectSetOpTransposeRule.Config</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="ProjectTableScanRule.html" title="class in org.apache.calcite.rel.rules">ProjectTableScanRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that converts a <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> |
| on a <a href="../core/TableScan.html" title="class in org.apache.calcite.rel.core"><code>TableScan</code></a> |
| of a <a href="../../schema/ProjectableFilterableTable.html" title="interface in org.apache.calcite.schema"><code>ProjectableFilterableTable</code></a> |
| to a <a href="../../interpreter/Bindables.BindableTableScan.html" title="class in org.apache.calcite.interpreter"><code>Bindables.BindableTableScan</code></a>.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="ProjectTableScanRule.Config.html" title="interface in org.apache.calcite.rel.rules">ProjectTableScanRule.Config</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="ProjectToCalcRule.html" title="class in org.apache.calcite.rel.rules">ProjectToCalcRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Rule to convert a |
| <a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a> to a |
| <a href="../logical/LogicalCalc.html" title="class in org.apache.calcite.rel.logical"><code>LogicalCalc</code></a>.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="ProjectToCalcRule.Config.html" title="interface in org.apache.calcite.rel.rules">ProjectToCalcRule.Config</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="ProjectToWindowRule.html" title="class in org.apache.calcite.rel.rules">ProjectToWindowRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that slices a |
| <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> |
| into sections which contain windowed |
| aggregate functions and sections which do not.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab2"><a href="ProjectToWindowRule.CalcToWindowRule.html" title="class in org.apache.calcite.rel.rules">ProjectToWindowRule.CalcToWindowRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Instance of the rule that applies to a |
| <a href="../core/Calc.html" title="class in org.apache.calcite.rel.core"><code>Calc</code></a> that contains |
| windowed aggregates and converts it into a mixture of |
| <a href="../logical/LogicalWindow.html" title="class in org.apache.calcite.rel.logical"><code>LogicalWindow</code></a> and <code>Calc</code>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="ProjectToWindowRule.CalcToWindowRule.CalcToWindowRuleConfig.html" title="interface in org.apache.calcite.rel.rules">ProjectToWindowRule.CalcToWindowRule.CalcToWindowRuleConfig</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="ProjectToWindowRule.Config.html" title="interface in org.apache.calcite.rel.rules">ProjectToWindowRule.Config</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="ProjectToWindowRule.ProjectToLogicalProjectAndWindowRule.html" title="class in org.apache.calcite.rel.rules">ProjectToWindowRule.ProjectToLogicalProjectAndWindowRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Instance of the rule that can be applied to a |
| <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> and that produces, in turn, |
| a mixture of <code>LogicalProject</code> |
| and <a href="../logical/LogicalWindow.html" title="class in org.apache.calcite.rel.logical"><code>LogicalWindow</code></a>.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="ProjectToWindowRule.ProjectToLogicalProjectAndWindowRule.ProjectToLogicalProjectAndWindowRuleConfig.html" title="interface in org.apache.calcite.rel.rules">ProjectToWindowRule.ProjectToLogicalProjectAndWindowRule.ProjectToLogicalProjectAndWindowRuleConfig</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="ProjectWindowTransposeRule.html" title="class in org.apache.calcite.rel.rules">ProjectWindowTransposeRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes |
| a <a href="../logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a> |
| past a <a href="../logical/LogicalWindow.html" title="class in org.apache.calcite.rel.logical"><code>LogicalWindow</code></a>.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="ProjectWindowTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">ProjectWindowTransposeRule.Config</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="PruneEmptyRules.html" title="class in org.apache.calcite.rel.rules">PruneEmptyRules</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Collection of rules which remove sections of a query plan known never to |
| produce any rows.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="PruneEmptyRules.IntersectEmptyPruneRuleConfig.html" title="interface in org.apache.calcite.rel.rules">PruneEmptyRules.IntersectEmptyPruneRuleConfig</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab1"> |
| <div class="block">Configuration for a rule that prunes an Intersect if any of its inputs |
| is empty.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="PruneEmptyRules.JoinLeftEmptyRuleConfig.html" title="interface in org.apache.calcite.rel.rules">PruneEmptyRules.JoinLeftEmptyRuleConfig</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab1"> |
| <div class="block">Configuration for rule that prunes a join it its left input is |
| empty.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="PruneEmptyRules.JoinRightEmptyRuleConfig.html" title="interface in org.apache.calcite.rel.rules">PruneEmptyRules.JoinRightEmptyRuleConfig</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab1"> |
| <div class="block">Configuration for rule that prunes a join it its right input is |
| empty.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="PruneEmptyRules.MinusEmptyPruneRuleConfig.html" title="interface in org.apache.calcite.rel.rules">PruneEmptyRules.MinusEmptyPruneRuleConfig</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab1"> |
| <div class="block">Configuration for a rule that prunes empty inputs from a Minus.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab2"><a href="PruneEmptyRules.PruneEmptyRule.html" title="class in org.apache.calcite.rel.rules">PruneEmptyRules.PruneEmptyRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Abstract prune empty rule that implements SubstitutionRule interface.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="PruneEmptyRules.PruneEmptyRule.Config.html" title="interface in org.apache.calcite.rel.rules">PruneEmptyRules.PruneEmptyRule.Config</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-tab2"><a href="PruneEmptyRules.RemoveEmptySingleRule.html" title="class in org.apache.calcite.rel.rules">PruneEmptyRules.RemoveEmptySingleRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that converts a single-rel (e.g.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="PruneEmptyRules.RemoveEmptySingleRule.RemoveEmptySingleRuleConfig.html" title="interface in org.apache.calcite.rel.rules">PruneEmptyRules.RemoveEmptySingleRule.RemoveEmptySingleRuleConfig</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="PruneEmptyRules.SortFetchZeroRuleConfig.html" title="interface in org.apache.calcite.rel.rules">PruneEmptyRules.SortFetchZeroRuleConfig</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab1"> |
| <div class="block">Configuration for a rule that prunes a Sort if it has limit 0.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="PruneEmptyRules.UnionEmptyPruneRuleConfig.html" title="interface in org.apache.calcite.rel.rules">PruneEmptyRules.UnionEmptyPruneRuleConfig</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab1"> |
| <div class="block">Configuration for a rule that prunes empty inputs from a Minus.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="PruneEmptyRules.ZeroMaxRowsRuleConfig.html" title="interface in org.apache.calcite.rel.rules">PruneEmptyRules.ZeroMaxRowsRuleConfig</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab1"> |
| <div class="block">Configuration for rule that transforms an empty relational expression into an empty values.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab2"><a href="PushProjector.html" title="class in org.apache.calcite.rel.rules">PushProjector</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">PushProjector is a utility class used to perform operations used in push |
| projection rules.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="PushProjector.ExprCondition.html" title="interface in org.apache.calcite.rel.rules">PushProjector.ExprCondition</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab1"> |
| <div class="block">A functor that replies true or false for a given expression.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ReduceDecimalsRule.html" title="class in org.apache.calcite.rel.rules">ReduceDecimalsRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Rule that reduces decimal operations (such as casts |
| or arithmetic) into operations involving more primitive types (such as longs |
| and doubles).</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="ReduceDecimalsRule.Config.html" title="interface in org.apache.calcite.rel.rules">ReduceDecimalsRule.Config</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="ReduceDecimalsRule.DecimalShuttle.html" title="class in org.apache.calcite.rel.rules">ReduceDecimalsRule.DecimalShuttle</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">A shuttle which converts decimal expressions to expressions based on |
| longs.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab2"><a href="ReduceDecimalsRule.RexExpander.html" title="class in org.apache.calcite.rel.rules">ReduceDecimalsRule.RexExpander</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Rewrites a decimal expression for a specific set of SqlOperator's.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ReduceExpressionsRule.html" title="class in org.apache.calcite.rel.rules">ReduceExpressionsRule</a><C extends <a href="ReduceExpressionsRule.Config.html" title="interface in org.apache.calcite.rel.rules">ReduceExpressionsRule.Config</a>></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Collection of planner rules that apply various simplifying transformations on |
| RexNode trees.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab2"><a href="ReduceExpressionsRule.CalcReduceExpressionsRule.html" title="class in org.apache.calcite.rel.rules">ReduceExpressionsRule.CalcReduceExpressionsRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Rule that reduces constants inside a <a href="../core/Calc.html" title="class in org.apache.calcite.rel.core"><code>Calc</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="ReduceExpressionsRule.CalcReduceExpressionsRule.CalcReduceExpressionsRuleConfig.html" title="interface in org.apache.calcite.rel.rules">ReduceExpressionsRule.CalcReduceExpressionsRule.CalcReduceExpressionsRuleConfig</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-tab2"><a href="ReduceExpressionsRule.CaseShuttle.html" title="class in org.apache.calcite.rel.rules">ReduceExpressionsRule.CaseShuttle</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Shuttle that pushes predicates into a CASE.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="ReduceExpressionsRule.Config.html" title="interface in org.apache.calcite.rel.rules">ReduceExpressionsRule.Config</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-tab2"><a href="ReduceExpressionsRule.FilterReduceExpressionsRule.html" title="class in org.apache.calcite.rel.rules">ReduceExpressionsRule.FilterReduceExpressionsRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Rule that reduces constants inside a <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="ReduceExpressionsRule.FilterReduceExpressionsRule.FilterReduceExpressionsRuleConfig.html" title="interface in org.apache.calcite.rel.rules">ReduceExpressionsRule.FilterReduceExpressionsRule.FilterReduceExpressionsRuleConfig</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-tab2"><a href="ReduceExpressionsRule.JoinReduceExpressionsRule.html" title="class in org.apache.calcite.rel.rules">ReduceExpressionsRule.JoinReduceExpressionsRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Rule that reduces constants inside a <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="ReduceExpressionsRule.JoinReduceExpressionsRule.JoinReduceExpressionsRuleConfig.html" title="interface in org.apache.calcite.rel.rules">ReduceExpressionsRule.JoinReduceExpressionsRule.JoinReduceExpressionsRuleConfig</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-tab2"><a href="ReduceExpressionsRule.ProjectReduceExpressionsRule.html" title="class in org.apache.calcite.rel.rules">ReduceExpressionsRule.ProjectReduceExpressionsRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Rule that reduces constants inside a |
| <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="ReduceExpressionsRule.ProjectReduceExpressionsRule.ProjectReduceExpressionsRuleConfig.html" title="interface in org.apache.calcite.rel.rules">ReduceExpressionsRule.ProjectReduceExpressionsRule.ProjectReduceExpressionsRuleConfig</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-tab2"><a href="ReduceExpressionsRule.ReducibleExprLocator.html" title="class in org.apache.calcite.rel.rules">ReduceExpressionsRule.ReducibleExprLocator</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Helper class used to locate expressions that either can be reduced to |
| literals or contain redundant casts.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ReduceExpressionsRule.RexReplacer.html" title="class in org.apache.calcite.rel.rules">ReduceExpressionsRule.RexReplacer</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Replaces expressions with their reductions.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab2"><a href="ReduceExpressionsRule.WindowReduceExpressionsRule.html" title="class in org.apache.calcite.rel.rules">ReduceExpressionsRule.WindowReduceExpressionsRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Rule that reduces constants inside a <a href="../core/Window.html" title="class in org.apache.calcite.rel.core"><code>Window</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="ReduceExpressionsRule.WindowReduceExpressionsRule.WindowReduceExpressionsRuleConfig.html" title="interface in org.apache.calcite.rel.rules">ReduceExpressionsRule.WindowReduceExpressionsRule.WindowReduceExpressionsRuleConfig</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-tab2"><a href="SemiJoinFilterTransposeRule.html" title="class in org.apache.calcite.rel.rules">SemiJoinFilterTransposeRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes <code>SemiJoin</code>s down in a tree past |
| a <a href="../core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="SemiJoinFilterTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">SemiJoinFilterTransposeRule.Config</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-tab2"><a href="SemiJoinJoinTransposeRule.html" title="class in org.apache.calcite.rel.rules">SemiJoinJoinTransposeRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes a <a href="../core/Join.html#isSemiJoin()"><code>semi-join</code></a> |
| down in a tree past a <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> |
| in order to trigger other rules that will convert <code>SemiJoin</code>s.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="SemiJoinJoinTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">SemiJoinJoinTransposeRule.Config</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-tab2"><a href="SemiJoinProjectTransposeRule.html" title="class in org.apache.calcite.rel.rules">SemiJoinProjectTransposeRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes |
| a <a href="../core/Join.html#isSemiJoin()"><code>semi-join</code></a> down in a tree past |
| a <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="SemiJoinProjectTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">SemiJoinProjectTransposeRule.Config</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-tab2"><a href="SemiJoinRemoveRule.html" title="class in org.apache.calcite.rel.rules">SemiJoinRemoveRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that removes a <a href="../core/Join.html#isSemiJoin()"><code>semi-join</code></a> from a join |
| tree.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="SemiJoinRemoveRule.Config.html" title="interface in org.apache.calcite.rel.rules">SemiJoinRemoveRule.Config</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-tab2"><a href="SemiJoinRule.html" title="class in org.apache.calcite.rel.rules">SemiJoinRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that creates a <code>SemiJoin</code> from a |
| <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> on top of a |
| <a href="../logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical"><code>LogicalAggregate</code></a> or |
| on a <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> which is |
| unique for join's right keys.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="SemiJoinRule.Config.html" title="interface in org.apache.calcite.rel.rules">SemiJoinRule.Config</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-tab2"><a href="SemiJoinRule.JoinOnUniqueToSemiJoinRule.html" title="class in org.apache.calcite.rel.rules">SemiJoinRule.JoinOnUniqueToSemiJoinRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">SemiJoinRule that matches a Project on top of a Join with a RelNode |
| which is unique for Join's right keys.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="SemiJoinRule.JoinOnUniqueToSemiJoinRule.JoinOnUniqueToSemiJoinRuleConfig.html" title="interface in org.apache.calcite.rel.rules">SemiJoinRule.JoinOnUniqueToSemiJoinRule.JoinOnUniqueToSemiJoinRuleConfig</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-tab2"><a href="SemiJoinRule.JoinToSemiJoinRule.html" title="class in org.apache.calcite.rel.rules">SemiJoinRule.JoinToSemiJoinRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">SemiJoinRule that matches a Join with an empty Aggregate as its right |
| input.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="SemiJoinRule.JoinToSemiJoinRule.JoinToSemiJoinRuleConfig.html" title="interface in org.apache.calcite.rel.rules">SemiJoinRule.JoinToSemiJoinRule.JoinToSemiJoinRuleConfig</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-tab2"><a href="SemiJoinRule.ProjectToSemiJoinRule.html" title="class in org.apache.calcite.rel.rules">SemiJoinRule.ProjectToSemiJoinRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">SemiJoinRule that matches a Project on top of a Join with an Aggregate |
| as its right child.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="SemiJoinRule.ProjectToSemiJoinRule.ProjectToSemiJoinRuleConfig.html" title="interface in org.apache.calcite.rel.rules">SemiJoinRule.ProjectToSemiJoinRule.ProjectToSemiJoinRuleConfig</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-tab2"><a href="SortJoinCopyRule.html" title="class in org.apache.calcite.rel.rules">SortJoinCopyRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that copies a <a href="../core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> past a |
| <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> without its limit and offset.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="SortJoinCopyRule.Config.html" title="interface in org.apache.calcite.rel.rules">SortJoinCopyRule.Config</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-tab2"><a href="SortJoinTransposeRule.html" title="class in org.apache.calcite.rel.rules">SortJoinTransposeRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes a <a href="../core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> past a |
| <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="SortJoinTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">SortJoinTransposeRule.Config</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-tab2"><a href="SortProjectTransposeRule.html" title="class in org.apache.calcite.rel.rules">SortProjectTransposeRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes |
| a <a href="../core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> |
| past a <a href="../core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="SortProjectTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">SortProjectTransposeRule.Config</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-tab2"><a href="SortRemoveConstantKeysRule.html" title="class in org.apache.calcite.rel.rules">SortRemoveConstantKeysRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that removes keys from a |
| a <a href="../core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> if those keys are known to be |
| constant, or removes the entire Sort if all keys are constant.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="SortRemoveConstantKeysRule.Config.html" title="interface in org.apache.calcite.rel.rules">SortRemoveConstantKeysRule.Config</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-tab2"><a href="SortRemoveRule.html" title="class in org.apache.calcite.rel.rules">SortRemoveRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that removes |
| a <a href="../core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> if its input is already sorted.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="SortRemoveRule.Config.html" title="interface in org.apache.calcite.rel.rules">SortRemoveRule.Config</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-tab2"><a href="SortUnionTransposeRule.html" title="class in org.apache.calcite.rel.rules">SortUnionTransposeRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pushes a <a href="../core/Sort.html" title="class in org.apache.calcite.rel.core"><code>Sort</code></a> past a |
| <a href="../core/Union.html" title="class in org.apache.calcite.rel.core"><code>Union</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="SortUnionTransposeRule.Config.html" title="interface in org.apache.calcite.rel.rules">SortUnionTransposeRule.Config</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-tab2"><a href="SpatialRules.html" title="class in org.apache.calcite.rel.rules">SpatialRules</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Collection of planner rules that convert |
| calls to spatial functions into more efficient expressions.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab2"><a href="SpatialRules.FilterHilbertRule.html" title="class in org.apache.calcite.rel.rules">SpatialRules.FilterHilbertRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Rule that converts ST_DWithin in a Filter condition into a predicate on |
| a Hilbert curve.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="SpatialRules.FilterHilbertRule.Config.html" title="interface in org.apache.calcite.rel.rules">SpatialRules.FilterHilbertRule.Config</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="SubQueryRemoveRule.html" title="class in org.apache.calcite.rel.rules">SubQueryRemoveRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Transform that converts IN, EXISTS and scalar sub-queries into joins.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="SubQueryRemoveRule.Config.html" title="interface in org.apache.calcite.rel.rules">SubQueryRemoveRule.Config</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-tab1"><a href="SubstitutionRule.html" title="interface in org.apache.calcite.rel.rules">SubstitutionRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab1"> |
| <div class="block">A rule that implements this interface indicates that the new RelNode |
| is typically better than the old one.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab2"><a href="TableScanRule.html" title="class in org.apache.calcite.rel.rules">TableScanRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2">Deprecated. |
| <div class="deprecation-comment"><code>org.apache.calcite.rel.core.RelFactories.TableScanFactoryImpl</code> |
| has called <a href="../../plan/RelOptTable.html#toRel(org.apache.calcite.plan.RelOptTable.ToRelContext)"><code>RelOptTable.toRel(RelOptTable.ToRelContext)</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab1"><a href="TableScanRule.Config.html" title="interface in org.apache.calcite.rel.rules">TableScanRule.Config</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="TransformationRule.html" title="interface in org.apache.calcite.rel.rules">TransformationRule</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab1"> |
| <div class="block">Logical transformation rule, only logical operator can be rule operand, |
| and only generate logical alternatives.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab2"><a href="UnionEliminatorRule.html" title="class in org.apache.calcite.rel.rules">UnionEliminatorRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block"><code>UnionEliminatorRule</code> checks to see if its possible to optimize a |
| Union call by eliminating the Union operator altogether in the case the call |
| consists of only one input.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="UnionEliminatorRule.Config.html" title="interface in org.apache.calcite.rel.rules">UnionEliminatorRule.Config</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="UnionMergeRule.html" title="class in org.apache.calcite.rel.rules">UnionMergeRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">UnionMergeRule implements the rule for combining two |
| non-distinct <a href="../core/SetOp.html" title="class in org.apache.calcite.rel.core"><code>SetOp</code></a>s |
| into a single <a href="../core/SetOp.html" title="class in org.apache.calcite.rel.core"><code>SetOp</code></a>.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="UnionMergeRule.Config.html" title="interface in org.apache.calcite.rel.rules">UnionMergeRule.Config</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="UnionPullUpConstantsRule.html" title="class in org.apache.calcite.rel.rules">UnionPullUpConstantsRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that pulls up constants through a Union operator.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="UnionPullUpConstantsRule.Config.html" title="interface in org.apache.calcite.rel.rules">UnionPullUpConstantsRule.Config</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="UnionToDistinctRule.html" title="class in org.apache.calcite.rel.rules">UnionToDistinctRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that translates a distinct |
| <a href="../core/Union.html" title="class in org.apache.calcite.rel.core"><code>Union</code></a> |
| (<code>all</code> = <code>false</code>) |
| into an <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> |
| on top of a non-distinct <a href="../core/Union.html" title="class in org.apache.calcite.rel.core"><code>Union</code></a> |
| (<code>all</code> = <code>true</code>).</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="UnionToDistinctRule.Config.html" title="interface in org.apache.calcite.rel.rules">UnionToDistinctRule.Config</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="ValuesReduceRule.html" title="class in org.apache.calcite.rel.rules">ValuesReduceRule</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Planner rule that folds projections and filters into an underlying |
| <a href="../logical/LogicalValues.html" title="class in org.apache.calcite.rel.logical"><code>LogicalValues</code></a>.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab1"><a href="ValuesReduceRule.Config.html" title="interface in org.apache.calcite.rel.rules">ValuesReduceRule.Config</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab1"> |
| <div class="block">Rule configuration.</div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </li> |
| </ul> |
| </section> |
| </main> |
| <footer role="contentinfo"> |
| <hr> |
| <p class="legal-copy"><small>Copyright © 2012-2023 Apache Software Foundation. All Rights Reserved.</small></p> |
| </footer> |
| </div> |
| </div> |
| </body> |
| </html> |