| <!DOCTYPE HTML> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc --> |
| <title>RelOptUtil (Apache Calcite API)</title> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style"> |
| <script type="text/javascript" src="../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script> |
| <script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script> |
| <!--[if IE]> |
| <script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script> |
| <![endif]--> |
| <script type="text/javascript" src="../../../../jquery/jquery-3.3.1.js"></script> |
| <script type="text/javascript" src="../../../../jquery/jquery-migrate-3.0.1.js"></script> |
| <script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| try { |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="RelOptUtil (Apache Calcite API)"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var data = {"i0":9,"i1":9,"i2":9,"i3":41,"i4":9,"i5":9,"i6":41,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":41,"i21":9,"i22":9,"i23":41,"i24":41,"i25":9,"i26":9,"i27":9,"i28":41,"i29":41,"i30":41,"i31":9,"i32":41,"i33":41,"i34":41,"i35":9,"i36":41,"i37":9,"i38":9,"i39":41,"i40":41,"i41":41,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9,"i50":9,"i51":9,"i52":41,"i53":9,"i54":9,"i55":9,"i56":9,"i57":9,"i58":9,"i59":9,"i60":9,"i61":9,"i62":9,"i63":9,"i64":41,"i65":9,"i66":9,"i67":41,"i68":9,"i69":9,"i70":9,"i71":9,"i72":9,"i73":41,"i74":9,"i75":9,"i76":9,"i77":9,"i78":9,"i79":9,"i80":9,"i81":9,"i82":9,"i83":9,"i84":41,"i85":41,"i86":9,"i87":9,"i88":41,"i89":41,"i90":9,"i91":9,"i92":41,"i93":9,"i94":9,"i95":9,"i96":9,"i97":41,"i98":9,"i99":9,"i100":9,"i101":9,"i102":9,"i103":9,"i104":9,"i105":41,"i106":9,"i107":9,"i108":9,"i109":9,"i110":9,"i111":9,"i112":9,"i113":41,"i114":9,"i115":9,"i116":9,"i117":9,"i118":9,"i119":9,"i120":9,"i121":9,"i122":9,"i123":9,"i124":9,"i125":9,"i126":9,"i127":9}; |
| var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]}; |
| var altColor = "altColor"; |
| var rowColor = "rowColor"; |
| var tableTab = "tableTab"; |
| var activeTableTab = "activeTableTab"; |
| var pathtoroot = "../../../../"; |
| var useModuleDirectories = true; |
| loadScripts(document, 'script');</script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <header role="banner"> |
| <nav role="navigation"> |
| <div class="fixedNav"> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a id="navbar.top"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> |
| <a id="navbar.top.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../index.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/RelOptUtil.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../help-doc.html">Help</a></li> |
| </ul> |
| </div> |
| <div class="subNav"> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../../allclasses.html">All Classes</a></li> |
| </ul> |
| <ul class="navListSearch"> |
| <li><label for="search">SEARCH:</label> |
| <input type="text" id="search" value="search" disabled="disabled"> |
| <input type="reset" id="reset" value="reset" disabled="disabled"> |
| </li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_top"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li><a href="#constructor.detail">Constr</a> | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <a id="skip.navbar.top"> |
| <!-- --> |
| </a></div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| </div> |
| <div class="navPadding"> </div> |
| <script type="text/javascript"><!-- |
| $('.navPadding').css('padding-top', $('.fixedNav').css("height")); |
| //--> |
| </script> |
| </nav> |
| </header> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <main role="main"> |
| <div class="header"> |
| <div class="subTitle"><span class="packageLabelInType">Package</span> <a href="package-summary.html">org.apache.calcite.plan</a></div> |
| <h2 title="Class RelOptUtil" class="title">Class RelOptUtil</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li>java.lang.Object</li> |
| <li> |
| <ul class="inheritance"> |
| <li>org.apache.calcite.plan.RelOptUtil</li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <hr> |
| <pre>public abstract class <span class="typeNameLabel">RelOptUtil</span> |
| extends java.lang.Object</pre> |
| <div class="block"><code>RelOptUtil</code> defines static utility methods for use in optimizing |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>s.</div> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ======== NESTED CLASS SUMMARY ======== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="nested.class.summary"> |
| <!-- --> |
| </a> |
| <h3>Nested Class Summary</h3> |
| <table class="memberSummary"> |
| <caption><span>Nested Classes</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colSecond" scope="col">Class</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelOptUtil.CorrelationCollector.html" title="class in org.apache.calcite.plan">RelOptUtil.CorrelationCollector</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Shuttle that finds correlation variables inside a given relational |
| expression, including those that are inside |
| <a href="../rex/RexSubQuery.html" title="class in org.apache.calcite.rex"><code>sub-queries</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelOptUtil.Exists.html" title="class in org.apache.calcite.plan">RelOptUtil.Exists</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Result of calling |
| <a href="#createExistsPlan(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rex.RexLiteral,java.lang.String)"><code>createExistsPlan(org.apache.calcite.plan.RelOptCluster, org.apache.calcite.rel.RelNode, java.util.List<org.apache.calcite.rex.RexNode>, org.apache.calcite.rex.RexLiteral, java.lang.String)</code></a></div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelOptUtil.InputFinder.html" title="class in org.apache.calcite.plan">RelOptUtil.InputFinder</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Visitor which builds a bitmap of the inputs used by an expression.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelOptUtil.InputReferencedVisitor.html" title="class in org.apache.calcite.plan">RelOptUtil.InputReferencedVisitor</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Shuttle that finds the set of inputs that are used.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelOptUtil.Logic.html" title="enum in org.apache.calcite.plan">RelOptUtil.Logic</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Policies for handling two- and three-valued boolean logic.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelOptUtil.RexInputConverter.html" title="class in org.apache.calcite.plan">RelOptUtil.RexInputConverter</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Walks an expression tree, converting the index of RexInputRefs based on |
| some adjustment factor.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>(package private) static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelOptUtil.Side.html" title="enum in org.apache.calcite.plan">RelOptUtil.Side</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Categorizes whether a bit set contains bits left and right of a |
| line.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelOptUtil.SubQueryType.html" title="enum in org.apache.calcite.plan">RelOptUtil.SubQueryType</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">What kind of sub-query.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelOptUtil.TypeDumper.html" title="class in org.apache.calcite.plan">RelOptUtil.TypeDumper</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Converts types to descriptive strings.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelOptUtil.VariableSetVisitor.html" title="class in org.apache.calcite.plan">RelOptUtil.VariableSetVisitor</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Visitor that finds all variables used but not stopped in an expression.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelOptUtil.VariableUsedVisitor.html" title="class in org.apache.calcite.plan">RelOptUtil.VariableUsedVisitor</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Visitor that finds all variables used in an expression.</div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| </section> |
| <!-- =========== FIELD SUMMARY =========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="field.summary"> |
| <!-- --> |
| </a> |
| <h3>Field Summary</h3> |
| <table class="memberSummary"> |
| <caption><span>Fields</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colSecond" scope="col">Field</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>(package private) static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#B">B</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static com.google.common.base.Predicate<<a href="../rel/core/Calc.html" title="class in org.apache.calcite.rel.core">Calc</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#CALC_PREDICATE">CALC_PREDICATE</a></span></code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EPSILON">EPSILON</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static com.google.common.base.Predicate<<a href="../rel/core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FILTER_PREDICATE">FILTER_PREDICATE</a></span></code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static com.google.common.base.Predicate<<a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PROJECT_PREDICATE">PROJECT_PREDICATE</a></span></code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| </section> |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="constructor.summary"> |
| <!-- --> |
| </a> |
| <h3>Constructor Summary</h3> |
| <table class="memberSummary"> |
| <caption><span>Constructors</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Constructor</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr class="altColor"> |
| <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">RelOptUtil</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| </section> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="method.summary"> |
| <!-- --> |
| </a> |
| <h3>Method Summary</h3> |
| <table class="memberSummary"> |
| <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd"> </span></span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colSecond" scope="col">Method</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr id="i0" class="altColor"> |
| <td class="colFirst"><code>private static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addJoinKey(java.util.List,org.apache.calcite.rex.RexNode,boolean)">addJoinKey</a></span>​(java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> joinKeyList, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> key, |
| boolean preserveLastElementInList)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code>static <T extends <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>><br>T</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addTrait(T,org.apache.calcite.plan.RelTrait)">addTrait</a></span>​(T rel, |
| <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a> trait)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code>static java.util.List<java.lang.Integer></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#adjustKeys(java.util.List,int)">adjustKeys</a></span>​(java.util.List<java.lang.Integer> keys, |
| int adjustment)</code></th> |
| <td class="colLast"> |
| <div class="block">Adjusts key values in a list by some fixed amount.</div> |
| </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#analyzeSimpleEquiJoin(org.apache.calcite.rel.logical.LogicalJoin,int%5B%5D)">analyzeSimpleEquiJoin</a></span>​(<a href="../rel/logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a> join, |
| int[] joinFieldOrdinals)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#andJoinFilters(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">andJoinFilters</a></span>​(<a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> left, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> right)</code></th> |
| <td class="colLast"> |
| <div class="block">Ands two sets of join filters together, either of which can be null.</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#areRowTypesEqual(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType,boolean)">areRowTypesEqual</a></span>​(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> rowType1, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> rowType2, |
| boolean compareNames)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkProjAndChildInputs(org.apache.calcite.rel.core.Project,boolean)">checkProjAndChildInputs</a></span>​(<a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a> project, |
| boolean checkNames)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#classifyFilters(org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.core.JoinRelType,boolean,boolean,boolean,java.util.List,java.util.List,java.util.List)">classifyFilters</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> joinRel, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> filters, |
| <a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a> joinType, |
| boolean pushInto, |
| boolean pushLeft, |
| boolean pushRight, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> joinFilters, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> leftFilters, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> rightFilters)</code></th> |
| <td class="colLast"> |
| <div class="block">Classifies filters according to where they should be processed.</div> |
| </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collapseExpandedIsNotDistinctFromExpr(org.apache.calcite.rex.RexCall,org.apache.calcite.rex.RexBuilder)">collapseExpandedIsNotDistinctFromExpr</a></span>​(<a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> call, |
| <a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder)</code></th> |
| <td class="colLast"> |
| <div class="block">Collapses an expanded version of <code>IS NOT DISTINCT FROM</code> expression.</div> |
| </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code>static java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#conjunctions(org.apache.calcite.rex.RexNode)">conjunctions</a></span>​(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> rexPredicate)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a condition decomposed by AND.</div> |
| </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#contains(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">contains</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> ancestor, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> target)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether relational expression <code>target</code> occurs within a |
| relational expression <code>ancestor</code>.</div> |
| </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code>private static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#containsGet(org.apache.calcite.rex.RexNode)">containsGet</a></span>​(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i12" class="altColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#containsMultisetOrWindowedAgg(org.apache.calcite.rel.core.Calc)">containsMultisetOrWindowedAgg</a></span>​(<a href="../rel/core/Calc.html" title="class in org.apache.calcite.rel.core">Calc</a> calc)</code></th> |
| <td class="colLast"> |
| <div class="block">Predicate for whether a <a href="../rel/core/Calc.html" title="class in org.apache.calcite.rel.core"><code>Calc</code></a> contains multisets or windowed |
| aggregates.</div> |
| </td> |
| </tr> |
| <tr id="i13" class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#containsMultisetOrWindowedAgg(org.apache.calcite.rel.core.Filter)">containsMultisetOrWindowedAgg</a></span>​(<a href="../rel/core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a> filter)</code></th> |
| <td class="colLast"> |
| <div class="block">Predicate for whether a <a href="../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> contains multisets or windowed |
| aggregates.</div> |
| </td> |
| </tr> |
| <tr id="i14" class="altColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#containsMultisetOrWindowedAgg(org.apache.calcite.rel.core.Project)">containsMultisetOrWindowedAgg</a></span>​(<a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a> project)</code></th> |
| <td class="colLast"> |
| <div class="block">Predicate for whether a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> contains multisets or windowed |
| aggregates.</div> |
| </td> |
| </tr> |
| <tr id="i15" class="rowColor"> |
| <td class="colFirst"><code>private static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#containsNullableFields(org.apache.calcite.rel.RelNode)">containsNullableFields</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> r)</code></th> |
| <td class="colLast"> |
| <div class="block">Determines whether any of the fields in a given relational expression may |
| contain null values, taking into account constraints on the field types and |
| also deduced predicates.</div> |
| </td> |
| </tr> |
| <tr id="i16" class="altColor"> |
| <td class="colFirst"><code>static <a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#correlationColumns(org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.rel.RelNode)">correlationColumns</a></span>​(<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a> id, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Finds which columns of a correlation variable are used within a |
| relational expression.</div> |
| </td> |
| </tr> |
| <tr id="i17" class="rowColor"> |
| <td class="colFirst"><code>static int</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#countJoins(org.apache.calcite.rel.RelNode)">countJoins</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rootRel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the number of <a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> nodes in a |
| tree.</div> |
| </td> |
| </tr> |
| <tr id="i18" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createCastRel(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType,boolean)">createCastRel</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> castRowType, |
| boolean rename)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a projection which casts a rel's output to a desired row type.</div> |
| </td> |
| </tr> |
| <tr id="i19" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createCastRel(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType,boolean,org.apache.calcite.rel.core.RelFactories.ProjectFactory)">createCastRel</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> castRowType, |
| boolean rename, |
| <a href="../rel/core/RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ProjectFactory</a> projectFactory)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a projection which casts a rel's output to a desired row type.</div> |
| </td> |
| </tr> |
| <tr id="i20" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createDistinctRel(org.apache.calcite.rel.RelNode)">createDistinctRel</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="deprecationComment">Use <a href="../tools/RelBuilder.html#distinct()"><code>RelBuilder.distinct()</code></a>.</div> |
| </div> |
| </td> |
| </tr> |
| <tr id="i21" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createDmlRowType(org.apache.calcite.sql.SqlKind,org.apache.calcite.rel.type.RelDataTypeFactory)">createDmlRowType</a></span>​(<a href="../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a> kind, |
| <a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates the row type descriptor for the result of a DML operation, which |
| is a single column named ROWCOUNT of type BIGINT for INSERT; |
| a single column named PLAN for EXPLAIN.</div> |
| </td> |
| </tr> |
| <tr id="i22" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createEquiJoinCondition(org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rex.RexBuilder)">createEquiJoinCondition</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> left, |
| java.util.List<java.lang.Integer> leftKeys, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> right, |
| java.util.List<java.lang.Integer> rightKeys, |
| <a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder)</code></th> |
| <td class="colLast"> |
| <div class="block">Builds an equi-join condition from a set of left and right keys.</div> |
| </td> |
| </tr> |
| <tr id="i23" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createExistsPlan(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rex.RexLiteral,java.lang.String)">createExistsPlan</a></span>​(<a href="RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a> cluster, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> seekRel, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> conditions, |
| <a href="../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a> extraExpr, |
| java.lang.String extraName)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i24" class="altColor"> |
| <td class="colFirst"><code>static <a href="RelOptUtil.Exists.html" title="class in org.apache.calcite.plan">RelOptUtil.Exists</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createExistsPlan(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelOptUtil.SubQueryType,org.apache.calcite.plan.RelOptUtil.Logic,boolean)">createExistsPlan</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> seekRel, |
| <a href="RelOptUtil.SubQueryType.html" title="enum in org.apache.calcite.plan">RelOptUtil.SubQueryType</a> subQueryType, |
| <a href="RelOptUtil.Logic.html" title="enum in org.apache.calcite.plan">RelOptUtil.Logic</a> logic, |
| boolean notIn)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i25" class="rowColor"> |
| <td class="colFirst"><code>static <a href="RelOptUtil.Exists.html" title="class in org.apache.calcite.plan">RelOptUtil.Exists</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createExistsPlan(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelOptUtil.SubQueryType,org.apache.calcite.plan.RelOptUtil.Logic,boolean,org.apache.calcite.tools.RelBuilder)">createExistsPlan</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> seekRel, |
| <a href="RelOptUtil.SubQueryType.html" title="enum in org.apache.calcite.plan">RelOptUtil.SubQueryType</a> subQueryType, |
| <a href="RelOptUtil.Logic.html" title="enum in org.apache.calcite.plan">RelOptUtil.Logic</a> logic, |
| boolean notIn, |
| <a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a> relBuilder)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a plan suitable for use in <code>EXISTS</code> or <code>IN</code> |
| statements.</div> |
| </td> |
| </tr> |
| <tr id="i26" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createFilter(org.apache.calcite.rel.RelNode,java.lang.Iterable)">createFilter</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| java.lang.Iterable<? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> conditions)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a filter, using the default filter factory, |
| or returns the original relational expression if the |
| condition is trivial.</div> |
| </td> |
| </tr> |
| <tr id="i27" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createFilter(org.apache.calcite.rel.RelNode,java.lang.Iterable,org.apache.calcite.rel.core.RelFactories.FilterFactory)">createFilter</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| java.lang.Iterable<? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> conditions, |
| <a href="../rel/core/RelFactories.FilterFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.FilterFactory</a> filterFactory)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a filter using the default factory, |
| or returns the original relational expression if the |
| condition is trivial.</div> |
| </td> |
| </tr> |
| <tr id="i28" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createFilter(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">createFilter</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i29" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createFilter(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.RelFactories.FilterFactory)">createFilter</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| <a href="../rel/core/RelFactories.FilterFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.FilterFactory</a> filterFactory)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i30" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createNullFilter(org.apache.calcite.rel.RelNode,java.lang.Integer%5B%5D)">createNullFilter</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| java.lang.Integer[] fieldOrdinals)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i31" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createProject(org.apache.calcite.rel.core.RelFactories.ProjectFactory,org.apache.calcite.rel.RelNode,java.util.List)">createProject</a></span>​(<a href="../rel/core/RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ProjectFactory</a> factory, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| java.util.List<java.lang.Integer> posList)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a relational expression that projects the given fields of the |
| input.</div> |
| </td> |
| </tr> |
| <tr id="i32" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createProject(org.apache.calcite.rel.RelNode,java.util.List,java.util.List)">createProject</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| java.util.List<? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprList, |
| java.util.List<java.lang.String> fieldNameList)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i33" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createProject(org.apache.calcite.rel.RelNode,java.util.List,java.util.List,boolean)">createProject</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| java.util.List<? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs, |
| java.util.List<java.lang.String> fieldNames, |
| boolean optimize)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i34" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createProject(org.apache.calcite.rel.RelNode,java.util.List,java.util.List,boolean,org.apache.calcite.tools.RelBuilder)">createProject</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| java.util.List<? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs, |
| java.util.List<java.lang.String> fieldNames, |
| boolean optimize, |
| <a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a> relBuilder)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="deprecationComment">Use |
| <a href="../tools/RelBuilder.html#projectNamed(java.lang.Iterable,java.lang.Iterable,boolean)"><code>RelBuilder.projectNamed(Iterable, Iterable, boolean)</code></a></div> |
| </div> |
| </td> |
| </tr> |
| <tr id="i35" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createProject(org.apache.calcite.rel.RelNode,java.util.List)">createProject</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| java.util.List<java.lang.Integer> posList)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a relational expression that projects the given fields of the |
| input.</div> |
| </td> |
| </tr> |
| <tr id="i36" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createProject(org.apache.calcite.rel.RelNode,java.util.List,boolean)">createProject</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| java.util.List<<a href="../util/Pair.html" title="class in org.apache.calcite.util">Pair</a><<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,​java.lang.String>> projectList, |
| boolean optimize)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i37" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createProject(org.apache.calcite.rel.RelNode,org.apache.calcite.util.mapping.Mappings.TargetMapping)">createProject</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| <a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a> mapping)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a <a href="../rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a> that |
| projects particular fields of its input, according to a mapping.</div> |
| </td> |
| </tr> |
| <tr id="i38" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createProject(org.apache.calcite.rel.RelNode,org.apache.calcite.util.mapping.Mappings.TargetMapping,org.apache.calcite.rel.core.RelFactories.ProjectFactory)">createProject</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| <a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a> mapping, |
| <a href="../rel/core/RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ProjectFactory</a> projectFactory)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i39" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createProjectJoinRel(java.util.List,org.apache.calcite.rel.RelNode)">createProjectJoinRel</a></span>​(java.util.List<java.lang.Integer> outputProj, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> joinRel)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i40" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createRename(org.apache.calcite.rel.RelNode,java.util.List)">createRename</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| java.util.List<java.lang.String> fieldNames)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i41" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createRenameRel(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.RelNode)">createRenameRel</a></span>​(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> outputType, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i42" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createSingleValueAggRel(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.RelNode)">createSingleValueAggRel</a></span>​(<a href="RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a> cluster, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a LogicalAggregate that removes all duplicates from the result of |
| an underlying relational expression.</div> |
| </td> |
| </tr> |
| <tr id="i43" class="rowColor"> |
| <td class="colFirst"><code>static java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createSwappedJoinExprs(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Join,boolean)">createSwappedJoinExprs</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> newJoin, |
| <a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core">Join</a> origJoin, |
| boolean origOrder)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates projection expressions reflecting the swapping of a join's input.</div> |
| </td> |
| </tr> |
| <tr id="i44" class="altColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#decomposeConjunction(org.apache.calcite.rex.RexNode,java.util.List)">decomposeConjunction</a></span>​(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> rexPredicate, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> rexList)</code></th> |
| <td class="colLast"> |
| <div class="block">Decomposes a predicate into a list of expressions that are AND'ed |
| together.</div> |
| </td> |
| </tr> |
| <tr id="i45" class="rowColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#decomposeConjunction(org.apache.calcite.rex.RexNode,java.util.List,java.util.List)">decomposeConjunction</a></span>​(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> rexPredicate, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> rexList, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> notList)</code></th> |
| <td class="colLast"> |
| <div class="block">Decomposes a predicate into a list of expressions that are AND'ed |
| together, and a list of expressions that are preceded by NOT.</div> |
| </td> |
| </tr> |
| <tr id="i46" class="altColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#decomposeDisjunction(org.apache.calcite.rex.RexNode,java.util.List)">decomposeDisjunction</a></span>​(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> rexPredicate, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> rexList)</code></th> |
| <td class="colLast"> |
| <div class="block">Decomposes a predicate into a list of expressions that are OR'ed |
| together.</div> |
| </td> |
| </tr> |
| <tr id="i47" class="rowColor"> |
| <td class="colFirst"><code>static java.util.List<<a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deduplicateColumns(java.util.List,java.util.List)">deduplicateColumns</a></span>​(java.util.List<<a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>> baseColumns, |
| java.util.List<<a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>> extendedColumns)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the set of columns with unique names, with prior columns taking |
| precedence over columns that appear later in the list.</div> |
| </td> |
| </tr> |
| <tr id="i48" class="altColor"> |
| <td class="colFirst"><code>static java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#disjunctions(org.apache.calcite.rex.RexNode)">disjunctions</a></span>​(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> rexPredicate)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a condition decomposed by OR.</div> |
| </td> |
| </tr> |
| <tr id="i49" class="rowColor"> |
| <td class="colFirst"><code>private static <a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doCollapseExpandedIsNotDistinctFrom(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexCall,org.apache.calcite.rex.RexCall,org.apache.calcite.rex.RexCall,org.apache.calcite.rex.RexCall)">doCollapseExpandedIsNotDistinctFrom</a></span>​(<a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> call, |
| <a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> ifNull0Call, |
| <a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> ifNull1Call, |
| <a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> equalsCall)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i50" class="altColor"> |
| <td class="colFirst"><code>private static <a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doCollapseExpandedIsNotDistinctFromCaseExpr(org.apache.calcite.rex.RexCall,org.apache.calcite.rex.RexBuilder)">doCollapseExpandedIsNotDistinctFromCaseExpr</a></span>​(<a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> call, |
| <a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i51" class="rowColor"> |
| <td class="colFirst"><code>private static <a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doCollapseExpandedIsNotDistinctFromOrExpr(org.apache.calcite.rex.RexCall,org.apache.calcite.rex.RexBuilder)">doCollapseExpandedIsNotDistinctFromOrExpr</a></span>​(<a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> call, |
| <a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i52" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dumpPlan(java.lang.String,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.sql.SqlExplainLevel)">dumpPlan</a></span>​(java.lang.String header, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| boolean asXml, |
| <a href="../sql/SqlExplainLevel.html" title="enum in org.apache.calcite.sql">SqlExplainLevel</a> detailLevel)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i53" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dumpPlan(java.lang.String,org.apache.calcite.rel.RelNode,org.apache.calcite.sql.SqlExplainFormat,org.apache.calcite.sql.SqlExplainLevel)">dumpPlan</a></span>​(java.lang.String header, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../sql/SqlExplainFormat.html" title="enum in org.apache.calcite.sql">SqlExplainFormat</a> format, |
| <a href="../sql/SqlExplainLevel.html" title="enum in org.apache.calcite.sql">SqlExplainLevel</a> detailLevel)</code></th> |
| <td class="colLast"> |
| <div class="block">Dumps a plan as a string.</div> |
| </td> |
| </tr> |
| <tr id="i54" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dumpType(org.apache.calcite.rel.type.RelDataType)">dumpType</a></span>​(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i55" class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#eq(java.lang.String,org.apache.calcite.rel.type.RelDataType,java.lang.String,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.util.Litmus)">eq</a></span>​(java.lang.String desc1, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type1, |
| java.lang.String desc2, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type2, |
| <a href="../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a> litmus)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether two types are equal using '='.</div> |
| </td> |
| </tr> |
| <tr id="i56" class="altColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equal(java.lang.String,org.apache.calcite.rel.type.RelDataType,java.lang.String,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.util.Litmus)">equal</a></span>​(java.lang.String desc1, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type1, |
| java.lang.String desc2, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type2, |
| <a href="../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a> litmus)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether two types are equal using |
| <a href="#areRowTypesEqual(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType,boolean)"><code>areRowTypesEqual(RelDataType, RelDataType, boolean)</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i57" class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equalType(java.lang.String,org.apache.calcite.rel.RelNode,java.lang.String,org.apache.calcite.rel.RelNode,org.apache.calcite.util.Litmus)">equalType</a></span>​(java.lang.String desc0, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel0, |
| java.lang.String desc1, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel1, |
| <a href="../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a> litmus)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether two relational expressions have the same row-type.</div> |
| </td> |
| </tr> |
| <tr id="i58" class="altColor"> |
| <td class="colFirst"><code>static java.util.List<java.lang.String></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#findAllTableQualifiedNames(org.apache.calcite.rel.RelNode)">findAllTableQualifiedNames</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a list of all table qualified names used by this expression |
| or its children.</div> |
| </td> |
| </tr> |
| <tr id="i59" class="rowColor"> |
| <td class="colFirst"><code>static java.util.List<<a href="RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#findAllTables(org.apache.calcite.rel.RelNode)">findAllTables</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a list of all tables used by this expression or its children</div> |
| </td> |
| </tr> |
| <tr id="i60" class="altColor"> |
| <td class="colFirst"><code>static java.util.Set<<a href="RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#findTables(org.apache.calcite.rel.RelNode)">findTables</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a set of tables used by this expression or its children</div> |
| </td> |
| </tr> |
| <tr id="i61" class="rowColor"> |
| <td class="colFirst"><code>private static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#fix(java.util.List,int,int)">fix</a></span>​(java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> operands, |
| int before, |
| int after)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i62" class="altColor"> |
| <td class="colFirst"><code>static java.util.Set<java.lang.Integer></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAllFields(org.apache.calcite.rel.core.Aggregate)">getAllFields</a></span>​(<a href="../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a> aggregate)</code></th> |
| <td class="colLast"> |
| <div class="block">Gets all fields in an aggregate.</div> |
| </td> |
| </tr> |
| <tr id="i63" class="rowColor"> |
| <td class="colFirst"><code>static java.util.Map<java.lang.Integer,​<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getColumnConstraints(org.apache.calcite.schema.ModifiableView,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataTypeFactory)">getColumnConstraints</a></span>​(<a href="../schema/ModifiableView.html" title="interface in org.apache.calcite.schema">ModifiableView</a> modifiableViewTable, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> targetRowType, |
| <a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a mapping of the column ordinal in the underlying table to a column |
| constraint of the modifiable view.</div> |
| </td> |
| </tr> |
| <tr id="i64" class="altColor"> |
| <td class="colFirst"><code>static <a href="RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getContext(org.apache.calcite.plan.RelOptCluster)">getContext</a></span>​(<a href="RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a> cluster)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i65" class="rowColor"> |
| <td class="colFirst"><code>static java.util.List<<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFieldTypeList(org.apache.calcite.rel.type.RelDataType)">getFieldTypeList</a></span>​(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a list of the types of the fields in a given struct type.</div> |
| </td> |
| </tr> |
| <tr id="i66" class="altColor"> |
| <td class="colFirst"><code>static java.util.Set<<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVariablesSet(org.apache.calcite.rel.RelNode)">getVariablesSet</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a list of variables set by a relational expression or its |
| descendants.</div> |
| </td> |
| </tr> |
| <tr id="i67" class="rowColor"> |
| <td class="colFirst"><code>static java.util.List<<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVariablesSetAndUsed(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">getVariablesSetAndUsed</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel0, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel1)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i68" class="altColor"> |
| <td class="colFirst"><code>static java.util.Set<<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVariablesUsed(org.apache.calcite.rel.RelNode)">getVariablesUsed</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a set of variables used by a relational expression or its |
| descendants.</div> |
| </td> |
| </tr> |
| <tr id="i69" class="rowColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#go(org.apache.calcite.rel.RelVisitor,org.apache.calcite.rel.RelNode)">go</a></span>​(<a href="../rel/RelVisitor.html" title="class in org.apache.calcite.rel">RelVisitor</a> visitor, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> p)</code></th> |
| <td class="colLast"> |
| <div class="block">Sets a <a href="../rel/RelVisitor.html" title="class in org.apache.calcite.rel"><code>RelVisitor</code></a> going on a given relational expression, and |
| returns the result.</div> |
| </td> |
| </tr> |
| <tr id="i70" class="altColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#inferViewPredicates(java.util.Map,java.util.List,org.apache.calcite.rex.RexNode)">inferViewPredicates</a></span>​(java.util.Map<java.lang.Integer,​<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> projectMap, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> filters, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> constraint)</code></th> |
| <td class="colLast"> |
| <div class="block">Decomposes the WHERE clause of a view into predicates that constraint |
| a column to a particular value.</div> |
| </td> |
| </tr> |
| <tr id="i71" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDistinctFrom(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,boolean)">isDistinctFrom</a></span>​(<a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> x, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> y, |
| boolean neg)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a translation of the <code>IS DISTINCT FROM</code> (or <code>IS |
| NOT DISTINCT FROM</code>) sql operator.</div> |
| </td> |
| </tr> |
| <tr id="i72" class="altColor"> |
| <td class="colFirst"><code>private static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDistinctFromInternal(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,boolean)">isDistinctFromInternal</a></span>​(<a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> x, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> y, |
| boolean neg)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i73" class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEqui(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">isEqui</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> left, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> right, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i74" class="altColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isLimit(org.apache.calcite.rel.RelNode)">isLimit</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Whether this node contains a limit specification.</div> |
| </td> |
| </tr> |
| <tr id="i75" class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isOrder(org.apache.calcite.rel.RelNode)">isOrder</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Whether this node contains a sort specification.</div> |
| </td> |
| </tr> |
| <tr id="i76" class="altColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPureLimit(org.apache.calcite.rel.RelNode)">isPureLimit</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Whether this node is a limit without sort specification.</div> |
| </td> |
| </tr> |
| <tr id="i77" class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPureOrder(org.apache.calcite.rel.RelNode)">isPureOrder</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Whether this node is a sort without limit specification.</div> |
| </td> |
| </tr> |
| <tr id="i78" class="altColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#notContainsCorrelation(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.util.Litmus)">notContainsCorrelation</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> r, |
| <a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a> correlationId, |
| <a href="../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a> litmus)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns true, and calls <a href="../util/Litmus.html#succeed()"><code>Litmus.succeed()</code></a> if a given relational |
| expression does not contain a given correlation.</div> |
| </td> |
| </tr> |
| <tr id="i79" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#op(org.apache.calcite.sql.SqlKind,org.apache.calcite.sql.SqlOperator)">op</a></span>​(<a href="../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a> kind, |
| <a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a> operator)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i80" class="altColor"> |
| <td class="colFirst"><code>static <a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#permutation(java.util.List,org.apache.calcite.rel.type.RelDataType)">permutation</a></span>​(java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> inputRowType)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a permutation describing where output fields come from.</div> |
| </td> |
| </tr> |
| <tr id="i81" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#permutationIgnoreCast(java.util.List,org.apache.calcite.rel.type.RelDataType)">permutationIgnoreCast</a></span>​(java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> inputRowType)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a permutation describing where output fields come from.</div> |
| </td> |
| </tr> |
| <tr id="i82" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#permute(org.apache.calcite.rel.RelNode,org.apache.calcite.util.Permutation,java.util.List)">permute</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../util/Permutation.html" title="class in org.apache.calcite.util">Permutation</a> permutation, |
| java.util.List<java.lang.String> fieldNames)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a relational expression which permutes the output fields of a |
| relational expression according to a permutation.</div> |
| </td> |
| </tr> |
| <tr id="i83" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#permute(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.util.mapping.Mapping)">permute</a></span>​(<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> rowType, |
| <a href="../util/mapping/Mapping.html" title="interface in org.apache.calcite.util.mapping">Mapping</a> mapping)</code></th> |
| <td class="colLast"> |
| <div class="block">Permutes a record type according to a mapping.</div> |
| </td> |
| </tr> |
| <tr id="i84" class="altColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#projectJoinInputs(org.apache.calcite.rel.RelNode%5B%5D,java.util.List,java.util.List,int,java.util.List,java.util.List,java.util.List)">projectJoinInputs</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[] inputRels, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> leftJoinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> rightJoinKeys, |
| int systemColCount, |
| java.util.List<java.lang.Integer> leftKeys, |
| java.util.List<java.lang.Integer> rightKeys, |
| java.util.List<java.lang.Integer> outputProj)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i85" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#projectMapping(org.apache.calcite.rel.RelNode,org.apache.calcite.util.mapping.Mapping,java.util.List,org.apache.calcite.rel.core.RelFactories.ProjectFactory)">projectMapping</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../util/mapping/Mapping.html" title="interface in org.apache.calcite.util.mapping">Mapping</a> mapping, |
| java.util.List<java.lang.String> fieldNames, |
| <a href="../rel/core/RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ProjectFactory</a> projectFactory)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i86" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rel/rules/MultiJoin.html" title="class in org.apache.calcite.rel.rules">MultiJoin</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#projectMultiJoin(org.apache.calcite.rel.rules.MultiJoin,org.apache.calcite.rel.core.Project)">projectMultiJoin</a></span>​(<a href="../rel/rules/MultiJoin.html" title="class in org.apache.calcite.rel.rules">MultiJoin</a> multiJoin, |
| <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a> project)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a new <a href="../rel/rules/MultiJoin.html" title="class in org.apache.calcite.rel.rules"><code>MultiJoin</code></a> to reflect |
| projection references from a |
| <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> that is on top of the |
| <a href="../rel/rules/MultiJoin.html" title="class in org.apache.calcite.rel.rules"><code>MultiJoin</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i87" class="rowColor"> |
| <td class="colFirst"><code>private static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pushDownEqualJoinConditions(org.apache.calcite.rex.RexNode,int,int,java.util.List,java.util.List,org.apache.calcite.rex.RexBuilder)">pushDownEqualJoinConditions</a></span>​(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| int leftCount, |
| int rightCount, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> extraLeftExprs, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> extraRightExprs, |
| <a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> builder)</code></th> |
| <td class="colLast"> |
| <div class="block">Pushes down parts of a join condition.</div> |
| </td> |
| </tr> |
| <tr id="i88" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pushDownJoinConditions(org.apache.calcite.rel.core.Join)">pushDownJoinConditions</a></span>​(<a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core">Join</a> originalJoin)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i89" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pushDownJoinConditions(org.apache.calcite.rel.core.Join,org.apache.calcite.rel.core.RelFactories.ProjectFactory)">pushDownJoinConditions</a></span>​(<a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core">Join</a> originalJoin, |
| <a href="../rel/core/RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ProjectFactory</a> projectFactory)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i90" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pushDownJoinConditions(org.apache.calcite.rel.core.Join,org.apache.calcite.tools.RelBuilder)">pushDownJoinConditions</a></span>​(<a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core">Join</a> originalJoin, |
| <a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a> relBuilder)</code></th> |
| <td class="colLast"> |
| <div class="block">Pushes down expressions in "equal" join condition.</div> |
| </td> |
| </tr> |
| <tr id="i91" class="rowColor"> |
| <td class="colFirst"><code>private static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pushDownJoinConditions(org.apache.calcite.rel.core.Join,org.apache.calcite.tools.RelBuilderFactory)">pushDownJoinConditions</a></span>​(<a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core">Join</a> originalJoin, |
| <a href="../tools/RelBuilderFactory.html" title="interface in org.apache.calcite.tools">RelBuilderFactory</a> relBuilderFactory)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i92" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pushFilterPastProject(org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.Project)">pushFilterPastProject</a></span>​(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> filter, |
| <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a> projRel)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i93" class="rowColor"> |
| <td class="colFirst"><code>static java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pushPastProject(java.util.List,org.apache.calcite.rel.core.Project)">pushPastProject</a></span>​(java.util.List<? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes, |
| <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a> project)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts a list of expressions that are based on the output fields of a |
| <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> to equivalent expressions on the Project's |
| input fields.</div> |
| </td> |
| </tr> |
| <tr id="i94" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pushPastProject(org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.Project)">pushPastProject</a></span>​(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a> project)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts an expression that is based on the output fields of a |
| <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> to an equivalent expression on the Project's |
| input fields.</div> |
| </td> |
| </tr> |
| <tr id="i95" class="rowColor"> |
| <td class="colFirst"><code>private static <a href="../rex/RexShuttle.html" title="class in org.apache.calcite.rex">RexShuttle</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pushShuttle(org.apache.calcite.rel.core.Project)">pushShuttle</a></span>​(<a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a> project)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i96" class="altColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#registerAbstractRelationalRules(org.apache.calcite.plan.RelOptPlanner)">registerAbstractRelationalRules</a></span>​(<a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i97" class="rowColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#registerAbstractRels(org.apache.calcite.plan.RelOptPlanner)">registerAbstractRels</a></span>​(<a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i98" class="altColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#registerAbstractRules(org.apache.calcite.plan.RelOptPlanner)">registerAbstractRules</a></span>​(<a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i99" class="rowColor"> |
| <td class="colFirst"><code>private static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#registerBaseRules(org.apache.calcite.plan.RelOptPlanner)">registerBaseRules</a></span>​(<a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i100" class="altColor"> |
| <td class="colFirst"><code>private static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#registerCalcRules(org.apache.calcite.plan.RelOptPlanner)">registerCalcRules</a></span>​(<a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i101" class="rowColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#registerDefaultRules(org.apache.calcite.plan.RelOptPlanner,boolean,boolean)">registerDefaultRules</a></span>​(<a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner, |
| boolean enableMaterialziations, |
| boolean enableBindable)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i102" class="altColor"> |
| <td class="colFirst"><code>private static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#registerEnumerableRules(org.apache.calcite.plan.RelOptPlanner)">registerEnumerableRules</a></span>​(<a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i103" class="rowColor"> |
| <td class="colFirst"><code>private static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#registerMaterializationRules(org.apache.calcite.plan.RelOptPlanner)">registerMaterializationRules</a></span>​(<a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i104" class="altColor"> |
| <td class="colFirst"><code>private static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#registerReductionRules(org.apache.calcite.plan.RelOptPlanner)">registerReductionRules</a></span>​(<a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i105" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#renameIfNecessary(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType)">renameIfNecessary</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> desiredRowType)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i106" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#replace(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">replace</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> query, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> find, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> replace)</code></th> |
| <td class="colLast"> |
| <div class="block">Within a relational expression <code>query</code>, replaces occurrences of |
| <code>find</code> with <code>replace</code>.</div> |
| </td> |
| </tr> |
| <tr id="i107" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#replaceInput(org.apache.calcite.rel.RelNode,int,org.apache.calcite.rel.RelNode)">replaceInput</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> parent, |
| int ordinal, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> newInput)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a shallow copy of a relational expression with a particular |
| input replaced.</div> |
| </td> |
| </tr> |
| <tr id="i108" class="altColor"> |
| <td class="colFirst"><code>private static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#replaceRecurse(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">replaceRecurse</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> query, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> find, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> replace)</code></th> |
| <td class="colLast"> |
| <div class="block">Helper for <a href="#replace(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)"><code>replace(org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelNode)</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i109" class="rowColor"> |
| <td class="colFirst"><code>private static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#shiftFilter(int,int,int,org.apache.calcite.rex.RexBuilder,java.util.List,int,java.util.List,org.apache.calcite.rex.RexNode)">shiftFilter</a></span>​(int start, |
| int end, |
| int offset, |
| <a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| java.util.List<<a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>> joinFields, |
| int nTotalFields, |
| java.util.List<<a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>> rightFields, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> filter)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i110" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#simplifyJoin(org.apache.calcite.rel.RelNode,com.google.common.collect.ImmutableList,org.apache.calcite.rel.core.JoinRelType)">simplifyJoin</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> joinRel, |
| com.google.common.collect.ImmutableList<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> aboveFilters, |
| <a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a> joinType)</code></th> |
| <td class="colLast"> |
| <div class="block">Simplifies outer joins if filter above would reject nulls.</div> |
| </td> |
| </tr> |
| <tr id="i111" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitCorrelatedFilterCondition(org.apache.calcite.rel.core.Filter,java.util.List,java.util.List,boolean)">splitCorrelatedFilterCondition</a></span>​(<a href="../rel/core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a> filter, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> joinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> correlatedJoinKeys, |
| boolean extractCorrelatedFieldAccess)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i112" class="altColor"> |
| <td class="colFirst"><code>private static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitCorrelatedFilterCondition(org.apache.calcite.rel.core.Filter,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List,boolean)">splitCorrelatedFilterCondition</a></span>​(<a href="../rel/core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a> filter, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> joinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> correlatedJoinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nonEquiList, |
| boolean extractCorrelatedFieldAccess)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i113" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitCorrelatedFilterCondition(org.apache.calcite.rel.logical.LogicalFilter,java.util.List,java.util.List)">splitCorrelatedFilterCondition</a></span>​(<a href="../rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a> filter, |
| java.util.List<<a href="../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a>> joinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> correlatedJoinKeys)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i114" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitCorrelatedFilterCondition(org.apache.calcite.rel.logical.LogicalFilter,java.util.List,java.util.List,boolean)">splitCorrelatedFilterCondition</a></span>​(<a href="../rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a> filter, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> joinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> correlatedJoinKeys, |
| boolean extractCorrelatedFieldAccess)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i115" class="rowColor"> |
| <td class="colFirst"><code>private static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitCorrelatedFilterCondition(org.apache.calcite.rel.logical.LogicalFilter,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List)">splitCorrelatedFilterCondition</a></span>​(<a href="../rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a> filter, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| java.util.List<<a href="../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a>> joinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> correlatedJoinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nonEquiList)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i116" class="altColor"> |
| <td class="colFirst"><code>private static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitCorrelatedFilterCondition(org.apache.calcite.rel.logical.LogicalFilter,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List,boolean)">splitCorrelatedFilterCondition</a></span>​(<a href="../rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a> filter, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> joinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> correlatedJoinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nonEquiList, |
| boolean extractCorrelatedFieldAccess)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i117" class="rowColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitFilters(org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.rex.RexNode,java.util.List,java.util.List)">splitFilters</a></span>​(<a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a> childBitmap, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> predicate, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> pushable, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> notPushable)</code></th> |
| <td class="colLast"> |
| <div class="block">Splits a filter into two lists, depending on whether or not the filter |
| only references its child input</div> |
| </td> |
| </tr> |
| <tr id="i118" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitJoinCondition(java.util.List,java.util.List,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List)">splitJoinCondition</a></span>​(java.util.List<<a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>> sysFieldList, |
| java.util.List<<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>> inputs, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| java.util.List<java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>>> joinKeys, |
| java.util.List<java.lang.Integer> filterNulls, |
| java.util.List<<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>> rangeOp)</code></th> |
| <td class="colLast"> |
| <div class="block">Splits out the equi-join (and optionally, a single non-equi) components |
| of a join condition, and returns what's left.</div> |
| </td> |
| </tr> |
| <tr id="i119" class="rowColor"> |
| <td class="colFirst"><code>private static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitJoinCondition(java.util.List,java.util.List,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List,java.util.List)">splitJoinCondition</a></span>​(java.util.List<<a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>> sysFieldList, |
| java.util.List<<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>> inputs, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| java.util.List<java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>>> joinKeys, |
| java.util.List<java.lang.Integer> filterNulls, |
| java.util.List<<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>> rangeOp, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nonEquiList)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i120" class="altColor"> |
| <td class="colFirst"><code>static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitJoinCondition(java.util.List,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List,java.util.List)">splitJoinCondition</a></span>​(java.util.List<<a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>> sysFieldList, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> leftRel, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rightRel, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> leftJoinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> rightJoinKeys, |
| java.util.List<java.lang.Integer> filterNulls, |
| java.util.List<<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>> rangeOp)</code></th> |
| <td class="colLast"> |
| <div class="block">Splits out the equi-join (and optionally, a single non-equi) components |
| of a join condition, and returns what's left.</div> |
| </td> |
| </tr> |
| <tr id="i121" class="rowColor"> |
| <td class="colFirst"><code>static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitJoinCondition(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List)">splitJoinCondition</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> left, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> right, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| java.util.List<java.lang.Integer> leftKeys, |
| java.util.List<java.lang.Integer> rightKeys, |
| java.util.List<java.lang.Boolean> filterNulls)</code></th> |
| <td class="colLast"> |
| <div class="block">Splits out the equi-join components of a join condition, and returns |
| what's left.</div> |
| </td> |
| </tr> |
| <tr id="i122" class="altColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitJoinCondition(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List,java.util.List)">splitJoinCondition</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> left, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> right, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| java.util.List<java.lang.Integer> leftKeys, |
| java.util.List<java.lang.Integer> rightKeys, |
| java.util.List<java.lang.Boolean> filterNulls, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nonEquiList)</code></th> |
| <td class="colLast"> |
| <div class="block">As |
| <a href="#splitJoinCondition(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List)"><code>splitJoinCondition(RelNode, RelNode, RexNode, List, List, List)</code></a>, |
| but writes non-equi conditions to a conjunctive list.</div> |
| </td> |
| </tr> |
| <tr id="i123" class="rowColor"> |
| <td class="colFirst"><code>private static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitJoinCondition(org.apache.calcite.rex.RexBuilder,int,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List,java.util.List)">splitJoinCondition</a></span>​(<a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| int leftFieldCount, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| java.util.List<java.lang.Integer> leftKeys, |
| java.util.List<java.lang.Integer> rightKeys, |
| java.util.List<java.lang.Boolean> filterNulls, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nonEquiList)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i124" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString(org.apache.calcite.rel.RelNode)">toString</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts a relational expression to a string, showing just basic |
| attributes.</div> |
| </td> |
| </tr> |
| <tr id="i125" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString(org.apache.calcite.rel.RelNode,org.apache.calcite.sql.SqlExplainLevel)">toString</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../sql/SqlExplainLevel.html" title="enum in org.apache.calcite.sql">SqlExplainLevel</a> detailLevel)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts a relational expression to a string.</div> |
| </td> |
| </tr> |
| <tr id="i126" class="altColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateValueAgainstConstraint(org.apache.calcite.sql.SqlNode,org.apache.calcite.rex.RexNode,java.util.function.Supplier)">validateValueAgainstConstraint</a></span>​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> sourceValue, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> targetConstraint, |
| java.util.function.Supplier<<a href="../runtime/CalciteContextException.html" title="class in org.apache.calcite.runtime">CalciteContextException</a>> errorSupplier)</code></th> |
| <td class="colLast"> |
| <div class="block">Ensures that a source value does not violate the constraint of the target |
| column.</div> |
| </td> |
| </tr> |
| <tr id="i127" class="rowColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#verifyTypeEquivalence(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,java.lang.Object)">verifyTypeEquivalence</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> originalRel, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> newRel, |
| java.lang.Object equivalenceClass)</code></th> |
| <td class="colLast"> |
| <div class="block">Verifies that a row type being added to an equivalence class matches the |
| existing type, raising an assertion if this is not the case.</div> |
| </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class java.lang.Object</h3> |
| <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </div> |
| <div class="details"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ============ FIELD DETAIL =========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="field.detail"> |
| <!-- --> |
| </a> |
| <h3>Field Detail</h3> |
| <a id="B"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>B</h4> |
| <pre>static final boolean B</pre> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../constant-values.html#org.apache.calcite.plan.RelOptUtil.B">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="EPSILON"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>EPSILON</h4> |
| <pre>public static final double EPSILON</pre> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../constant-values.html#org.apache.calcite.plan.RelOptUtil.EPSILON">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="FILTER_PREDICATE"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>FILTER_PREDICATE</h4> |
| <pre>@Deprecated |
| public static final com.google.common.base.Predicate<<a href="../rel/core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a>> FILTER_PREDICATE</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="PROJECT_PREDICATE"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>PROJECT_PREDICATE</h4> |
| <pre>@Deprecated |
| public static final com.google.common.base.Predicate<<a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a>> PROJECT_PREDICATE</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="CALC_PREDICATE"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>CALC_PREDICATE</h4> |
| <pre>@Deprecated |
| public static final com.google.common.base.Predicate<<a href="../rel/core/Calc.html" title="class in org.apache.calcite.rel.core">Calc</a>> CALC_PREDICATE</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="constructor.detail"> |
| <!-- --> |
| </a> |
| <h3>Constructor Detail</h3> |
| <a id="<init>()"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>RelOptUtil</h4> |
| <pre>public RelOptUtil()</pre> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| <!-- ============ METHOD DETAIL ========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="method.detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a id="isPureLimit(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isPureLimit</h4> |
| <pre class="methodSignature">public static boolean isPureLimit​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Whether this node is a limit without sort specification.</div> |
| </li> |
| </ul> |
| <a id="isPureOrder(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isPureOrder</h4> |
| <pre class="methodSignature">public static boolean isPureOrder​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Whether this node is a sort without limit specification.</div> |
| </li> |
| </ul> |
| <a id="isLimit(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isLimit</h4> |
| <pre class="methodSignature">public static boolean isLimit​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Whether this node contains a limit specification.</div> |
| </li> |
| </ul> |
| <a id="isOrder(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isOrder</h4> |
| <pre class="methodSignature">public static boolean isOrder​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Whether this node contains a sort specification.</div> |
| </li> |
| </ul> |
| <a id="findTables(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>findTables</h4> |
| <pre class="methodSignature">public static java.util.Set<<a href="RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>> findTables​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns a set of tables used by this expression or its children</div> |
| </li> |
| </ul> |
| <a id="findAllTables(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>findAllTables</h4> |
| <pre class="methodSignature">public static java.util.List<<a href="RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>> findAllTables​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns a list of all tables used by this expression or its children</div> |
| </li> |
| </ul> |
| <a id="findAllTableQualifiedNames(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>findAllTableQualifiedNames</h4> |
| <pre class="methodSignature">public static java.util.List<java.lang.String> findAllTableQualifiedNames​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns a list of all table qualified names used by this expression |
| or its children.</div> |
| </li> |
| </ul> |
| <a id="getVariablesSet(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getVariablesSet</h4> |
| <pre class="methodSignature">public static java.util.Set<<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>> getVariablesSet​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns a list of variables set by a relational expression or its |
| descendants.</div> |
| </li> |
| </ul> |
| <a id="getVariablesSetAndUsed(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getVariablesSetAndUsed</h4> |
| <pre class="methodSignature">@Deprecated |
| public static java.util.List<<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>> getVariablesSetAndUsed​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel0, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel1)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="getVariablesUsed(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getVariablesUsed</h4> |
| <pre class="methodSignature">public static java.util.Set<<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>> getVariablesUsed​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns a set of variables used by a relational expression or its |
| descendants. |
| |
| <p>The set may contain "duplicates" (variables with different ids that, |
| when resolved, will reference the same source relational expression). |
| |
| <p>The item type is the same as |
| <a href="../rex/RexCorrelVariable.html#id"><code>RexCorrelVariable.id</code></a>.</div> |
| </li> |
| </ul> |
| <a id="correlationColumns(org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>correlationColumns</h4> |
| <pre class="methodSignature">public static <a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a> correlationColumns​(<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a> id, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Finds which columns of a correlation variable are used within a |
| relational expression.</div> |
| </li> |
| </ul> |
| <a id="notContainsCorrelation(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.util.Litmus)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>notContainsCorrelation</h4> |
| <pre class="methodSignature">public static boolean notContainsCorrelation​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> r, |
| <a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a> correlationId, |
| <a href="../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a> litmus)</pre> |
| <div class="block">Returns true, and calls <a href="../util/Litmus.html#succeed()"><code>Litmus.succeed()</code></a> if a given relational |
| expression does not contain a given correlation.</div> |
| </li> |
| </ul> |
| <a id="go(org.apache.calcite.rel.RelVisitor,org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>go</h4> |
| <pre class="methodSignature">public static void go​(<a href="../rel/RelVisitor.html" title="class in org.apache.calcite.rel">RelVisitor</a> visitor, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> p)</pre> |
| <div class="block">Sets a <a href="../rel/RelVisitor.html" title="class in org.apache.calcite.rel"><code>RelVisitor</code></a> going on a given relational expression, and |
| returns the result.</div> |
| </li> |
| </ul> |
| <a id="getFieldTypeList(org.apache.calcite.rel.type.RelDataType)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getFieldTypeList</h4> |
| <pre class="methodSignature">public static java.util.List<<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> getFieldTypeList​(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</pre> |
| <div class="block">Returns a list of the types of the fields in a given struct type. The |
| list is immutable.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>type</code> - Struct type</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>List of field types</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../rel/type/RelDataType.html#getFieldNames()"><code>RelDataType.getFieldNames()</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="areRowTypesEqual(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>areRowTypesEqual</h4> |
| <pre class="methodSignature">public static boolean areRowTypesEqual​(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> rowType1, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> rowType2, |
| boolean compareNames)</pre> |
| </li> |
| </ul> |
| <a id="verifyTypeEquivalence(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,java.lang.Object)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>verifyTypeEquivalence</h4> |
| <pre class="methodSignature">public static void verifyTypeEquivalence​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> originalRel, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> newRel, |
| java.lang.Object equivalenceClass)</pre> |
| <div class="block">Verifies that a row type being added to an equivalence class matches the |
| existing type, raising an assertion if this is not the case.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>originalRel</code> - canonical rel for equivalence class</dd> |
| <dd><code>newRel</code> - rel being added to equivalence class</dd> |
| <dd><code>equivalenceClass</code> - object representing equivalence class</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="permutationIgnoreCast(java.util.List,org.apache.calcite.rel.type.RelDataType)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>permutationIgnoreCast</h4> |
| <pre class="methodSignature">public static <a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a> permutationIgnoreCast​(java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> inputRowType)</pre> |
| <div class="block">Returns a permutation describing where output fields come from. In |
| the returned map, value of <code>map.getTargetOpt(i)</code> is <code>n</code> if |
| field <code>i</code> projects input field <code>n</code> or applies a cast on |
| <code>n</code>, -1 if it is another expression.</div> |
| </li> |
| </ul> |
| <a id="permutation(java.util.List,org.apache.calcite.rel.type.RelDataType)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>permutation</h4> |
| <pre class="methodSignature">public static <a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a> permutation​(java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> inputRowType)</pre> |
| <div class="block">Returns a permutation describing where output fields come from. In |
| the returned map, value of <code>map.getTargetOpt(i)</code> is <code>n</code> if |
| field <code>i</code> projects input field <code>n</code>, -1 if it is an |
| expression.</div> |
| </li> |
| </ul> |
| <a id="createExistsPlan(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rex.RexLiteral,java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createExistsPlan</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createExistsPlan​(<a href="RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a> cluster, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> seekRel, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> conditions, |
| <a href="../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a> extraExpr, |
| java.lang.String extraName)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="createExistsPlan(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelOptUtil.SubQueryType,org.apache.calcite.plan.RelOptUtil.Logic,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createExistsPlan</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="RelOptUtil.Exists.html" title="class in org.apache.calcite.plan">RelOptUtil.Exists</a> createExistsPlan​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> seekRel, |
| <a href="RelOptUtil.SubQueryType.html" title="enum in org.apache.calcite.plan">RelOptUtil.SubQueryType</a> subQueryType, |
| <a href="RelOptUtil.Logic.html" title="enum in org.apache.calcite.plan">RelOptUtil.Logic</a> logic, |
| boolean notIn)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="createExistsPlan(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelOptUtil.SubQueryType,org.apache.calcite.plan.RelOptUtil.Logic,boolean,org.apache.calcite.tools.RelBuilder)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createExistsPlan</h4> |
| <pre class="methodSignature">public static <a href="RelOptUtil.Exists.html" title="class in org.apache.calcite.plan">RelOptUtil.Exists</a> createExistsPlan​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> seekRel, |
| <a href="RelOptUtil.SubQueryType.html" title="enum in org.apache.calcite.plan">RelOptUtil.SubQueryType</a> subQueryType, |
| <a href="RelOptUtil.Logic.html" title="enum in org.apache.calcite.plan">RelOptUtil.Logic</a> logic, |
| boolean notIn, |
| <a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a> relBuilder)</pre> |
| <div class="block">Creates a plan suitable for use in <code>EXISTS</code> or <code>IN</code> |
| statements.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>seekRel</code> - A query rel, for example the resulting rel from 'select * |
| from emp' or 'values (1,2,3)' or '('Foo', 34)'.</dd> |
| <dd><code>subQueryType</code> - Sub-query type</dd> |
| <dd><code>logic</code> - Whether to use 2- or 3-valued boolean logic</dd> |
| <dd><code>notIn</code> - Whether the operator is NOT IN</dd> |
| <dd><code>relBuilder</code> - Builder for relational expressions</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>A pair of a relational expression which outer joins a boolean |
| condition column, and a numeric offset. The offset is 2 if column 0 is |
| the number of rows and column 1 is the number of rows with not-null keys; |
| 0 otherwise.</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../sql2rel/SqlToRelConverter.html#convertExists(org.apache.calcite.sql.SqlNode,org.apache.calcite.plan.RelOptUtil.SubQueryType,org.apache.calcite.plan.RelOptUtil.Logic,boolean,org.apache.calcite.rel.type.RelDataType)"><code>SqlToRelConverter.convertExists(org.apache.calcite.sql.SqlNode, org.apache.calcite.plan.RelOptUtil.SubQueryType, org.apache.calcite.plan.RelOptUtil.Logic, boolean, org.apache.calcite.rel.type.RelDataType)</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="createRenameRel(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createRenameRel</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createRenameRel​(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> outputType, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="createFilter(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createFilter</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createFilter​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="createFilter(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.RelFactories.FilterFactory)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createFilter</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createFilter​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| <a href="../rel/core/RelFactories.FilterFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.FilterFactory</a> filterFactory)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="createFilter(org.apache.calcite.rel.RelNode,java.lang.Iterable)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createFilter</h4> |
| <pre class="methodSignature">public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createFilter​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| java.lang.Iterable<? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> conditions)</pre> |
| <div class="block">Creates a filter, using the default filter factory, |
| or returns the original relational expression if the |
| condition is trivial.</div> |
| </li> |
| </ul> |
| <a id="createFilter(org.apache.calcite.rel.RelNode,java.lang.Iterable,org.apache.calcite.rel.core.RelFactories.FilterFactory)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createFilter</h4> |
| <pre class="methodSignature">public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createFilter​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| java.lang.Iterable<? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> conditions, |
| <a href="../rel/core/RelFactories.FilterFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.FilterFactory</a> filterFactory)</pre> |
| <div class="block">Creates a filter using the default factory, |
| or returns the original relational expression if the |
| condition is trivial.</div> |
| </li> |
| </ul> |
| <a id="createNullFilter(org.apache.calcite.rel.RelNode,java.lang.Integer[])"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createNullFilter</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createNullFilter​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| java.lang.Integer[] fieldOrdinals)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="createCastRel(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createCastRel</h4> |
| <pre class="methodSignature">public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createCastRel​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> castRowType, |
| boolean rename)</pre> |
| <div class="block">Creates a projection which casts a rel's output to a desired row type.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - producer of rows to be converted</dd> |
| <dd><code>castRowType</code> - row type after cast</dd> |
| <dd><code>rename</code> - if true, use field names from castRowType; if false, |
| preserve field names from rel</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>conversion rel</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="createCastRel(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType,boolean,org.apache.calcite.rel.core.RelFactories.ProjectFactory)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createCastRel</h4> |
| <pre class="methodSignature">public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createCastRel​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> castRowType, |
| boolean rename, |
| <a href="../rel/core/RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ProjectFactory</a> projectFactory)</pre> |
| <div class="block">Creates a projection which casts a rel's output to a desired row type.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - producer of rows to be converted</dd> |
| <dd><code>castRowType</code> - row type after cast</dd> |
| <dd><code>rename</code> - if true, use field names from castRowType; if false, |
| preserve field names from rel</dd> |
| <dd><code>projectFactory</code> - Project Factory</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>conversion rel</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getAllFields(org.apache.calcite.rel.core.Aggregate)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getAllFields</h4> |
| <pre class="methodSignature">public static java.util.Set<java.lang.Integer> getAllFields​(<a href="../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a> aggregate)</pre> |
| <div class="block">Gets all fields in an aggregate.</div> |
| </li> |
| </ul> |
| <a id="createSingleValueAggRel(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createSingleValueAggRel</h4> |
| <pre class="methodSignature">public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createSingleValueAggRel​(<a href="RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a> cluster, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Creates a LogicalAggregate that removes all duplicates from the result of |
| an underlying relational expression.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - underlying rel</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>rel implementing SingleValueAgg</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="createDistinctRel(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createDistinctRel</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createDistinctRel​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="deprecationComment">Use <a href="../tools/RelBuilder.html#distinct()"><code>RelBuilder.distinct()</code></a>.</div> |
| </div> |
| </li> |
| </ul> |
| <a id="analyzeSimpleEquiJoin(org.apache.calcite.rel.logical.LogicalJoin,int[])"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>analyzeSimpleEquiJoin</h4> |
| <pre class="methodSignature">@Deprecated |
| public static boolean analyzeSimpleEquiJoin​(<a href="../rel/logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a> join, |
| int[] joinFieldOrdinals)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="splitJoinCondition(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>splitJoinCondition</h4> |
| <pre class="methodSignature">@Nonnull |
| public static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> splitJoinCondition​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> left, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> right, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| java.util.List<java.lang.Integer> leftKeys, |
| java.util.List<java.lang.Integer> rightKeys, |
| java.util.List<java.lang.Boolean> filterNulls)</pre> |
| <div class="block">Splits out the equi-join components of a join condition, and returns |
| what's left. For example, given the condition |
| |
| <blockquote><code>L.A = R.X AND L.B = L.C AND (L.D = 5 OR L.E = |
| R.Y)</code></blockquote> |
| |
| <p>returns |
| |
| <ul> |
| <li>leftKeys = {A} |
| <li>rightKeys = {X} |
| <li>rest = L.B = L.C AND (L.D = 5 OR L.E = R.Y)</li> |
| </ul></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>left</code> - left input to join</dd> |
| <dd><code>right</code> - right input to join</dd> |
| <dd><code>condition</code> - join condition</dd> |
| <dd><code>leftKeys</code> - The ordinals of the fields from the left input which are |
| equi-join keys</dd> |
| <dd><code>rightKeys</code> - The ordinals of the fields from the right input which |
| are equi-join keys</dd> |
| <dd><code>filterNulls</code> - List of boolean values for each join key position |
| indicating whether the operator filters out nulls or not. |
| Value is true if the operator is EQUALS and false if the |
| operator is IS NOT DISTINCT FROM (or an expanded version). |
| If <code>filterNulls</code> is null, only join conditions |
| with EQUALS operators are considered equi-join components. |
| Rest (including IS NOT DISTINCT FROM) are returned in |
| remaining join condition.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>remaining join filters that are not equijoins; may return a |
| <a href="../rex/RexLiteral.html" title="class in org.apache.calcite.rex"><code>RexLiteral</code></a> true, but never null</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="splitJoinCondition(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>splitJoinCondition</h4> |
| <pre class="methodSignature">public static void splitJoinCondition​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> left, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> right, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| java.util.List<java.lang.Integer> leftKeys, |
| java.util.List<java.lang.Integer> rightKeys, |
| java.util.List<java.lang.Boolean> filterNulls, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nonEquiList)</pre> |
| <div class="block">As |
| <a href="#splitJoinCondition(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List)"><code>splitJoinCondition(RelNode, RelNode, RexNode, List, List, List)</code></a>, |
| but writes non-equi conditions to a conjunctive list.</div> |
| </li> |
| </ul> |
| <a id="isEqui(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isEqui</h4> |
| <pre class="methodSignature">@Deprecated |
| public static boolean isEqui​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> left, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> right, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="splitJoinCondition(java.util.List,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>splitJoinCondition</h4> |
| <pre class="methodSignature">public static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> splitJoinCondition​(java.util.List<<a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>> sysFieldList, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> leftRel, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rightRel, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> leftJoinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> rightJoinKeys, |
| java.util.List<java.lang.Integer> filterNulls, |
| java.util.List<<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>> rangeOp)</pre> |
| <div class="block">Splits out the equi-join (and optionally, a single non-equi) components |
| of a join condition, and returns what's left. Projection might be |
| required by the caller to provide join keys that are not direct field |
| references.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>sysFieldList</code> - list of system fields</dd> |
| <dd><code>leftRel</code> - left join input</dd> |
| <dd><code>rightRel</code> - right join input</dd> |
| <dd><code>condition</code> - join condition</dd> |
| <dd><code>leftJoinKeys</code> - The join keys from the left input which are equi-join |
| keys</dd> |
| <dd><code>rightJoinKeys</code> - The join keys from the right input which are |
| equi-join keys</dd> |
| <dd><code>filterNulls</code> - The join key positions for which null values will not |
| match. null values only match for the "is not distinct |
| from" condition.</dd> |
| <dd><code>rangeOp</code> - if null, only locate equi-joins; otherwise, locate a |
| single non-equi join predicate and return its operator |
| in this list; join keys associated with the non-equi |
| join predicate are at the end of the key lists |
| returned</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>What's left, never null</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="splitJoinCondition(java.util.List,java.util.List,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>splitJoinCondition</h4> |
| <pre class="methodSignature">@Nonnull |
| public static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> splitJoinCondition​(java.util.List<<a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>> sysFieldList, |
| java.util.List<<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>> inputs, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| java.util.List<java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>>> joinKeys, |
| java.util.List<java.lang.Integer> filterNulls, |
| java.util.List<<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>> rangeOp)</pre> |
| <div class="block">Splits out the equi-join (and optionally, a single non-equi) components |
| of a join condition, and returns what's left. Projection might be |
| required by the caller to provide join keys that are not direct field |
| references.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>sysFieldList</code> - list of system fields</dd> |
| <dd><code>inputs</code> - join inputs</dd> |
| <dd><code>condition</code> - join condition</dd> |
| <dd><code>joinKeys</code> - The join keys from the inputs which are equi-join |
| keys</dd> |
| <dd><code>filterNulls</code> - The join key positions for which null values will not |
| match. null values only match for the "is not distinct |
| from" condition.</dd> |
| <dd><code>rangeOp</code> - if null, only locate equi-joins; otherwise, locate a |
| single non-equi join predicate and return its operator |
| in this list; join keys associated with the non-equi |
| join predicate are at the end of the key lists |
| returned</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>What's left, never null</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="splitCorrelatedFilterCondition(org.apache.calcite.rel.logical.LogicalFilter,java.util.List,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>splitCorrelatedFilterCondition</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> splitCorrelatedFilterCondition​(<a href="../rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a> filter, |
| java.util.List<<a href="../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a>> joinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> correlatedJoinKeys)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="splitCorrelatedFilterCondition(org.apache.calcite.rel.logical.LogicalFilter,java.util.List,java.util.List,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>splitCorrelatedFilterCondition</h4> |
| <pre class="methodSignature">public static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> splitCorrelatedFilterCondition​(<a href="../rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a> filter, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> joinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> correlatedJoinKeys, |
| boolean extractCorrelatedFieldAccess)</pre> |
| </li> |
| </ul> |
| <a id="splitCorrelatedFilterCondition(org.apache.calcite.rel.core.Filter,java.util.List,java.util.List,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>splitCorrelatedFilterCondition</h4> |
| <pre class="methodSignature">public static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> splitCorrelatedFilterCondition​(<a href="../rel/core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a> filter, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> joinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> correlatedJoinKeys, |
| boolean extractCorrelatedFieldAccess)</pre> |
| </li> |
| </ul> |
| <a id="splitJoinCondition(java.util.List,java.util.List,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>splitJoinCondition</h4> |
| <pre class="methodSignature">private static void splitJoinCondition​(java.util.List<<a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>> sysFieldList, |
| java.util.List<<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>> inputs, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| java.util.List<java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>>> joinKeys, |
| java.util.List<java.lang.Integer> filterNulls, |
| java.util.List<<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>> rangeOp, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nonEquiList)</pre> |
| </li> |
| </ul> |
| <a id="createEquiJoinCondition(org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rex.RexBuilder)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createEquiJoinCondition</h4> |
| <pre class="methodSignature">@Nonnull |
| public static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> createEquiJoinCondition​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> left, |
| java.util.List<java.lang.Integer> leftKeys, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> right, |
| java.util.List<java.lang.Integer> rightKeys, |
| <a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder)</pre> |
| <div class="block">Builds an equi-join condition from a set of left and right keys.</div> |
| </li> |
| </ul> |
| <a id="op(org.apache.calcite.sql.SqlKind,org.apache.calcite.sql.SqlOperator)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>op</h4> |
| <pre class="methodSignature">public static <a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a> op​(<a href="../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a> kind, |
| <a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a> operator)</pre> |
| </li> |
| </ul> |
| <a id="addJoinKey(java.util.List,org.apache.calcite.rex.RexNode,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>addJoinKey</h4> |
| <pre class="methodSignature">private static void addJoinKey​(java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> joinKeyList, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> key, |
| boolean preserveLastElementInList)</pre> |
| </li> |
| </ul> |
| <a id="splitCorrelatedFilterCondition(org.apache.calcite.rel.logical.LogicalFilter,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>splitCorrelatedFilterCondition</h4> |
| <pre class="methodSignature">private static void splitCorrelatedFilterCondition​(<a href="../rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a> filter, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| java.util.List<<a href="../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a>> joinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> correlatedJoinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nonEquiList)</pre> |
| </li> |
| </ul> |
| <a id="splitCorrelatedFilterCondition(org.apache.calcite.rel.logical.LogicalFilter,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>splitCorrelatedFilterCondition</h4> |
| <pre class="methodSignature">private static void splitCorrelatedFilterCondition​(<a href="../rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a> filter, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> joinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> correlatedJoinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nonEquiList, |
| boolean extractCorrelatedFieldAccess)</pre> |
| </li> |
| </ul> |
| <a id="splitCorrelatedFilterCondition(org.apache.calcite.rel.core.Filter,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>splitCorrelatedFilterCondition</h4> |
| <pre class="methodSignature">private static void splitCorrelatedFilterCondition​(<a href="../rel/core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a> filter, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> joinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> correlatedJoinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nonEquiList, |
| boolean extractCorrelatedFieldAccess)</pre> |
| </li> |
| </ul> |
| <a id="splitJoinCondition(org.apache.calcite.rex.RexBuilder,int,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>splitJoinCondition</h4> |
| <pre class="methodSignature">private static void splitJoinCondition​(<a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| int leftFieldCount, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| java.util.List<java.lang.Integer> leftKeys, |
| java.util.List<java.lang.Integer> rightKeys, |
| java.util.List<java.lang.Boolean> filterNulls, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nonEquiList)</pre> |
| </li> |
| </ul> |
| <a id="collapseExpandedIsNotDistinctFromExpr(org.apache.calcite.rex.RexCall,org.apache.calcite.rex.RexBuilder)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>collapseExpandedIsNotDistinctFromExpr</h4> |
| <pre class="methodSignature">public static <a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> collapseExpandedIsNotDistinctFromExpr​(<a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> call, |
| <a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder)</pre> |
| <div class="block">Collapses an expanded version of <code>IS NOT DISTINCT FROM</code> expression. |
| |
| <p>Helper method for |
| <a href="#splitJoinCondition(org.apache.calcite.rex.RexBuilder,int,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List,java.util.List)"><code>splitJoinCondition(RexBuilder, int, RexNode, List, List, List, List)</code></a> |
| and |
| <a href="#splitJoinCondition(java.util.List,java.util.List,org.apache.calcite.rex.RexNode,java.util.List,java.util.List,java.util.List,java.util.List)"><code>splitJoinCondition(List, List, RexNode, List, List, List, List)</code></a>. |
| |
| <p>If the given expr <code>call</code> is an expanded version of |
| <code>IS NOT DISTINCT FROM</code> function call, collapses it and return a |
| <code>IS NOT DISTINCT FROM</code> function call. |
| |
| <p>For example: <code>t1.key IS NOT DISTINCT FROM t2.key</code> |
| can rewritten in expanded form as |
| <code>t1.key = t2.key OR (t1.key IS NULL AND t2.key IS NULL)</code>.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>call</code> - Function expression to try collapsing</dd> |
| <dd><code>rexBuilder</code> - <a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex"><code>RexBuilder</code></a> instance to create new <a href="../rex/RexCall.html" title="class in org.apache.calcite.rex"><code>RexCall</code></a> instances.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>If the given function is an expanded IS NOT DISTINCT FROM function call, |
| return a IS NOT DISTINCT FROM function call. Otherwise return the input |
| function call as it is.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="doCollapseExpandedIsNotDistinctFromOrExpr(org.apache.calcite.rex.RexCall,org.apache.calcite.rex.RexBuilder)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>doCollapseExpandedIsNotDistinctFromOrExpr</h4> |
| <pre class="methodSignature">private static <a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> doCollapseExpandedIsNotDistinctFromOrExpr​(<a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> call, |
| <a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder)</pre> |
| </li> |
| </ul> |
| <a id="doCollapseExpandedIsNotDistinctFromCaseExpr(org.apache.calcite.rex.RexCall,org.apache.calcite.rex.RexBuilder)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>doCollapseExpandedIsNotDistinctFromCaseExpr</h4> |
| <pre class="methodSignature">private static <a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> doCollapseExpandedIsNotDistinctFromCaseExpr​(<a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> call, |
| <a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder)</pre> |
| </li> |
| </ul> |
| <a id="doCollapseExpandedIsNotDistinctFrom(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexCall,org.apache.calcite.rex.RexCall,org.apache.calcite.rex.RexCall,org.apache.calcite.rex.RexCall)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>doCollapseExpandedIsNotDistinctFrom</h4> |
| <pre class="methodSignature">private static <a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> doCollapseExpandedIsNotDistinctFrom​(<a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> call, |
| <a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> ifNull0Call, |
| <a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> ifNull1Call, |
| <a href="../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> equalsCall)</pre> |
| </li> |
| </ul> |
| <a id="projectJoinInputs(org.apache.calcite.rel.RelNode[],java.util.List,java.util.List,int,java.util.List,java.util.List,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>projectJoinInputs</h4> |
| <pre class="methodSignature">@Deprecated |
| public static void projectJoinInputs​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>[] inputRels, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> leftJoinKeys, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> rightJoinKeys, |
| int systemColCount, |
| java.util.List<java.lang.Integer> leftKeys, |
| java.util.List<java.lang.Integer> rightKeys, |
| java.util.List<java.lang.Integer> outputProj)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="createProjectJoinRel(java.util.List,org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createProjectJoinRel</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createProjectJoinRel​(java.util.List<java.lang.Integer> outputProj, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> joinRel)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="registerAbstractRels(org.apache.calcite.plan.RelOptPlanner)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>registerAbstractRels</h4> |
| <pre class="methodSignature">@Deprecated |
| public static void registerAbstractRels​(<a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="registerAbstractRules(org.apache.calcite.plan.RelOptPlanner)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>registerAbstractRules</h4> |
| <pre class="methodSignature">public static void registerAbstractRules​(<a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</pre> |
| </li> |
| </ul> |
| <a id="registerAbstractRelationalRules(org.apache.calcite.plan.RelOptPlanner)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>registerAbstractRelationalRules</h4> |
| <pre class="methodSignature">public static void registerAbstractRelationalRules​(<a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</pre> |
| </li> |
| </ul> |
| <a id="registerEnumerableRules(org.apache.calcite.plan.RelOptPlanner)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>registerEnumerableRules</h4> |
| <pre class="methodSignature">private static void registerEnumerableRules​(<a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</pre> |
| </li> |
| </ul> |
| <a id="registerBaseRules(org.apache.calcite.plan.RelOptPlanner)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>registerBaseRules</h4> |
| <pre class="methodSignature">private static void registerBaseRules​(<a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</pre> |
| </li> |
| </ul> |
| <a id="registerReductionRules(org.apache.calcite.plan.RelOptPlanner)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>registerReductionRules</h4> |
| <pre class="methodSignature">private static void registerReductionRules​(<a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</pre> |
| </li> |
| </ul> |
| <a id="registerMaterializationRules(org.apache.calcite.plan.RelOptPlanner)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>registerMaterializationRules</h4> |
| <pre class="methodSignature">private static void registerMaterializationRules​(<a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</pre> |
| </li> |
| </ul> |
| <a id="registerCalcRules(org.apache.calcite.plan.RelOptPlanner)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>registerCalcRules</h4> |
| <pre class="methodSignature">private static void registerCalcRules​(<a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</pre> |
| </li> |
| </ul> |
| <a id="registerDefaultRules(org.apache.calcite.plan.RelOptPlanner,boolean,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>registerDefaultRules</h4> |
| <pre class="methodSignature">public static void registerDefaultRules​(<a href="RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner, |
| boolean enableMaterialziations, |
| boolean enableBindable)</pre> |
| </li> |
| </ul> |
| <a id="dumpPlan(java.lang.String,org.apache.calcite.rel.RelNode,org.apache.calcite.sql.SqlExplainFormat,org.apache.calcite.sql.SqlExplainLevel)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>dumpPlan</h4> |
| <pre class="methodSignature">public static java.lang.String dumpPlan​(java.lang.String header, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../sql/SqlExplainFormat.html" title="enum in org.apache.calcite.sql">SqlExplainFormat</a> format, |
| <a href="../sql/SqlExplainLevel.html" title="enum in org.apache.calcite.sql">SqlExplainLevel</a> detailLevel)</pre> |
| <div class="block">Dumps a plan as a string.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>header</code> - Header to print before the plan. Ignored if the format |
| is XML</dd> |
| <dd><code>rel</code> - Relational expression to explain</dd> |
| <dd><code>format</code> - Output format</dd> |
| <dd><code>detailLevel</code> - Detail level</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Plan</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="dumpPlan(java.lang.String,org.apache.calcite.rel.RelNode,boolean,org.apache.calcite.sql.SqlExplainLevel)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>dumpPlan</h4> |
| <pre class="methodSignature">@Deprecated |
| public static java.lang.String dumpPlan​(java.lang.String header, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| boolean asXml, |
| <a href="../sql/SqlExplainLevel.html" title="enum in org.apache.calcite.sql">SqlExplainLevel</a> detailLevel)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="createDmlRowType(org.apache.calcite.sql.SqlKind,org.apache.calcite.rel.type.RelDataTypeFactory)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createDmlRowType</h4> |
| <pre class="methodSignature">public static <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> createDmlRowType​(<a href="../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a> kind, |
| <a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory)</pre> |
| <div class="block">Creates the row type descriptor for the result of a DML operation, which |
| is a single column named ROWCOUNT of type BIGINT for INSERT; |
| a single column named PLAN for EXPLAIN.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>kind</code> - Kind of node</dd> |
| <dd><code>typeFactory</code> - factory to use for creating type descriptor</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>created type</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="eq(java.lang.String,org.apache.calcite.rel.type.RelDataType,java.lang.String,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.util.Litmus)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>eq</h4> |
| <pre class="methodSignature">public static boolean eq​(java.lang.String desc1, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type1, |
| java.lang.String desc2, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type2, |
| <a href="../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a> litmus)</pre> |
| <div class="block">Returns whether two types are equal using '='.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>desc1</code> - Description of first type</dd> |
| <dd><code>type1</code> - First type</dd> |
| <dd><code>desc2</code> - Description of second type</dd> |
| <dd><code>type2</code> - Second type</dd> |
| <dd><code>litmus</code> - What to do if an error is detected (types are not equal)</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Whether the types are equal</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="equal(java.lang.String,org.apache.calcite.rel.type.RelDataType,java.lang.String,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.util.Litmus)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equal</h4> |
| <pre class="methodSignature">public static boolean equal​(java.lang.String desc1, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type1, |
| java.lang.String desc2, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type2, |
| <a href="../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a> litmus)</pre> |
| <div class="block">Returns whether two types are equal using |
| <a href="#areRowTypesEqual(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType,boolean)"><code>areRowTypesEqual(RelDataType, RelDataType, boolean)</code></a>. Both types |
| must not be null.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>desc1</code> - Description of role of first type</dd> |
| <dd><code>type1</code> - First type</dd> |
| <dd><code>desc2</code> - Description of role of second type</dd> |
| <dd><code>type2</code> - Second type</dd> |
| <dd><code>litmus</code> - Whether to assert if they are not equal</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Whether the types are equal</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="equalType(java.lang.String,org.apache.calcite.rel.RelNode,java.lang.String,org.apache.calcite.rel.RelNode,org.apache.calcite.util.Litmus)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equalType</h4> |
| <pre class="methodSignature">public static boolean equalType​(java.lang.String desc0, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel0, |
| java.lang.String desc1, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel1, |
| <a href="../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a> litmus)</pre> |
| <div class="block">Returns whether two relational expressions have the same row-type.</div> |
| </li> |
| </ul> |
| <a id="isDistinctFrom(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isDistinctFrom</h4> |
| <pre class="methodSignature">public static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> isDistinctFrom​(<a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> x, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> y, |
| boolean neg)</pre> |
| <div class="block">Returns a translation of the <code>IS DISTINCT FROM</code> (or <code>IS |
| NOT DISTINCT FROM</code>) sql operator.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>neg</code> - if false, returns a translation of IS NOT DISTINCT FROM</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="isDistinctFromInternal(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isDistinctFromInternal</h4> |
| <pre class="methodSignature">private static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> isDistinctFromInternal​(<a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> x, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> y, |
| boolean neg)</pre> |
| </li> |
| </ul> |
| <a id="toString(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>toString</h4> |
| <pre class="methodSignature">public static java.lang.String toString​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Converts a relational expression to a string, showing just basic |
| attributes.</div> |
| </li> |
| </ul> |
| <a id="toString(org.apache.calcite.rel.RelNode,org.apache.calcite.sql.SqlExplainLevel)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>toString</h4> |
| <pre class="methodSignature">public static java.lang.String toString​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../sql/SqlExplainLevel.html" title="enum in org.apache.calcite.sql">SqlExplainLevel</a> detailLevel)</pre> |
| <div class="block">Converts a relational expression to a string.</div> |
| </li> |
| </ul> |
| <a id="renameIfNecessary(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>renameIfNecessary</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> renameIfNecessary​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> desiredRowType)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="dumpType(org.apache.calcite.rel.type.RelDataType)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>dumpType</h4> |
| <pre class="methodSignature">public static java.lang.String dumpType​(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</pre> |
| </li> |
| </ul> |
| <a id="deduplicateColumns(java.util.List,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>deduplicateColumns</h4> |
| <pre class="methodSignature">public static java.util.List<<a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>> deduplicateColumns​(java.util.List<<a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>> baseColumns, |
| java.util.List<<a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>> extendedColumns)</pre> |
| <div class="block">Returns the set of columns with unique names, with prior columns taking |
| precedence over columns that appear later in the list.</div> |
| </li> |
| </ul> |
| <a id="decomposeConjunction(org.apache.calcite.rex.RexNode,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>decomposeConjunction</h4> |
| <pre class="methodSignature">public static void decomposeConjunction​(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> rexPredicate, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> rexList)</pre> |
| <div class="block">Decomposes a predicate into a list of expressions that are AND'ed |
| together.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rexPredicate</code> - predicate to be analyzed</dd> |
| <dd><code>rexList</code> - list of decomposed RexNodes</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="decomposeConjunction(org.apache.calcite.rex.RexNode,java.util.List,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>decomposeConjunction</h4> |
| <pre class="methodSignature">public static void decomposeConjunction​(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> rexPredicate, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> rexList, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> notList)</pre> |
| <div class="block">Decomposes a predicate into a list of expressions that are AND'ed |
| together, and a list of expressions that are preceded by NOT. |
| |
| <p>For example, <code>a AND NOT b AND NOT (c and d) AND TRUE AND NOT |
| FALSE</code> returns <code>rexList = [a], notList = [b, c AND d]</code>.</p> |
| |
| <p>TRUE and NOT FALSE expressions are ignored. FALSE and NOT TRUE |
| expressions are placed on <code>rexList</code> and <code>notList</code> as other |
| expressions.</p> |
| |
| <p>For example, <code>a AND TRUE AND NOT TRUE</code> returns |
| <code>rexList = [a], notList = [TRUE]</code>.</p></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rexPredicate</code> - predicate to be analyzed</dd> |
| <dd><code>rexList</code> - list of decomposed RexNodes (except those with NOT)</dd> |
| <dd><code>notList</code> - list of decomposed RexNodes that were prefixed NOT</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="decomposeDisjunction(org.apache.calcite.rex.RexNode,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>decomposeDisjunction</h4> |
| <pre class="methodSignature">public static void decomposeDisjunction​(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> rexPredicate, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> rexList)</pre> |
| <div class="block">Decomposes a predicate into a list of expressions that are OR'ed |
| together.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rexPredicate</code> - predicate to be analyzed</dd> |
| <dd><code>rexList</code> - list of decomposed RexNodes</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="conjunctions(org.apache.calcite.rex.RexNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>conjunctions</h4> |
| <pre class="methodSignature">public static java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> conjunctions​(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> rexPredicate)</pre> |
| <div class="block">Returns a condition decomposed by AND. |
| |
| <p>For example, <code>conjunctions(TRUE)</code> returns the empty list; |
| <code>conjunctions(FALSE)</code> returns list <code>{FALSE}</code>.</p></div> |
| </li> |
| </ul> |
| <a id="disjunctions(org.apache.calcite.rex.RexNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>disjunctions</h4> |
| <pre class="methodSignature">public static java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> disjunctions​(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> rexPredicate)</pre> |
| <div class="block">Returns a condition decomposed by OR. |
| |
| <p>For example, <code>disjunctions(FALSE)</code> returns the empty list.</p></div> |
| </li> |
| </ul> |
| <a id="andJoinFilters(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>andJoinFilters</h4> |
| <pre class="methodSignature">public static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> andJoinFilters​(<a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> left, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> right)</pre> |
| <div class="block">Ands two sets of join filters together, either of which can be null.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rexBuilder</code> - rexBuilder to create AND expression</dd> |
| <dd><code>left</code> - filter on the left that the right will be AND'd to</dd> |
| <dd><code>right</code> - filter on the right</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>AND'd filter</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../rex/RexUtil.html#composeConjunction(org.apache.calcite.rex.RexBuilder,java.lang.Iterable)"><code>RexUtil.composeConjunction(org.apache.calcite.rex.RexBuilder, java.lang.Iterable<? extends org.apache.calcite.rex.RexNode>)</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="inferViewPredicates(java.util.Map,java.util.List,org.apache.calcite.rex.RexNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>inferViewPredicates</h4> |
| <pre class="methodSignature">public static void inferViewPredicates​(java.util.Map<java.lang.Integer,​<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> projectMap, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> filters, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> constraint)</pre> |
| <div class="block">Decomposes the WHERE clause of a view into predicates that constraint |
| a column to a particular value. |
| |
| <p>This method is key to the validation of a modifiable view. Columns that |
| are constrained to a single value can be omitted from the |
| SELECT clause of a modifiable view.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>projectMap</code> - Mapping from column ordinal to the expression that |
| populate that column, to be populated by this method</dd> |
| <dd><code>filters</code> - List of remaining filters, to be populated by this method</dd> |
| <dd><code>constraint</code> - Constraint to be analyzed</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getColumnConstraints(org.apache.calcite.schema.ModifiableView,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataTypeFactory)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getColumnConstraints</h4> |
| <pre class="methodSignature">public static java.util.Map<java.lang.Integer,​<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> getColumnConstraints​(<a href="../schema/ModifiableView.html" title="interface in org.apache.calcite.schema">ModifiableView</a> modifiableViewTable, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> targetRowType, |
| <a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory)</pre> |
| <div class="block">Returns a mapping of the column ordinal in the underlying table to a column |
| constraint of the modifiable view.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>modifiableViewTable</code> - The modifiable view which has a constraint</dd> |
| <dd><code>targetRowType</code> - The target type</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="validateValueAgainstConstraint(org.apache.calcite.sql.SqlNode,org.apache.calcite.rex.RexNode,java.util.function.Supplier)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>validateValueAgainstConstraint</h4> |
| <pre class="methodSignature">public static void validateValueAgainstConstraint​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> sourceValue, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> targetConstraint, |
| java.util.function.Supplier<<a href="../runtime/CalciteContextException.html" title="class in org.apache.calcite.runtime">CalciteContextException</a>> errorSupplier)</pre> |
| <div class="block">Ensures that a source value does not violate the constraint of the target |
| column.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>sourceValue</code> - The insert value being validated</dd> |
| <dd><code>targetConstraint</code> - The constraint applied to sourceValue for validation</dd> |
| <dd><code>errorSupplier</code> - The function to apply when validation fails</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="adjustKeys(java.util.List,int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>adjustKeys</h4> |
| <pre class="methodSignature">public static java.util.List<java.lang.Integer> adjustKeys​(java.util.List<java.lang.Integer> keys, |
| int adjustment)</pre> |
| <div class="block">Adjusts key values in a list by some fixed amount.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>keys</code> - list of key values</dd> |
| <dd><code>adjustment</code> - the amount to adjust the key values by</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>modified list</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="simplifyJoin(org.apache.calcite.rel.RelNode,com.google.common.collect.ImmutableList,org.apache.calcite.rel.core.JoinRelType)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>simplifyJoin</h4> |
| <pre class="methodSignature">public static <a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a> simplifyJoin​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> joinRel, |
| com.google.common.collect.ImmutableList<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> aboveFilters, |
| <a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a> joinType)</pre> |
| <div class="block">Simplifies outer joins if filter above would reject nulls.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>joinRel</code> - Join</dd> |
| <dd><code>aboveFilters</code> - Filters from above</dd> |
| <dd><code>joinType</code> - Join type, can not be inner join</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="classifyFilters(org.apache.calcite.rel.RelNode,java.util.List,org.apache.calcite.rel.core.JoinRelType,boolean,boolean,boolean,java.util.List,java.util.List,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>classifyFilters</h4> |
| <pre class="methodSignature">public static boolean classifyFilters​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> joinRel, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> filters, |
| <a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a> joinType, |
| boolean pushInto, |
| boolean pushLeft, |
| boolean pushRight, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> joinFilters, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> leftFilters, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> rightFilters)</pre> |
| <div class="block">Classifies filters according to where they should be processed. They |
| either stay where they are, are pushed to the join (if they originated |
| from above the join), or are pushed to one of the children. Filters that |
| are pushed are added to list passed in as input parameters.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>joinRel</code> - join node</dd> |
| <dd><code>filters</code> - filters to be classified</dd> |
| <dd><code>joinType</code> - join type</dd> |
| <dd><code>pushInto</code> - whether filters can be pushed into the ON clause</dd> |
| <dd><code>pushLeft</code> - true if filters can be pushed to the left</dd> |
| <dd><code>pushRight</code> - true if filters can be pushed to the right</dd> |
| <dd><code>joinFilters</code> - list of filters to push to the join</dd> |
| <dd><code>leftFilters</code> - list of filters to push to the left child</dd> |
| <dd><code>rightFilters</code> - list of filters to push to the right child</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>whether at least one filter was pushed</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="shiftFilter(int,int,int,org.apache.calcite.rex.RexBuilder,java.util.List,int,java.util.List,org.apache.calcite.rex.RexNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>shiftFilter</h4> |
| <pre class="methodSignature">private static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> shiftFilter​(int start, |
| int end, |
| int offset, |
| <a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| java.util.List<<a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>> joinFields, |
| int nTotalFields, |
| java.util.List<<a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>> rightFields, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> filter)</pre> |
| </li> |
| </ul> |
| <a id="splitFilters(org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.rex.RexNode,java.util.List,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>splitFilters</h4> |
| <pre class="methodSignature">public static void splitFilters​(<a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a> childBitmap, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> predicate, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> pushable, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> notPushable)</pre> |
| <div class="block">Splits a filter into two lists, depending on whether or not the filter |
| only references its child input</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>childBitmap</code> - Fields in the child</dd> |
| <dd><code>predicate</code> - filters that will be split</dd> |
| <dd><code>pushable</code> - returns the list of filters that can be pushed to the |
| child input</dd> |
| <dd><code>notPushable</code> - returns the list of filters that cannot be pushed to |
| the child input</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="checkProjAndChildInputs(org.apache.calcite.rel.core.Project,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>checkProjAndChildInputs</h4> |
| <pre class="methodSignature">@Deprecated |
| public static boolean checkProjAndChildInputs​(<a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a> project, |
| boolean checkNames)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="createSwappedJoinExprs(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.Join,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createSwappedJoinExprs</h4> |
| <pre class="methodSignature">public static java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> createSwappedJoinExprs​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> newJoin, |
| <a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core">Join</a> origJoin, |
| boolean origOrder)</pre> |
| <div class="block">Creates projection expressions reflecting the swapping of a join's input.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>newJoin</code> - the RelNode corresponding to the join with its inputs |
| swapped</dd> |
| <dd><code>origJoin</code> - original LogicalJoin</dd> |
| <dd><code>origOrder</code> - if true, create the projection expressions to reflect |
| the original (pre-swapped) join projection; otherwise, |
| create the projection to reflect the order of the swapped |
| projection</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>array of expression representing the swapped join inputs</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="pushFilterPastProject(org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.Project)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>pushFilterPastProject</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> pushFilterPastProject​(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> filter, |
| <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a> projRel)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="pushPastProject(org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.Project)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>pushPastProject</h4> |
| <pre class="methodSignature">public static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> pushPastProject​(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a> project)</pre> |
| <div class="block">Converts an expression that is based on the output fields of a |
| <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> to an equivalent expression on the Project's |
| input fields.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>node</code> - The expression to be converted</dd> |
| <dd><code>project</code> - Project underneath the expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>converted expression</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="pushPastProject(java.util.List,org.apache.calcite.rel.core.Project)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>pushPastProject</h4> |
| <pre class="methodSignature">public static java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> pushPastProject​(java.util.List<? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes, |
| <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a> project)</pre> |
| <div class="block">Converts a list of expressions that are based on the output fields of a |
| <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> to equivalent expressions on the Project's |
| input fields.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>nodes</code> - The expressions to be converted</dd> |
| <dd><code>project</code> - Project underneath the expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>converted expressions</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="pushShuttle(org.apache.calcite.rel.core.Project)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>pushShuttle</h4> |
| <pre class="methodSignature">private static <a href="../rex/RexShuttle.html" title="class in org.apache.calcite.rex">RexShuttle</a> pushShuttle​(<a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a> project)</pre> |
| </li> |
| </ul> |
| <a id="projectMultiJoin(org.apache.calcite.rel.rules.MultiJoin,org.apache.calcite.rel.core.Project)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>projectMultiJoin</h4> |
| <pre class="methodSignature">public static <a href="../rel/rules/MultiJoin.html" title="class in org.apache.calcite.rel.rules">MultiJoin</a> projectMultiJoin​(<a href="../rel/rules/MultiJoin.html" title="class in org.apache.calcite.rel.rules">MultiJoin</a> multiJoin, |
| <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a> project)</pre> |
| <div class="block">Creates a new <a href="../rel/rules/MultiJoin.html" title="class in org.apache.calcite.rel.rules"><code>MultiJoin</code></a> to reflect |
| projection references from a |
| <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> that is on top of the |
| <a href="../rel/rules/MultiJoin.html" title="class in org.apache.calcite.rel.rules"><code>MultiJoin</code></a>.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>multiJoin</code> - the original MultiJoin</dd> |
| <dd><code>project</code> - the Project on top of the MultiJoin</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the new MultiJoin</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="addTrait(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTrait)"> |
| <!-- --> |
| </a><a id="addTrait(T,org.apache.calcite.plan.RelTrait)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>addTrait</h4> |
| <pre class="methodSignature">public static <T extends <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>> T addTrait​(T rel, |
| <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a> trait)</pre> |
| </li> |
| </ul> |
| <a id="replaceInput(org.apache.calcite.rel.RelNode,int,org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>replaceInput</h4> |
| <pre class="methodSignature">public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> replaceInput​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> parent, |
| int ordinal, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> newInput)</pre> |
| <div class="block">Returns a shallow copy of a relational expression with a particular |
| input replaced.</div> |
| </li> |
| </ul> |
| <a id="createProject(org.apache.calcite.rel.RelNode,org.apache.calcite.util.mapping.Mappings.TargetMapping)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createProject</h4> |
| <pre class="methodSignature">public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createProject​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| <a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a> mapping)</pre> |
| <div class="block">Creates a <a href="../rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a> that |
| projects particular fields of its input, according to a mapping.</div> |
| </li> |
| </ul> |
| <a id="createProject(org.apache.calcite.rel.RelNode,org.apache.calcite.util.mapping.Mappings.TargetMapping,org.apache.calcite.rel.core.RelFactories.ProjectFactory)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createProject</h4> |
| <pre class="methodSignature">public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createProject​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| <a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a> mapping, |
| <a href="../rel/core/RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ProjectFactory</a> projectFactory)</pre> |
| </li> |
| </ul> |
| <a id="contains(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>contains</h4> |
| <pre class="methodSignature">public static boolean contains​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> ancestor, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> target)</pre> |
| <div class="block">Returns whether relational expression <code>target</code> occurs within a |
| relational expression <code>ancestor</code>.</div> |
| </li> |
| </ul> |
| <a id="replace(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>replace</h4> |
| <pre class="methodSignature">public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> replace​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> query, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> find, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> replace)</pre> |
| <div class="block">Within a relational expression <code>query</code>, replaces occurrences of |
| <code>find</code> with <code>replace</code>.</div> |
| </li> |
| </ul> |
| <a id="replaceRecurse(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>replaceRecurse</h4> |
| <pre class="methodSignature">private static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> replaceRecurse​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> query, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> find, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> replace)</pre> |
| <div class="block">Helper for <a href="#replace(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)"><code>replace(org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelNode)</code></a>.</div> |
| </li> |
| </ul> |
| <a id="getContext(org.apache.calcite.plan.RelOptCluster)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getContext</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a> getContext​(<a href="RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a> cluster)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="countJoins(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>countJoins</h4> |
| <pre class="methodSignature">public static int countJoins​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rootRel)</pre> |
| <div class="block">Returns the number of <a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a> nodes in a |
| tree.</div> |
| </li> |
| </ul> |
| <a id="permute(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.util.mapping.Mapping)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>permute</h4> |
| <pre class="methodSignature">public static <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> permute​(<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> rowType, |
| <a href="../util/mapping/Mapping.html" title="interface in org.apache.calcite.util.mapping">Mapping</a> mapping)</pre> |
| <div class="block">Permutes a record type according to a mapping.</div> |
| </li> |
| </ul> |
| <a id="createProject(org.apache.calcite.rel.RelNode,java.util.List,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createProject</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createProject​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| java.util.List<? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprList, |
| java.util.List<java.lang.String> fieldNameList)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="createProject(org.apache.calcite.rel.RelNode,java.util.List,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createProject</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createProject​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| java.util.List<<a href="../util/Pair.html" title="class in org.apache.calcite.util">Pair</a><<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,​java.lang.String>> projectList, |
| boolean optimize)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="createProject(org.apache.calcite.rel.RelNode,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createProject</h4> |
| <pre class="methodSignature">public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createProject​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| java.util.List<java.lang.Integer> posList)</pre> |
| <div class="block">Creates a relational expression that projects the given fields of the |
| input. |
| |
| <p>Optimizes if the fields are the identity projection.</p></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>child</code> - Input relational expression</dd> |
| <dd><code>posList</code> - Source of each projected field</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Relational expression that projects given fields</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="createProject(org.apache.calcite.rel.RelNode,java.util.List,java.util.List,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createProject</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createProject​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| java.util.List<? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs, |
| java.util.List<java.lang.String> fieldNames, |
| boolean optimize)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="createProject(org.apache.calcite.rel.RelNode,java.util.List,java.util.List,boolean,org.apache.calcite.tools.RelBuilder)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createProject</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createProject​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| java.util.List<? extends <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs, |
| java.util.List<java.lang.String> fieldNames, |
| boolean optimize, |
| <a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a> relBuilder)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="deprecationComment">Use |
| <a href="../tools/RelBuilder.html#projectNamed(java.lang.Iterable,java.lang.Iterable,boolean)"><code>RelBuilder.projectNamed(Iterable, Iterable, boolean)</code></a></div> |
| </div> |
| </li> |
| </ul> |
| <a id="createRename(org.apache.calcite.rel.RelNode,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createRename</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createRename​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| java.util.List<java.lang.String> fieldNames)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="permute(org.apache.calcite.rel.RelNode,org.apache.calcite.util.Permutation,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>permute</h4> |
| <pre class="methodSignature">public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> permute​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../util/Permutation.html" title="class in org.apache.calcite.util">Permutation</a> permutation, |
| java.util.List<java.lang.String> fieldNames)</pre> |
| <div class="block">Creates a relational expression which permutes the output fields of a |
| relational expression according to a permutation. |
| |
| <p>Optimizations:</p> |
| |
| <ul> |
| <li>If the relational expression is a |
| <a href="../rel/logical/LogicalCalc.html" title="class in org.apache.calcite.rel.logical"><code>LogicalCalc</code></a> or |
| <a href="../rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a> that is already |
| acting as a permutation, combines the new permutation with the old;</li> |
| |
| <li>If the permutation is the identity, returns the original relational |
| expression.</li> |
| </ul> |
| |
| <p>If a permutation is combined with its inverse, these optimizations |
| would combine to remove them both.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - Relational expression</dd> |
| <dd><code>permutation</code> - Permutation to apply to fields</dd> |
| <dd><code>fieldNames</code> - Field names; if null, or if a particular entry is null, |
| the name of the permuted field is used</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>relational expression which permutes its input fields</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="createProject(org.apache.calcite.rel.core.RelFactories.ProjectFactory,org.apache.calcite.rel.RelNode,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createProject</h4> |
| <pre class="methodSignature">public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createProject​(<a href="../rel/core/RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ProjectFactory</a> factory, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> child, |
| java.util.List<java.lang.Integer> posList)</pre> |
| <div class="block">Creates a relational expression that projects the given fields of the |
| input. |
| |
| <p>Optimizes if the fields are the identity projection.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>factory</code> - ProjectFactory</dd> |
| <dd><code>child</code> - Input relational expression</dd> |
| <dd><code>posList</code> - Source of each projected field</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Relational expression that projects given fields</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="projectMapping(org.apache.calcite.rel.RelNode,org.apache.calcite.util.mapping.Mapping,java.util.List,org.apache.calcite.rel.core.RelFactories.ProjectFactory)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>projectMapping</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> projectMapping​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../util/mapping/Mapping.html" title="interface in org.apache.calcite.util.mapping">Mapping</a> mapping, |
| java.util.List<java.lang.String> fieldNames, |
| <a href="../rel/core/RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ProjectFactory</a> projectFactory)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="containsMultisetOrWindowedAgg(org.apache.calcite.rel.core.Calc)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>containsMultisetOrWindowedAgg</h4> |
| <pre class="methodSignature">public static boolean containsMultisetOrWindowedAgg​(<a href="../rel/core/Calc.html" title="class in org.apache.calcite.rel.core">Calc</a> calc)</pre> |
| <div class="block">Predicate for whether a <a href="../rel/core/Calc.html" title="class in org.apache.calcite.rel.core"><code>Calc</code></a> contains multisets or windowed |
| aggregates.</div> |
| </li> |
| </ul> |
| <a id="containsMultisetOrWindowedAgg(org.apache.calcite.rel.core.Filter)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>containsMultisetOrWindowedAgg</h4> |
| <pre class="methodSignature">public static boolean containsMultisetOrWindowedAgg​(<a href="../rel/core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a> filter)</pre> |
| <div class="block">Predicate for whether a <a href="../rel/core/Filter.html" title="class in org.apache.calcite.rel.core"><code>Filter</code></a> contains multisets or windowed |
| aggregates.</div> |
| </li> |
| </ul> |
| <a id="containsMultisetOrWindowedAgg(org.apache.calcite.rel.core.Project)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>containsMultisetOrWindowedAgg</h4> |
| <pre class="methodSignature">public static boolean containsMultisetOrWindowedAgg​(<a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a> project)</pre> |
| <div class="block">Predicate for whether a <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> contains multisets or windowed |
| aggregates.</div> |
| </li> |
| </ul> |
| <a id="pushDownJoinConditions(org.apache.calcite.rel.core.Join,org.apache.calcite.tools.RelBuilder)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>pushDownJoinConditions</h4> |
| <pre class="methodSignature">public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> pushDownJoinConditions​(<a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core">Join</a> originalJoin, |
| <a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a> relBuilder)</pre> |
| <div class="block">Pushes down expressions in "equal" join condition. |
| |
| <p>For example, given |
| "emp JOIN dept ON emp.deptno + 1 = dept.deptno", adds a project above |
| "emp" that computes the expression |
| "emp.deptno + 1". The resulting join condition is a simple combination |
| of AND, equals, and input fields, plus the remaining non-equal conditions.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>originalJoin</code> - Join whose condition is to be pushed down</dd> |
| <dd><code>relBuilder</code> - Factory to create project operator</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="pushDownJoinConditions(org.apache.calcite.rel.core.Join)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>pushDownJoinConditions</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> pushDownJoinConditions​(<a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core">Join</a> originalJoin)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="pushDownJoinConditions(org.apache.calcite.rel.core.Join,org.apache.calcite.rel.core.RelFactories.ProjectFactory)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>pushDownJoinConditions</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> pushDownJoinConditions​(<a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core">Join</a> originalJoin, |
| <a href="../rel/core/RelFactories.ProjectFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.ProjectFactory</a> projectFactory)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="pushDownJoinConditions(org.apache.calcite.rel.core.Join,org.apache.calcite.tools.RelBuilderFactory)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>pushDownJoinConditions</h4> |
| <pre class="methodSignature">private static <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> pushDownJoinConditions​(<a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core">Join</a> originalJoin, |
| <a href="../tools/RelBuilderFactory.html" title="interface in org.apache.calcite.tools">RelBuilderFactory</a> relBuilderFactory)</pre> |
| </li> |
| </ul> |
| <a id="containsGet(org.apache.calcite.rex.RexNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>containsGet</h4> |
| <pre class="methodSignature">private static boolean containsGet​(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</pre> |
| </li> |
| </ul> |
| <a id="pushDownEqualJoinConditions(org.apache.calcite.rex.RexNode,int,int,java.util.List,java.util.List,org.apache.calcite.rex.RexBuilder)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>pushDownEqualJoinConditions</h4> |
| <pre class="methodSignature">private static <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> pushDownEqualJoinConditions​(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| int leftCount, |
| int rightCount, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> extraLeftExprs, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> extraRightExprs, |
| <a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> builder)</pre> |
| <div class="block">Pushes down parts of a join condition. |
| |
| <p>For example, given |
| "emp JOIN dept ON emp.deptno + 1 = dept.deptno", adds a project above |
| "emp" that computes the expression |
| "emp.deptno + 1". The resulting join condition is a simple combination |
| of AND, equals, and input fields.</div> |
| </li> |
| </ul> |
| <a id="fix(java.util.List,int,int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>fix</h4> |
| <pre class="methodSignature">private static void fix​(java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> operands, |
| int before, |
| int after)</pre> |
| </li> |
| </ul> |
| <a id="containsNullableFields(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>containsNullableFields</h4> |
| <pre class="methodSignature">private static boolean containsNullableFields​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> r)</pre> |
| <div class="block">Determines whether any of the fields in a given relational expression may |
| contain null values, taking into account constraints on the field types and |
| also deduced predicates. |
| |
| <p>The method is cautious: It may sometimes return <code>true</code> when the |
| actual answer is <code>false</code>. In particular, it does this when there |
| is no executor, or the executor is not a sub-class of |
| <a href="../rex/RexExecutorImpl.html" title="class in org.apache.calcite.rex"><code>RexExecutorImpl</code></a>.</div> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </main> |
| <!-- ========= END OF CLASS DATA ========= --> |
| <footer role="contentinfo"> |
| <nav role="navigation"> |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <div class="bottomNav"><a id="navbar.bottom"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> |
| <a id="navbar.bottom.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../index.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/RelOptUtil.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../help-doc.html">Help</a></li> |
| </ul> |
| </div> |
| <div class="subNav"> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../allclasses.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_bottom"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li><a href="#constructor.detail">Constr</a> | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <a id="skip.navbar.bottom"> |
| <!-- --> |
| </a></div> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| </nav> |
| <p class="legalCopy"><small>Copyright © 2012–2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </footer> |
| </body> |
| </html> |