| <!DOCTYPE HTML> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc --> |
| <title>SqlToRelConverter (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="SqlToRelConverter (Apache Calcite API)"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":9,"i8":9,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":9,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":9,"i63":10,"i64":42,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":42,"i78":10,"i79":10,"i80":10,"i81":10,"i82":9,"i83":10,"i84":9,"i85":10,"i86":42,"i87":10,"i88":10,"i89":9,"i90":9,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":9}; |
| var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance 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/SqlToRelConverter.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.sql2rel</a></div> |
| <h2 title="Class SqlToRelConverter" class="title">Class SqlToRelConverter</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li>java.lang.Object</li> |
| <li> |
| <ul class="inheritance"> |
| <li>org.apache.calcite.sql2rel.SqlToRelConverter</li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <hr> |
| <pre>public class <span class="typeNameLabel">SqlToRelConverter</span> |
| extends java.lang.Object</pre> |
| <div class="block">Converts a SQL parse tree (consisting of |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> objects) into a relational algebra |
| expression (consisting of <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> objects). |
| |
| <p>The public entry points are: <a href="#convertQuery(org.apache.calcite.sql.SqlNode,boolean,boolean)"><code>convertQuery(org.apache.calcite.sql.SqlNode, boolean, boolean)</code></a>, |
| <a href="#convertExpression(org.apache.calcite.sql.SqlNode)"><code>convertExpression(SqlNode)</code></a>.</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>protected class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlToRelConverter.AggConverter.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.AggConverter</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Converts expressions to aggregates.</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="SqlToRelConverter.AggregateFinder.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.AggregateFinder</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Visitor that collects all aggregate functions in a <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> tree.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>protected class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Workspace for translating an individual SELECT statement (or sub-SELECT).</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static interface </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlToRelConverter.Config.html" title="interface in org.apache.calcite.sql2rel">SqlToRelConverter.Config</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Interface to define the configuration for a SqlToRelConverter.</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="SqlToRelConverter.ConfigBuilder.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.ConfigBuilder</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Builder for a <a href="SqlToRelConverter.Config.html" title="interface in org.apache.calcite.sql2rel"><code>SqlToRelConverter.Config</code></a>.</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="SqlToRelConverter.ConfigImpl.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.ConfigImpl</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Implementation of <a href="SqlToRelConverter.Config.html" title="interface in org.apache.calcite.sql2rel"><code>SqlToRelConverter.Config</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlToRelConverter.CorrelationUse.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.CorrelationUse</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Use of a row as a correlating variable by a given relational |
| expression.</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="SqlToRelConverter.DeferredLookup.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.DeferredLookup</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Deferred lookup.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlToRelConverter.HistogramShuttle.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.HistogramShuttle</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Shuttle which walks over a tree of <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a>s and applies 'over' to |
| all agg functions.</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="SqlToRelConverter.LookupContext.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.LookupContext</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Context to find a relational expression to a field offset.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlToRelConverter.NoOpSubQueryConverter.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.NoOpSubQueryConverter</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">A default implementation of SubQueryConverter that does no conversion.</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="SqlToRelConverter.RexAccessShuttle.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.RexAccessShuttle</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Shuttle that replace outer <a href="../rex/RexInputRef.html" title="class in org.apache.calcite.rex"><code>RexInputRef</code></a> with |
| <a href="../rex/RexFieldAccess.html" title="class in org.apache.calcite.rex"><code>RexFieldAccess</code></a>, and adjust <code>offset</code> to |
| each inner <a href="../rex/RexInputRef.html" title="class in org.apache.calcite.rex"><code>RexInputRef</code></a> in the lateral join |
| condition.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlToRelConverter.SubQuery.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.SubQuery</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">A sub-query, whether it needs to be translated using 2- or 3-valued |
| logic.</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>protected <a href="../prepare/Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#catalogReader">catalogReader</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>protected <a href="../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cluster">cluster</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code><a href="SqlToRelConverter.Config.html" title="interface in org.apache.calcite.sql2rel">SqlToRelConverter.Config</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#config">config</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private java.util.Deque<java.lang.String></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#datasetStack">datasetStack</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Stack of names of datasets requested by the <code> |
| TABLE(SAMPLE(<datasetName>, <query>))</code> construct.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static int</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DEFAULT_IN_SUB_QUERY_THRESHOLD">DEFAULT_IN_SUB_QUERY_THRESHOLD</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Size of the smallest IN list that will be converted to a semijoin to a |
| static table.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static int</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DEFAULT_IN_SUBQUERY_THRESHOLD">DEFAULT_IN_SUBQUERY_THRESHOLD</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>private java.util.List<<a href="../sql/SqlDynamicParam.html" title="class in org.apache.calcite.sql">SqlDynamicParam</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dynamicParamSqlNodes">dynamicParamSqlNodes</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private int</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#explainParamCount">explainParamCount</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private <a href="SqlNodeToRexConverter.html" title="interface in org.apache.calcite.sql2rel">SqlNodeToRexConverter</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#exprConverter">exprConverter</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>protected java.util.List<<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="#leaves">leaves</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private java.util.Map<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>,​<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="#mapConvertedNonCorrSubqs">mapConvertedNonCorrSubqs</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Mapping of non-correlated sub-queries that have been converted to their |
| equivalent constants.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private java.util.Map<<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>,​<a href="SqlToRelConverter.DeferredLookup.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.DeferredLookup</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#mapCorrelToDeferred">mapCorrelToDeferred</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Fields used in name resolution for correlated sub-queries.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private <a href="../sql/SqlOperatorTable.html" title="interface in org.apache.calcite.sql">SqlOperatorTable</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#opTab">opTab</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private <a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#relBuilder">relBuilder</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>protected <a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rexBuilder">rexBuilder</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>protected static org.slf4j.Logger</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SQL2REL_LOGGER">SQL2REL_LOGGER</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private <a href="SubQueryConverter.html" title="interface in org.apache.calcite.sql2rel">SubQueryConverter</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#subQueryConverter">subQueryConverter</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private static java.math.BigDecimal</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TWO">TWO</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>protected <a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#typeFactory">typeFactory</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>protected <a href="../sql/validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validator">validator</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code><a href="../plan/RelOptTable.ViewExpander.html" title="interface in org.apache.calcite.plan">RelOptTable.ViewExpander</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#viewExpander">viewExpander</a></span></code></th> |
| <td class="colLast"> </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(org.apache.calcite.plan.RelOptTable.ViewExpander,org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.prepare.Prepare.CatalogReader,org.apache.calcite.plan.RelOptCluster,org.apache.calcite.sql2rel.SqlRexConvertletTable)">SqlToRelConverter</a></span>​(<a href="../plan/RelOptTable.ViewExpander.html" title="interface in org.apache.calcite.plan">RelOptTable.ViewExpander</a> viewExpander, |
| <a href="../sql/validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a> validator, |
| <a href="../prepare/Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a> catalogReader, |
| <a href="../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a> cluster, |
| <a href="SqlRexConvertletTable.html" title="interface in org.apache.calcite.sql2rel">SqlRexConvertletTable</a> convertletTable)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.calcite.plan.RelOptTable.ViewExpander,org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.prepare.Prepare.CatalogReader,org.apache.calcite.plan.RelOptCluster,org.apache.calcite.sql2rel.SqlRexConvertletTable,org.apache.calcite.sql2rel.SqlToRelConverter.Config)">SqlToRelConverter</a></span>​(<a href="../plan/RelOptTable.ViewExpander.html" title="interface in org.apache.calcite.plan">RelOptTable.ViewExpander</a> viewExpander, |
| <a href="../sql/validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a> validator, |
| <a href="../prepare/Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a> catalogReader, |
| <a href="../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a> cluster, |
| <a href="SqlRexConvertletTable.html" title="interface in org.apache.calcite.sql2rel">SqlRexConvertletTable</a> convertletTable, |
| <a href="SqlToRelConverter.Config.html" title="interface in org.apache.calcite.sql2rel">SqlToRelConverter.Config</a> config)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.calcite.plan.RelOptTable.ViewExpander,org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.prepare.Prepare.CatalogReader,org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rex.RexBuilder,org.apache.calcite.sql2rel.SqlRexConvertletTable)">SqlToRelConverter</a></span>​(<a href="../plan/RelOptTable.ViewExpander.html" title="interface in org.apache.calcite.plan">RelOptTable.ViewExpander</a> viewExpander, |
| <a href="../sql/validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a> validator, |
| <a href="../prepare/Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a> catalogReader, |
| <a href="../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner, |
| <a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="SqlRexConvertletTable.html" title="interface in org.apache.calcite.sql2rel">SqlRexConvertletTable</a> convertletTable)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </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="t2" class="tableTab"><span><a href="javascript:show(2);">Instance 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>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addConvertedNonCorrSubqs(java.util.Map)">addConvertedNonCorrSubqs</a></span>​(java.util.Map<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>,​<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> alreadyConvertedNonCorrSubqs)</code></th> |
| <td class="colLast"> |
| <div class="block">Adds to the current map of non-correlated converted sub-queries the |
| elements from another map that contains non-correlated sub-queries that |
| have been converted by another SqlToRelConverter.</div> |
| </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code>protected <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="#adjustInputRef(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.rex.RexInputRef)">adjustInputRef</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a> inputRef)</code></th> |
| <td class="colLast"> |
| <div class="block">Adjusts the type of a reference to an input field to account for nulls |
| introduced by outer joins; and adjusts the offset to match the physical |
| implementation.</div> |
| </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#afterTableFunction(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlCall,org.apache.calcite.rel.logical.LogicalTableFunctionScan)">afterTableFunction</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call, |
| <a href="../rel/logical/LogicalTableFunctionScan.html" title="class in org.apache.calcite.rel.logical">LogicalTableFunctionScan</a> callRel)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code>private boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#all(org.apache.calcite.sql.SqlCall)">all</a></span>​(<a href="../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code>private <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="#castNullLiteralIfNeeded(org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType)">castNullLiteralIfNeeded</a></span>​(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| <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="i5" class="rowColor"> |
| <td class="colFirst"><code>private void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkConvertedType(org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.RelNode)">checkConvertedType</a></span>​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> query, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> result)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectInsertTargets(org.apache.calcite.sql.SqlInsert,org.apache.calcite.rex.RexNode,java.util.List,java.util.List)">collectInsertTargets</a></span>​(<a href="../sql/SqlInsert.html" title="class in org.apache.calcite.sql">SqlInsert</a> call, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> sourceRef, |
| java.util.List<java.lang.String> targetColumnNames, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> columnExprs)</code></th> |
| <td class="colLast"> |
| <div class="block">Given an INSERT statement, collects the list of names to be populated and |
| the expressions to put in them.</div> |
| </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code>static <a href="SqlToRelConverter.ConfigBuilder.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.ConfigBuilder</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#configBuilder()">configBuilder</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a builder for a <a href="SqlToRelConverter.Config.html" title="interface in org.apache.calcite.sql2rel"><code>SqlToRelConverter.Config</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code>private static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#containsInOperator(org.apache.calcite.sql.SqlNode)">containsInOperator</a></span>​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether a given node contains a <a href="../sql/fun/SqlInOperator.html" title="class in org.apache.calcite.sql.fun"><code>SqlInOperator</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code>private static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#containsNullLiteral(org.apache.calcite.sql.SqlNodeList)">containsNullLiteral</a></span>​(<a href="../sql/SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a> valueList)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertAgg(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlSelect,java.util.List)">convertAgg</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select, |
| java.util.List<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> orderExprList)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts the SELECT, GROUP BY and HAVING clauses of an aggregate query.</div> |
| </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertCollectionTable(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlCall)">convertCollectionTable</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i12" class="altColor"> |
| <td class="colFirst"><code>protected <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="#convertColumnList(org.apache.calcite.sql.SqlInsert,org.apache.calcite.rel.RelNode)">convertColumnList</a></span>​(<a href="../sql/SqlInsert.html" title="class in org.apache.calcite.sql">SqlInsert</a> call, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> source)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a source for an INSERT statement.</div> |
| </td> |
| </tr> |
| <tr id="i13" class="rowColor"> |
| <td class="colFirst"><code>private <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="#convertCursor(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql2rel.SqlToRelConverter.SubQuery)">convertCursor</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="SqlToRelConverter.SubQuery.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.SubQuery</a> subQuery)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i14" class="altColor"> |
| <td class="colFirst"><code>private <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="#convertDelete(org.apache.calcite.sql.SqlDelete)">convertDelete</a></span>​(<a href="../sql/SqlDelete.html" title="class in org.apache.calcite.sql">SqlDelete</a> call)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i15" class="rowColor"> |
| <td class="colFirst"><code><a href="../rex/RexDynamicParam.html" title="class in org.apache.calcite.rex">RexDynamicParam</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertDynamicParam(org.apache.calcite.sql.SqlDynamicParam)">convertDynamicParam</a></span>​(<a href="../sql/SqlDynamicParam.html" title="class in org.apache.calcite.sql">SqlDynamicParam</a> dynamicParam)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i16" class="altColor"> |
| <td class="colFirst"><code>private <a href="../plan/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="#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)">convertExists</a></span>​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> seek, |
| <a href="../plan/RelOptUtil.SubQueryType.html" title="enum in org.apache.calcite.plan">RelOptUtil.SubQueryType</a> subQueryType, |
| <a href="../plan/RelOptUtil.Logic.html" title="enum in org.apache.calcite.plan">RelOptUtil.Logic</a> logic, |
| boolean notIn, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> targetDataType)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts an EXISTS or IN predicate into a join.</div> |
| </td> |
| </tr> |
| <tr id="i17" class="rowColor"> |
| <td class="colFirst"><code><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="#convertExpression(org.apache.calcite.sql.SqlNode)">convertExpression</a></span>​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts an expression from <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> to <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a> format.</div> |
| </td> |
| </tr> |
| <tr id="i18" class="altColor"> |
| <td class="colFirst"><code><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="#convertExpression(org.apache.calcite.sql.SqlNode,java.util.Map)">convertExpression</a></span>​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| java.util.Map<java.lang.String,​<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nameToNodeMap)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts an expression from <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> to <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a> format, |
| mapping identifier references to predefined expressions.</div> |
| </td> |
| </tr> |
| <tr id="i19" class="rowColor"> |
| <td class="colFirst"><code>protected <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="#convertExtendedExpression(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard)">convertExtendedExpression</a></span>​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| <a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts a non-standard expression.</div> |
| </td> |
| </tr> |
| <tr id="i20" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertFrom(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlNode)">convertFrom</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> from)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts a FROM clause into a relational expression.</div> |
| </td> |
| </tr> |
| <tr id="i21" class="rowColor"> |
| <td class="colFirst"><code>private <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="#convertIdentifier(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlIdentifier)">convertIdentifier</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a> identifier)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts an identifier into an expression in a given scope.</div> |
| </td> |
| </tr> |
| <tr id="i22" class="altColor"> |
| <td class="colFirst"><code>private void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertIdentifier(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.SqlNodeList)">convertIdentifier</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a> id, |
| <a href="../sql/SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a> extendedColumns)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i23" class="rowColor"> |
| <td class="colFirst"><code>protected <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="#convertInsert(org.apache.calcite.sql.SqlInsert)">convertInsert</a></span>​(<a href="../sql/SqlInsert.html" title="class in org.apache.calcite.sql">SqlInsert</a> call)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i24" class="altColor"> |
| <td class="colFirst"><code>private <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="#convertInToOr(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,java.util.List,org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.fun.SqlInOperator)">convertInToOr</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> leftKeys, |
| <a href="../sql/SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a> valuesList, |
| <a href="../sql/fun/SqlInOperator.html" title="class in org.apache.calcite.sql.fun">SqlInOperator</a> op)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts "x IN (1, 2, ...)" to "x=1 OR x=2 OR ...".</div> |
| </td> |
| </tr> |
| <tr id="i25" class="rowColor"> |
| <td class="colFirst"><code>private <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="#convertJoinCondition(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.validate.SqlValidatorNamespace,org.apache.calcite.sql.validate.SqlValidatorNamespace,org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.JoinConditionType,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">convertJoinCondition</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/validate/SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorNamespace</a> leftNamespace, |
| <a href="../sql/validate/SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorNamespace</a> rightNamespace, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> condition, |
| <a href="../sql/JoinConditionType.html" title="enum in org.apache.calcite.sql">JoinConditionType</a> conditionType, |
| <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)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i26" class="altColor"> |
| <td class="colFirst"><code>private 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="#convertJoinType(org.apache.calcite.sql.JoinType)">convertJoinType</a></span>​(<a href="../sql/JoinType.html" title="enum in org.apache.calcite.sql">JoinType</a> joinType)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i27" class="rowColor"> |
| <td class="colFirst"><code>private <a href="../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertLiteralInValuesList(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.rel.type.RelDataType,int)">convertLiteralInValuesList</a></span>​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> sqlNode, |
| <a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> rowType, |
| int iField)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i28" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertMatchRecognize(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlCall)">convertMatchRecognize</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i29" class="rowColor"> |
| <td class="colFirst"><code>private <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="#convertMerge(org.apache.calcite.sql.SqlMerge)">convertMerge</a></span>​(<a href="../sql/SqlMerge.html" title="class in org.apache.calcite.sql">SqlMerge</a> call)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i30" class="altColor"> |
| <td class="colFirst"><code>private <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="#convertMultisets(java.util.List,org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard)">convertMultisets</a></span>​(java.util.List<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> operands, |
| <a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i31" class="rowColor"> |
| <td class="colFirst"><code>private boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertNonCorrelatedSubQuery(org.apache.calcite.sql2rel.SqlToRelConverter.SubQuery,org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.rel.RelNode,boolean)">convertNonCorrelatedSubQuery</a></span>​(<a href="SqlToRelConverter.SubQuery.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.SubQuery</a> subQuery, |
| <a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> converted, |
| boolean isExists)</code></th> |
| <td class="colLast"> |
| <div class="block">Determines if a sub-query is non-correlated and if so, converts it to a |
| constant.</div> |
| </td> |
| </tr> |
| <tr id="i32" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertOrder(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.rel.RelCollation,java.util.List,org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.SqlNode)">convertOrder</a></span>​(<a href="../sql/SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select, |
| <a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../rel/RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a> collation, |
| java.util.List<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> orderExprList, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> offset, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> fetch)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts a query's ORDER BY clause, if any.</div> |
| </td> |
| </tr> |
| <tr id="i33" class="rowColor"> |
| <td class="colFirst"><code>protected <a href="../rel/RelFieldCollation.html" title="class in org.apache.calcite.rel">RelFieldCollation</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertOrderItem(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.SqlNode,java.util.List,org.apache.calcite.rel.RelFieldCollation.Direction,org.apache.calcite.rel.RelFieldCollation.NullDirection)">convertOrderItem</a></span>​(<a href="../sql/SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> orderItem, |
| java.util.List<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> extraExprs, |
| <a href="../rel/RelFieldCollation.Direction.html" title="enum in org.apache.calcite.rel">RelFieldCollation.Direction</a> direction, |
| <a href="../rel/RelFieldCollation.NullDirection.html" title="enum in org.apache.calcite.rel">RelFieldCollation.NullDirection</a> nullDirection)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i34" class="altColor"> |
| <td class="colFirst"><code>private <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="#convertOver(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlNode)">convertOver</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i35" class="rowColor"> |
| <td class="colFirst"><code><a href="../rel/RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertQuery(org.apache.calcite.sql.SqlNode,boolean,boolean)">convertQuery</a></span>​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> query, |
| boolean needsValidation, |
| boolean top)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts an unvalidated query's parse tree into a relational expression.</div> |
| </td> |
| </tr> |
| <tr id="i36" class="altColor"> |
| <td class="colFirst"><code>private <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="#convertQueryOrInList(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.type.RelDataType)">convertQueryOrInList</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> seek, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> targetRowType)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i37" class="rowColor"> |
| <td class="colFirst"><code>protected <a href="../rel/RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertQueryRecursive(org.apache.calcite.sql.SqlNode,boolean,org.apache.calcite.rel.type.RelDataType)">convertQueryRecursive</a></span>​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> query, |
| boolean top, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> targetRowType)</code></th> |
| <td class="colLast"> |
| <div class="block">Recursively converts a query to a relational expression.</div> |
| </td> |
| </tr> |
| <tr id="i38" class="altColor"> |
| <td class="colFirst"><code>private <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="#convertRowConstructor(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlCall)">convertRowConstructor</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> rowConstructor)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts a row constructor into a relational expression.</div> |
| </td> |
| </tr> |
| <tr id="i39" class="rowColor"> |
| <td class="colFirst"><code>private <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="#convertRowValues(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlNode,java.util.Collection,boolean,org.apache.calcite.rel.type.RelDataType)">convertRowValues</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> rowList, |
| java.util.Collection<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> rows, |
| boolean allowLiteralsOnly, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> targetRowType)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i40" class="altColor"> |
| <td class="colFirst"><code><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="#convertSelect(org.apache.calcite.sql.SqlSelect,boolean)">convertSelect</a></span>​(<a href="../sql/SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select, |
| boolean top)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts a SELECT statement's parse tree into a relational expression.</div> |
| </td> |
| </tr> |
| <tr id="i41" class="rowColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertSelectImpl(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlSelect)">convertSelectImpl</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</code></th> |
| <td class="colLast"> |
| <div class="block">Implementation of <a href="#convertSelect(org.apache.calcite.sql.SqlSelect,boolean)"><code>convertSelect(SqlSelect, boolean)</code></a>; |
| derived class may override.</div> |
| </td> |
| </tr> |
| <tr id="i42" class="altColor"> |
| <td class="colFirst"><code>private void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertSelectList(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlSelect,java.util.List)">convertSelectList</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select, |
| java.util.List<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> orderList)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i43" class="rowColor"> |
| <td class="colFirst"><code>protected <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="#convertSetOp(org.apache.calcite.sql.SqlCall)">convertSetOp</a></span>​(<a href="../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts a set operation (UNION, INTERSECT, MINUS) into relational |
| expressions.</div> |
| </td> |
| </tr> |
| <tr id="i44" class="altColor"> |
| <td class="colFirst"><code><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="#convertToSingleValueSubq(org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.RelNode)">convertToSingleValueSubq</a></span>​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> query, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> plan)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts the RelNode tree for a select statement to a select that |
| produces a single value.</div> |
| </td> |
| </tr> |
| <tr id="i45" class="rowColor"> |
| <td class="colFirst"><code>private <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="#convertUpdate(org.apache.calcite.sql.SqlUpdate)">convertUpdate</a></span>​(<a href="../sql/SqlUpdate.html" title="class in org.apache.calcite.sql">SqlUpdate</a> call)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i46" class="altColor"> |
| <td class="colFirst"><code>private <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="#convertUsing(org.apache.calcite.sql.validate.SqlValidatorNamespace,org.apache.calcite.sql.validate.SqlValidatorNamespace,java.util.List)">convertUsing</a></span>​(<a href="../sql/validate/SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorNamespace</a> leftNamespace, |
| <a href="../sql/validate/SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorNamespace</a> rightNamespace, |
| java.util.List<java.lang.String> nameList)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns an expression for matching columns of a USING clause or inferred |
| from NATURAL JOIN.</div> |
| </td> |
| </tr> |
| <tr id="i47" class="rowColor"> |
| <td class="colFirst"><code><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="#convertValues(org.apache.calcite.sql.SqlCall,org.apache.calcite.rel.type.RelDataType)">convertValues</a></span>​(<a href="../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> values, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> targetRowType)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts a SELECT statement's parse tree into a relational expression.</div> |
| </td> |
| </tr> |
| <tr id="i48" class="altColor"> |
| <td class="colFirst"><code>private void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertValuesImpl(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlCall,org.apache.calcite.rel.type.RelDataType)">convertValuesImpl</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> values, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> targetRowType)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts a values clause (as in "INSERT INTO T(x,y) VALUES (1,2)") into a |
| relational expression.</div> |
| </td> |
| </tr> |
| <tr id="i49" class="rowColor"> |
| <td class="colFirst"><code>private void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertWhere(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlNode)">convertWhere</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> where)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts a WHERE clause.</div> |
| </td> |
| </tr> |
| <tr id="i50" class="altColor"> |
| <td class="colFirst"><code><a href="../rel/RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertWith(org.apache.calcite.sql.SqlWith,boolean)">convertWith</a></span>​(<a href="../sql/SqlWith.html" title="class in org.apache.calcite.sql">SqlWith</a> with, |
| boolean top)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts a WITH sub-query into a relational expression.</div> |
| </td> |
| </tr> |
| <tr id="i51" class="rowColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createAggImpl(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql2rel.SqlToRelConverter.AggConverter,org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.SqlNode,java.util.List)">createAggImpl</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="SqlToRelConverter.AggConverter.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.AggConverter</a> aggConverter, |
| <a href="../sql/SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a> selectList, |
| <a href="../sql/SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a> groupList, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> having, |
| java.util.List<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> orderExprList)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i52" class="altColor"> |
| <td class="colFirst"><code>protected <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="#createAggregate(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.util.ImmutableBitSet,com.google.common.collect.ImmutableList,java.util.List)">createAggregate</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a> groupSet, |
| com.google.common.collect.ImmutableList<<a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>> groupSets, |
| java.util.List<<a href="../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>> aggCalls)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates an Aggregate.</div> |
| </td> |
| </tr> |
| <tr id="i53" class="rowColor"> |
| <td class="colFirst"><code>protected <a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createBlackboard(org.apache.calcite.sql.validate.SqlValidatorScope,java.util.Map,boolean)">createBlackboard</a></span>​(<a href="../sql/validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| java.util.Map<java.lang.String,​<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nameToNodeMap, |
| boolean top)</code></th> |
| <td class="colLast"> |
| <div class="block">Factory method for creating translation workspace.</div> |
| </td> |
| </tr> |
| <tr id="i54" class="altColor"> |
| <td class="colFirst"><code>private <a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createInsertBlackboard(org.apache.calcite.plan.RelOptTable,org.apache.calcite.rex.RexNode,java.util.List)">createInsertBlackboard</a></span>​(<a href="../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a> targetTable, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> sourceRef, |
| java.util.List<java.lang.String> targetColumnNames)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a blackboard for translating the expressions of generated columns |
| in an INSERT statement.</div> |
| </td> |
| </tr> |
| <tr id="i55" class="rowColor"> |
| <td class="colFirst"><code>protected <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="#createJoin(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType)">createJoin</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <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> joinCond, |
| <a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a> joinType)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i56" class="altColor"> |
| <td class="colFirst"><code>private <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="#createModify(org.apache.calcite.plan.RelOptTable,org.apache.calcite.rel.RelNode)">createModify</a></span>​(<a href="../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a> targetTable, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> source)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a relational expression to modify a table or modifiable view.</div> |
| </td> |
| </tr> |
| <tr id="i57" class="rowColor"> |
| <td class="colFirst"><code>private <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="#createSource(org.apache.calcite.plan.RelOptTable,org.apache.calcite.rel.RelNode,org.apache.calcite.schema.ModifiableView,org.apache.calcite.rel.type.RelDataType)">createSource</a></span>​(<a href="../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a> targetTable, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> source, |
| <a href="../schema/ModifiableView.html" title="interface in org.apache.calcite.schema">ModifiableView</a> modifiableView, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> delegateRowType)</code></th> |
| <td class="colLast"> |
| <div class="block">Wraps a relational expression in the projects and filters implied by |
| a <a href="../schema/ModifiableView.html" title="interface in org.apache.calcite.schema"><code>ModifiableView</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i58" class="altColor"> |
| <td class="colFirst"><code>private <a href="../plan/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="#createToRelContext()">createToRelContext</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i59" class="rowColor"> |
| <td class="colFirst"><code><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="#decorrelate(org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.RelNode)">decorrelate</a></span>​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> query, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rootRel)</code></th> |
| <td class="colLast"> |
| <div class="block">If sub-query is correlated and decorrelation is enabled, performs |
| decorrelation.</div> |
| </td> |
| </tr> |
| <tr id="i60" class="altColor"> |
| <td class="colFirst"><code>protected <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="#decorrelateQuery(org.apache.calcite.rel.RelNode)">decorrelateQuery</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rootRel)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i61" class="rowColor"> |
| <td class="colFirst"><code>private java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deriveAlias(org.apache.calcite.sql.SqlNode,java.util.Collection,int)">deriveAlias</a></span>​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| java.util.Collection<java.lang.String> aliases, |
| int ordinal)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i62" class="altColor"> |
| <td class="colFirst"><code>private static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#desc(org.apache.calcite.rel.RelFieldCollation.Direction)">desc</a></span>​(<a href="../rel/RelFieldCollation.Direction.html" title="enum in org.apache.calcite.rel">RelFieldCollation.Direction</a> direction)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i63" class="rowColor"> |
| <td class="colFirst"><code>private void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#distinctify(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,boolean)">distinctify</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| boolean checkForDupExprs)</code></th> |
| <td class="colLast"> |
| <div class="block">Having translated 'SELECT ...</div> |
| </td> |
| </tr> |
| <tr id="i64" class="altColor"> |
| <td class="colFirst"><code>protected boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#enableDecorrelation()">enableDecorrelation</a></span>()</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>private <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="#ensureSqlType(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rex.RexNode)">ensureSqlType</a></span>​(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</code></th> |
| <td class="colLast"> |
| <div class="block">Ensures that an expression has a given <a href="../sql/type/SqlTypeName.html" title="enum in org.apache.calcite.sql.type"><code>SqlTypeName</code></a>, applying a |
| cast if necessary.</div> |
| </td> |
| </tr> |
| <tr id="i66" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#extraSelectItems(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlSelect,java.util.List,java.util.List,java.util.Collection,java.util.List)">extraSelectItems</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprList, |
| java.util.List<java.lang.String> nameList, |
| java.util.Collection<java.lang.String> aliasList, |
| java.util.List<<a href="../sql/validate/SqlMonotonicity.html" title="enum in org.apache.calcite.sql.validate">SqlMonotonicity</a>> columnMonotonicityList)</code></th> |
| <td class="colLast"> |
| <div class="block">Adds extra select items.</div> |
| </td> |
| </tr> |
| <tr id="i67" class="rowColor"> |
| <td class="colFirst"><code>private void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#findSubQueries(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlNode,org.apache.calcite.plan.RelOptUtil.Logic,boolean)">findSubQueries</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| <a href="../plan/RelOptUtil.Logic.html" title="enum in org.apache.calcite.plan">RelOptUtil.Logic</a> logic, |
| boolean registerOnlyScalarSubQueries)</code></th> |
| <td class="colLast"> |
| <div class="block">Builds a list of all <code>IN</code> or <code>EXISTS</code> operators |
| inside SQL parse tree.</div> |
| </td> |
| </tr> |
| <tr id="i68" class="altColor"> |
| <td class="colFirst"><code><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="#flattenTypes(org.apache.calcite.rel.RelNode,boolean)">flattenTypes</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rootRel, |
| boolean restructure)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i69" class="rowColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#gatherOrderExprs(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.SqlNodeList,java.util.List,java.util.List)">gatherOrderExprs</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select, |
| <a href="../sql/SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a> orderList, |
| java.util.List<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> extraOrderExprs, |
| java.util.List<<a href="../rel/RelFieldCollation.html" title="class in org.apache.calcite.rel">RelFieldCollation</a>> collationList)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a list of collations required to implement the ORDER BY clause, |
| if there is one.</div> |
| </td> |
| </tr> |
| <tr id="i70" class="altColor"> |
| <td class="colFirst"><code><a href="../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCluster()">getCluster</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i71" class="rowColor"> |
| <td class="colFirst"><code>private java.util.Set<<a href="../rel/metadata/RelColumnMapping.html" title="class in org.apache.calcite.rel.metadata">RelColumnMapping</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getColumnMappings(org.apache.calcite.sql.SqlOperator)">getColumnMappings</a></span>​(<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a> op)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i72" class="altColor"> |
| <td class="colFirst"><code>private <a href="SqlToRelConverter.CorrelationUse.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.CorrelationUse</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCorrelationUse(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.rel.RelNode)">getCorrelationUse</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> r0)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i73" class="rowColor"> |
| <td class="colFirst"><code>int</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDynamicParamCount()">getDynamicParamCount</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the number of dynamic parameters encountered during translation; |
| this must only be called after <a href="#convertQuery(org.apache.calcite.sql.SqlNode,boolean,boolean)"><code>convertQuery(org.apache.calcite.sql.SqlNode, boolean, boolean)</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i74" class="altColor"> |
| <td class="colFirst"><code>int</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDynamicParamCountInExplain(boolean)">getDynamicParamCountInExplain</a></span>​(boolean increment)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the current count of the number of dynamic parameters in an |
| EXPLAIN PLAN statement.</div> |
| </td> |
| </tr> |
| <tr id="i75" class="rowColor"> |
| <td class="colFirst"><code><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="#getDynamicParamType(int)">getDynamicParamType</a></span>​(int index)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the type inferred for a dynamic parameter.</div> |
| </td> |
| </tr> |
| <tr id="i76" class="altColor"> |
| <td class="colFirst"><code>private <a href="InitializerExpressionFactory.html" title="interface in org.apache.calcite.sql2rel">InitializerExpressionFactory</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInitializerFactory(org.apache.calcite.sql.validate.SqlValidatorTable)">getInitializerFactory</a></span>​(<a href="../sql/validate/SqlValidatorTable.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorTable</a> validatorTable)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i77" class="rowColor"> |
| <td class="colFirst"><code>protected int</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInSubqueryThreshold()">getInSubqueryThreshold</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i78" class="altColor"> |
| <td class="colFirst"><code>java.util.Map<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>,​<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="#getMapConvertedNonCorrSubqs()">getMapConvertedNonCorrSubqs</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i79" class="rowColor"> |
| <td class="colFirst"><code><a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRexBuilder()">getRexBuilder</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the row-expression builder.</div> |
| </td> |
| </tr> |
| <tr id="i80" class="altColor"> |
| <td class="colFirst"><code>protected 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="#getSystemFields()">getSystemFields</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a list of fields to be prefixed to each relational expression.</div> |
| </td> |
| </tr> |
| <tr id="i81" class="rowColor"> |
| <td class="colFirst"><code>protected <a href="../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTargetTable(org.apache.calcite.sql.SqlNode)">getTargetTable</a></span>​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> call)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i82" class="altColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isOrdered(org.apache.calcite.sql.SqlNode)">isOrdered</a></span>​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> query)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i83" class="rowColor"> |
| <td class="colFirst"><code>private boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isRowConstructor(org.apache.calcite.sql.SqlNode)">isRowConstructor</a></span>​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i84" class="altColor"> |
| <td class="colFirst"><code>private static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isStream(org.apache.calcite.sql.SqlNode)">isStream</a></span>​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> query)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i85" class="rowColor"> |
| <td class="colFirst"><code>private boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isSubQueryNonCorrelated(org.apache.calcite.rel.RelNode,org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard)">isSubQueryNonCorrelated</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> subq, |
| <a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb)</code></th> |
| <td class="colLast"> |
| <div class="block">Determines whether a sub-query is non-correlated.</div> |
| </td> |
| </tr> |
| <tr id="i86" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isTrimUnusedFields()">isTrimUnusedFields</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i87" class="rowColor"> |
| <td class="colFirst"><code>private <a href="../sql/fun/SqlQuantifyOperator.html" title="class in org.apache.calcite.sql.fun">SqlQuantifyOperator</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#negate(org.apache.calcite.sql.fun.SqlQuantifyOperator)">negate</a></span>​(<a href="../sql/fun/SqlQuantifyOperator.html" title="class in org.apache.calcite.sql.fun">SqlQuantifyOperator</a> operator)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i88" class="altColor"> |
| <td class="colFirst"><code>protected <a href="RelFieldTrimmer.html" title="class in org.apache.calcite.sql2rel">RelFieldTrimmer</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newFieldTrimmer()">newFieldTrimmer</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a RelFieldTrimmer.</div> |
| </td> |
| </tr> |
| <tr id="i89" class="rowColor"> |
| <td class="colFirst"><code>private static <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pushDownNotForIn(org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlNode)">pushDownNotForIn</a></span>​(<a href="../sql/validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> sqlNode)</code></th> |
| <td class="colLast"> |
| <div class="block">Push down all the NOT logical operators into any IN/NOT IN operators.</div> |
| </td> |
| </tr> |
| <tr id="i90" class="altColor"> |
| <td class="colFirst"><code>private static <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reg(org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlNode)">reg</a></span>​(<a href="../sql/validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> e)</code></th> |
| <td class="colLast"> |
| <div class="block">Registers with the validator a <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> that has been created |
| during the Sql-to-Rel process.</div> |
| </td> |
| </tr> |
| <tr id="i91" class="rowColor"> |
| <td class="colFirst"><code>private void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#replaceSubQueries(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlNode,org.apache.calcite.plan.RelOptUtil.Logic)">replaceSubQueries</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> expr, |
| <a href="../plan/RelOptUtil.Logic.html" title="enum in org.apache.calcite.plan">RelOptUtil.Logic</a> logic)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i92" class="altColor"> |
| <td class="colFirst"><code>private <a href="../rel/RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#requiredCollation(org.apache.calcite.rel.RelNode)">requiredCollation</a></span>​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> r)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i93" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDynamicParamCountInExplain(int)">setDynamicParamCountInExplain</a></span>​(int explainParamCount)</code></th> |
| <td class="colLast"> |
| <div class="block">Sets the number of dynamic parameters in the current EXPLAIN PLAN |
| statement.</div> |
| </td> |
| </tr> |
| <tr id="i94" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSubQueryConverter(org.apache.calcite.sql2rel.SubQueryConverter)">setSubQueryConverter</a></span>​(<a href="SubQueryConverter.html" title="interface in org.apache.calcite.sql2rel">SubQueryConverter</a> converter)</code></th> |
| <td class="colLast"> |
| <div class="block">Sets a new SubQueryConverter.</div> |
| </td> |
| </tr> |
| <tr id="i95" class="rowColor"> |
| <td class="colFirst"><code>private void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#snapshotTemporalTable(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlCall)">snapshotTemporalTable</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i96" class="altColor"> |
| <td class="colFirst"><code>private void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#substituteSubQuery(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql2rel.SqlToRelConverter.SubQuery)">substituteSubQuery</a></span>​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="SqlToRelConverter.SubQuery.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.SubQuery</a> subQuery)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i97" class="rowColor"> |
| <td class="colFirst"><code><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="#toRel(org.apache.calcite.plan.RelOptTable)">toRel</a></span>​(<a href="../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a> table)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i98" class="altColor"> |
| <td class="colFirst"><code>private <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="#translateIn(org.apache.calcite.plan.RelOptUtil.Logic,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">translateIn</a></span>​(<a href="../plan/RelOptUtil.Logic.html" title="enum in org.apache.calcite.plan">RelOptUtil.Logic</a> logic, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> root, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> rex)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i99" class="rowColor"> |
| <td class="colFirst"><code><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="#trimUnusedFields(boolean,org.apache.calcite.rel.RelNode)">trimUnusedFields</a></span>​(boolean ordered, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rootRel)</code></th> |
| <td class="colLast"> |
| <div class="block">Walks over a tree of relational expressions, replacing each |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> with a 'slimmed down' relational expression that projects |
| only the fields required by its consumer.</div> |
| </td> |
| </tr> |
| <tr id="i100" class="altColor"> |
| <td class="colFirst"><code>private static <T> T</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unwrap(java.lang.Object,java.lang.Class)">unwrap</a></span>​(java.lang.Object o, |
| java.lang.Class<T> clazz)</code></th> |
| <td class="colLast"> </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="SQL2REL_LOGGER"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>SQL2REL_LOGGER</h4> |
| <pre>protected static final org.slf4j.Logger SQL2REL_LOGGER</pre> |
| </li> |
| </ul> |
| <a id="TWO"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>TWO</h4> |
| <pre>private static final java.math.BigDecimal TWO</pre> |
| </li> |
| </ul> |
| <a id="DEFAULT_IN_SUB_QUERY_THRESHOLD"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>DEFAULT_IN_SUB_QUERY_THRESHOLD</h4> |
| <pre>public static final int DEFAULT_IN_SUB_QUERY_THRESHOLD</pre> |
| <div class="block">Size of the smallest IN list that will be converted to a semijoin to a |
| static table.</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../constant-values.html#org.apache.calcite.sql2rel.SqlToRelConverter.DEFAULT_IN_SUB_QUERY_THRESHOLD">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="DEFAULT_IN_SUBQUERY_THRESHOLD"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>DEFAULT_IN_SUBQUERY_THRESHOLD</h4> |
| <pre>@Deprecated |
| public static final int DEFAULT_IN_SUBQUERY_THRESHOLD</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../constant-values.html#org.apache.calcite.sql2rel.SqlToRelConverter.DEFAULT_IN_SUBQUERY_THRESHOLD">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="validator"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>validator</h4> |
| <pre>protected final <a href="../sql/validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a> validator</pre> |
| </li> |
| </ul> |
| <a id="rexBuilder"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>rexBuilder</h4> |
| <pre>protected final <a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder</pre> |
| </li> |
| </ul> |
| <a id="catalogReader"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>catalogReader</h4> |
| <pre>protected final <a href="../prepare/Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a> catalogReader</pre> |
| </li> |
| </ul> |
| <a id="cluster"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>cluster</h4> |
| <pre>protected final <a href="../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a> cluster</pre> |
| </li> |
| </ul> |
| <a id="subQueryConverter"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>subQueryConverter</h4> |
| <pre>private <a href="SubQueryConverter.html" title="interface in org.apache.calcite.sql2rel">SubQueryConverter</a> subQueryConverter</pre> |
| </li> |
| </ul> |
| <a id="leaves"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>leaves</h4> |
| <pre>protected final java.util.List<<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>> leaves</pre> |
| </li> |
| </ul> |
| <a id="dynamicParamSqlNodes"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>dynamicParamSqlNodes</h4> |
| <pre>private final java.util.List<<a href="../sql/SqlDynamicParam.html" title="class in org.apache.calcite.sql">SqlDynamicParam</a>> dynamicParamSqlNodes</pre> |
| </li> |
| </ul> |
| <a id="opTab"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>opTab</h4> |
| <pre>private final <a href="../sql/SqlOperatorTable.html" title="interface in org.apache.calcite.sql">SqlOperatorTable</a> opTab</pre> |
| </li> |
| </ul> |
| <a id="typeFactory"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>typeFactory</h4> |
| <pre>protected final <a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory</pre> |
| </li> |
| </ul> |
| <a id="exprConverter"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>exprConverter</h4> |
| <pre>private final <a href="SqlNodeToRexConverter.html" title="interface in org.apache.calcite.sql2rel">SqlNodeToRexConverter</a> exprConverter</pre> |
| </li> |
| </ul> |
| <a id="explainParamCount"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>explainParamCount</h4> |
| <pre>private int explainParamCount</pre> |
| </li> |
| </ul> |
| <a id="config"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>config</h4> |
| <pre>public final <a href="SqlToRelConverter.Config.html" title="interface in org.apache.calcite.sql2rel">SqlToRelConverter.Config</a> config</pre> |
| </li> |
| </ul> |
| <a id="relBuilder"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>relBuilder</h4> |
| <pre>private final <a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a> relBuilder</pre> |
| </li> |
| </ul> |
| <a id="mapCorrelToDeferred"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>mapCorrelToDeferred</h4> |
| <pre>private final java.util.Map<<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>,​<a href="SqlToRelConverter.DeferredLookup.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.DeferredLookup</a>> mapCorrelToDeferred</pre> |
| <div class="block">Fields used in name resolution for correlated sub-queries.</div> |
| </li> |
| </ul> |
| <a id="datasetStack"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>datasetStack</h4> |
| <pre>private final java.util.Deque<java.lang.String> datasetStack</pre> |
| <div class="block">Stack of names of datasets requested by the <code> |
| TABLE(SAMPLE(<datasetName>, <query>))</code> construct.</div> |
| </li> |
| </ul> |
| <a id="mapConvertedNonCorrSubqs"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>mapConvertedNonCorrSubqs</h4> |
| <pre>private final java.util.Map<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>,​<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> mapConvertedNonCorrSubqs</pre> |
| <div class="block">Mapping of non-correlated sub-queries that have been converted to their |
| equivalent constants. Used to avoid re-evaluating the sub-query if it's |
| already been evaluated.</div> |
| </li> |
| </ul> |
| <a id="viewExpander"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>viewExpander</h4> |
| <pre>public final <a href="../plan/RelOptTable.ViewExpander.html" title="interface in org.apache.calcite.plan">RelOptTable.ViewExpander</a> viewExpander</pre> |
| </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>(org.apache.calcite.plan.RelOptTable.ViewExpander,org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.prepare.Prepare.CatalogReader,org.apache.calcite.plan.RelOptPlanner,org.apache.calcite.rex.RexBuilder,org.apache.calcite.sql2rel.SqlRexConvertletTable)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>SqlToRelConverter</h4> |
| <pre>@Deprecated |
| public SqlToRelConverter​(<a href="../plan/RelOptTable.ViewExpander.html" title="interface in org.apache.calcite.plan">RelOptTable.ViewExpander</a> viewExpander, |
| <a href="../sql/validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a> validator, |
| <a href="../prepare/Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a> catalogReader, |
| <a href="../plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner, |
| <a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="SqlRexConvertletTable.html" title="interface in org.apache.calcite.sql2rel">SqlRexConvertletTable</a> convertletTable)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| <div class="block">Creates a converter.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>viewExpander</code> - Preparing statement</dd> |
| <dd><code>validator</code> - Validator</dd> |
| <dd><code>catalogReader</code> - Schema</dd> |
| <dd><code>planner</code> - Planner</dd> |
| <dd><code>rexBuilder</code> - Rex builder</dd> |
| <dd><code>convertletTable</code> - Expression converter</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="<init>(org.apache.calcite.plan.RelOptTable.ViewExpander,org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.prepare.Prepare.CatalogReader,org.apache.calcite.plan.RelOptCluster,org.apache.calcite.sql2rel.SqlRexConvertletTable)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>SqlToRelConverter</h4> |
| <pre>@Deprecated |
| public SqlToRelConverter​(<a href="../plan/RelOptTable.ViewExpander.html" title="interface in org.apache.calcite.plan">RelOptTable.ViewExpander</a> viewExpander, |
| <a href="../sql/validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a> validator, |
| <a href="../prepare/Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a> catalogReader, |
| <a href="../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a> cluster, |
| <a href="SqlRexConvertletTable.html" title="interface in org.apache.calcite.sql2rel">SqlRexConvertletTable</a> convertletTable)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="<init>(org.apache.calcite.plan.RelOptTable.ViewExpander,org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.prepare.Prepare.CatalogReader,org.apache.calcite.plan.RelOptCluster,org.apache.calcite.sql2rel.SqlRexConvertletTable,org.apache.calcite.sql2rel.SqlToRelConverter.Config)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>SqlToRelConverter</h4> |
| <pre>public SqlToRelConverter​(<a href="../plan/RelOptTable.ViewExpander.html" title="interface in org.apache.calcite.plan">RelOptTable.ViewExpander</a> viewExpander, |
| <a href="../sql/validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a> validator, |
| <a href="../prepare/Prepare.CatalogReader.html" title="interface in org.apache.calcite.prepare">Prepare.CatalogReader</a> catalogReader, |
| <a href="../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a> cluster, |
| <a href="SqlRexConvertletTable.html" title="interface in org.apache.calcite.sql2rel">SqlRexConvertletTable</a> convertletTable, |
| <a href="SqlToRelConverter.Config.html" title="interface in org.apache.calcite.sql2rel">SqlToRelConverter.Config</a> config)</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="getCluster()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCluster</h4> |
| <pre class="methodSignature">public <a href="../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a> getCluster()</pre> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the RelOptCluster in use.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getRexBuilder()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getRexBuilder</h4> |
| <pre class="methodSignature">public <a href="../rex/RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> getRexBuilder()</pre> |
| <div class="block">Returns the row-expression builder.</div> |
| </li> |
| </ul> |
| <a id="getDynamicParamCount()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getDynamicParamCount</h4> |
| <pre class="methodSignature">public int getDynamicParamCount()</pre> |
| <div class="block">Returns the number of dynamic parameters encountered during translation; |
| this must only be called after <a href="#convertQuery(org.apache.calcite.sql.SqlNode,boolean,boolean)"><code>convertQuery(org.apache.calcite.sql.SqlNode, boolean, boolean)</code></a>.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>number of dynamic parameters</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getDynamicParamType(int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getDynamicParamType</h4> |
| <pre class="methodSignature">public <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> getDynamicParamType​(int index)</pre> |
| <div class="block">Returns the type inferred for a dynamic parameter.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>index</code> - 0-based index of dynamic parameter</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>inferred type, never null</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getDynamicParamCountInExplain(boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getDynamicParamCountInExplain</h4> |
| <pre class="methodSignature">public int getDynamicParamCountInExplain​(boolean increment)</pre> |
| <div class="block">Returns the current count of the number of dynamic parameters in an |
| EXPLAIN PLAN statement.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>increment</code> - if true, increment the count</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the current count before the optional increment</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getMapConvertedNonCorrSubqs()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getMapConvertedNonCorrSubqs</h4> |
| <pre class="methodSignature">public java.util.Map<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>,​<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> getMapConvertedNonCorrSubqs()</pre> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>mapping of non-correlated sub-queries that have been converted to |
| the constants that they evaluate to</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="addConvertedNonCorrSubqs(java.util.Map)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>addConvertedNonCorrSubqs</h4> |
| <pre class="methodSignature">public void addConvertedNonCorrSubqs​(java.util.Map<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>,​<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> alreadyConvertedNonCorrSubqs)</pre> |
| <div class="block">Adds to the current map of non-correlated converted sub-queries the |
| elements from another map that contains non-correlated sub-queries that |
| have been converted by another SqlToRelConverter.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>alreadyConvertedNonCorrSubqs</code> - the other map</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="setSubQueryConverter(org.apache.calcite.sql2rel.SubQueryConverter)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setSubQueryConverter</h4> |
| <pre class="methodSignature">public void setSubQueryConverter​(<a href="SubQueryConverter.html" title="interface in org.apache.calcite.sql2rel">SubQueryConverter</a> converter)</pre> |
| <div class="block">Sets a new SubQueryConverter. To have any effect, this must be called |
| before any convert method.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>converter</code> - new SubQueryConverter</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="setDynamicParamCountInExplain(int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setDynamicParamCountInExplain</h4> |
| <pre class="methodSignature">public void setDynamicParamCountInExplain​(int explainParamCount)</pre> |
| <div class="block">Sets the number of dynamic parameters in the current EXPLAIN PLAN |
| statement.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>explainParamCount</code> - number of dynamic parameters in the statement</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="checkConvertedType(org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>checkConvertedType</h4> |
| <pre class="methodSignature">private void checkConvertedType​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> query, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> result)</pre> |
| </li> |
| </ul> |
| <a id="flattenTypes(org.apache.calcite.rel.RelNode,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>flattenTypes</h4> |
| <pre class="methodSignature">public <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> flattenTypes​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rootRel, |
| boolean restructure)</pre> |
| </li> |
| </ul> |
| <a id="decorrelate(org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>decorrelate</h4> |
| <pre class="methodSignature">public <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> decorrelate​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> query, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rootRel)</pre> |
| <div class="block">If sub-query is correlated and decorrelation is enabled, performs |
| decorrelation.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>query</code> - Query</dd> |
| <dd><code>rootRel</code> - Root relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>New root relational expression after decorrelation</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="trimUnusedFields(boolean,org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>trimUnusedFields</h4> |
| <pre class="methodSignature">public <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> trimUnusedFields​(boolean ordered, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rootRel)</pre> |
| <div class="block">Walks over a tree of relational expressions, replacing each |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> with a 'slimmed down' relational expression that projects |
| only the fields required by its consumer. |
| |
| <p>This may make things easier for the optimizer, by removing crud that |
| would expand the search space, but is difficult for the optimizer itself |
| to do it, because optimizer rules must preserve the number and type of |
| fields. Hence, this transform that operates on the entire tree, similar |
| to the <a href="RelStructuredTypeFlattener.html" title="class in org.apache.calcite.sql2rel"><code>type-flattening transform</code></a>. |
| |
| <p>Currently this functionality is disabled in farrago/luciddb; the |
| default implementation of this method does nothing.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>ordered</code> - Whether the relational expression must produce results in |
| a particular order (typically because it has an ORDER BY at top level)</dd> |
| <dd><code>rootRel</code> - Relational expression that is at the root of the tree</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Trimmed relational expression</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="newFieldTrimmer()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>newFieldTrimmer</h4> |
| <pre class="methodSignature">protected <a href="RelFieldTrimmer.html" title="class in org.apache.calcite.sql2rel">RelFieldTrimmer</a> newFieldTrimmer()</pre> |
| <div class="block">Creates a RelFieldTrimmer.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Field trimmer</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertQuery(org.apache.calcite.sql.SqlNode,boolean,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertQuery</h4> |
| <pre class="methodSignature">public <a href="../rel/RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a> convertQuery​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> query, |
| boolean needsValidation, |
| boolean top)</pre> |
| <div class="block">Converts an unvalidated query's parse tree into a relational expression.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>query</code> - Query to convert</dd> |
| <dd><code>needsValidation</code> - Whether to validate the query before converting; |
| <code>false</code> if the query has already been |
| validated.</dd> |
| <dd><code>top</code> - Whether the query is top-level, say if its result |
| will become a JDBC result set; <code>false</code> if |
| the query will be part of a view.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="isStream(org.apache.calcite.sql.SqlNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isStream</h4> |
| <pre class="methodSignature">private static boolean isStream​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> query)</pre> |
| </li> |
| </ul> |
| <a id="isOrdered(org.apache.calcite.sql.SqlNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isOrdered</h4> |
| <pre class="methodSignature">public static boolean isOrdered​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> query)</pre> |
| </li> |
| </ul> |
| <a id="requiredCollation(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>requiredCollation</h4> |
| <pre class="methodSignature">private <a href="../rel/RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a> requiredCollation​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> r)</pre> |
| </li> |
| </ul> |
| <a id="convertSelect(org.apache.calcite.sql.SqlSelect,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertSelect</h4> |
| <pre class="methodSignature">public <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> convertSelect​(<a href="../sql/SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select, |
| boolean top)</pre> |
| <div class="block">Converts a SELECT statement's parse tree into a relational expression.</div> |
| </li> |
| </ul> |
| <a id="createBlackboard(org.apache.calcite.sql.validate.SqlValidatorScope,java.util.Map,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createBlackboard</h4> |
| <pre class="methodSignature">protected <a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> createBlackboard​(<a href="../sql/validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| java.util.Map<java.lang.String,​<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nameToNodeMap, |
| boolean top)</pre> |
| <div class="block">Factory method for creating translation workspace.</div> |
| </li> |
| </ul> |
| <a id="convertSelectImpl(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlSelect)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertSelectImpl</h4> |
| <pre class="methodSignature">protected void convertSelectImpl​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</pre> |
| <div class="block">Implementation of <a href="#convertSelect(org.apache.calcite.sql.SqlSelect,boolean)"><code>convertSelect(SqlSelect, boolean)</code></a>; |
| derived class may override.</div> |
| </li> |
| </ul> |
| <a id="distinctify(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>distinctify</h4> |
| <pre class="methodSignature">private void distinctify​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| boolean checkForDupExprs)</pre> |
| <div class="block">Having translated 'SELECT ... FROM ... [GROUP BY ...] [HAVING ...]', adds |
| a relational expression to make the results unique. |
| |
| <p>If the SELECT clause contains duplicate expressions, adds |
| <a href="../rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical"><code>LogicalProject</code></a>s so that we are |
| grouping on the minimal set of keys. The performance gain isn't huge, but |
| it is difficult to detect these duplicate expressions later.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>bb</code> - Blackboard</dd> |
| <dd><code>checkForDupExprs</code> - Check for duplicate expressions</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertOrder(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.rel.RelCollation,java.util.List,org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.SqlNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertOrder</h4> |
| <pre class="methodSignature">protected void convertOrder​(<a href="../sql/SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select, |
| <a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../rel/RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a> collation, |
| java.util.List<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> orderExprList, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> offset, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> fetch)</pre> |
| <div class="block">Converts a query's ORDER BY clause, if any. |
| |
| <p>Ignores the ORDER BY clause if the query is not top-level and FETCH or |
| OFFSET are not present.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>select</code> - Query</dd> |
| <dd><code>bb</code> - Blackboard</dd> |
| <dd><code>collation</code> - Collation list</dd> |
| <dd><code>orderExprList</code> - Method populates this list with orderBy expressions |
| not present in selectList</dd> |
| <dd><code>offset</code> - Expression for number of rows to discard before |
| returning first row</dd> |
| <dd><code>fetch</code> - Expression for number of rows to fetch</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="containsInOperator(org.apache.calcite.sql.SqlNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>containsInOperator</h4> |
| <pre class="methodSignature">private static boolean containsInOperator​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</pre> |
| <div class="block">Returns whether a given node contains a <a href="../sql/fun/SqlInOperator.html" title="class in org.apache.calcite.sql.fun"><code>SqlInOperator</code></a>.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>node</code> - a RexNode tree</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="pushDownNotForIn(org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>pushDownNotForIn</h4> |
| <pre class="methodSignature">private static <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> pushDownNotForIn​(<a href="../sql/validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> sqlNode)</pre> |
| <div class="block">Push down all the NOT logical operators into any IN/NOT IN operators.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>scope</code> - Scope where <code>sqlNode</code> occurs</dd> |
| <dd><code>sqlNode</code> - the root node from which to look for NOT operators</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the transformed SqlNode representation with NOT pushed down.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="reg(org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>reg</h4> |
| <pre class="methodSignature">private static <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> reg​(<a href="../sql/validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> e)</pre> |
| <div class="block">Registers with the validator a <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> that has been created |
| during the Sql-to-Rel process.</div> |
| </li> |
| </ul> |
| <a id="convertWhere(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertWhere</h4> |
| <pre class="methodSignature">private void convertWhere​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> where)</pre> |
| <div class="block">Converts a WHERE clause.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>bb</code> - Blackboard</dd> |
| <dd><code>where</code> - WHERE clause, may be null</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="replaceSubQueries(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlNode,org.apache.calcite.plan.RelOptUtil.Logic)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>replaceSubQueries</h4> |
| <pre class="methodSignature">private void replaceSubQueries​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> expr, |
| <a href="../plan/RelOptUtil.Logic.html" title="enum in org.apache.calcite.plan">RelOptUtil.Logic</a> logic)</pre> |
| </li> |
| </ul> |
| <a id="substituteSubQuery(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql2rel.SqlToRelConverter.SubQuery)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>substituteSubQuery</h4> |
| <pre class="methodSignature">private void substituteSubQuery​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="SqlToRelConverter.SubQuery.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.SubQuery</a> subQuery)</pre> |
| </li> |
| </ul> |
| <a id="translateIn(org.apache.calcite.plan.RelOptUtil.Logic,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>translateIn</h4> |
| <pre class="methodSignature">private <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> translateIn​(<a href="../plan/RelOptUtil.Logic.html" title="enum in org.apache.calcite.plan">RelOptUtil.Logic</a> logic, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> root, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> rex)</pre> |
| </li> |
| </ul> |
| <a id="containsNullLiteral(org.apache.calcite.sql.SqlNodeList)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>containsNullLiteral</h4> |
| <pre class="methodSignature">private static boolean containsNullLiteral​(<a href="../sql/SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a> valueList)</pre> |
| </li> |
| </ul> |
| <a id="convertNonCorrelatedSubQuery(org.apache.calcite.sql2rel.SqlToRelConverter.SubQuery,org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.rel.RelNode,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertNonCorrelatedSubQuery</h4> |
| <pre class="methodSignature">private boolean convertNonCorrelatedSubQuery​(<a href="SqlToRelConverter.SubQuery.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.SubQuery</a> subQuery, |
| <a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> converted, |
| boolean isExists)</pre> |
| <div class="block">Determines if a sub-query is non-correlated and if so, converts it to a |
| constant.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>subQuery</code> - the call that references the sub-query</dd> |
| <dd><code>bb</code> - blackboard used to convert the sub-query</dd> |
| <dd><code>converted</code> - RelNode tree corresponding to the sub-query</dd> |
| <dd><code>isExists</code> - true if the sub-query is part of an EXISTS expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Whether the sub-query can be converted to a constant</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertToSingleValueSubq(org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertToSingleValueSubq</h4> |
| <pre class="methodSignature">public <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> convertToSingleValueSubq​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> query, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> plan)</pre> |
| <div class="block">Converts the RelNode tree for a select statement to a select that |
| produces a single value.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>query</code> - the query</dd> |
| <dd><code>plan</code> - the original RelNode tree corresponding to the statement</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the converted RelNode tree</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertInToOr(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,java.util.List,org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.fun.SqlInOperator)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertInToOr</h4> |
| <pre class="methodSignature">private <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> convertInToOr​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> leftKeys, |
| <a href="../sql/SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a> valuesList, |
| <a href="../sql/fun/SqlInOperator.html" title="class in org.apache.calcite.sql.fun">SqlInOperator</a> op)</pre> |
| <div class="block">Converts "x IN (1, 2, ...)" to "x=1 OR x=2 OR ...".</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>leftKeys</code> - LHS</dd> |
| <dd><code>valuesList</code> - RHS</dd> |
| <dd><code>op</code> - The operator (IN, NOT IN, > SOME, ...)</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>converted expression</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="ensureSqlType(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rex.RexNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>ensureSqlType</h4> |
| <pre class="methodSignature">private <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> ensureSqlType​(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</pre> |
| <div class="block">Ensures that an expression has a given <a href="../sql/type/SqlTypeName.html" title="enum in org.apache.calcite.sql.type"><code>SqlTypeName</code></a>, applying a |
| cast if necessary. If the expression already has the right type family, |
| returns the expression unchanged.</div> |
| </li> |
| </ul> |
| <a id="getInSubqueryThreshold()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getInSubqueryThreshold</h4> |
| <pre class="methodSignature">@Deprecated |
| protected int getInSubqueryThreshold()</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| <div class="block">Gets the list size threshold under which <a href="#convertInToOr(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,java.util.List,org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.fun.SqlInOperator)"><code>convertInToOr(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard, java.util.List<org.apache.calcite.rex.RexNode>, org.apache.calcite.sql.SqlNodeList, org.apache.calcite.sql.fun.SqlInOperator)</code></a> is used. |
| Lists of this size or greater will instead be converted to use a join |
| against an inline table |
| (<a href="../rel/logical/LogicalValues.html" title="class in org.apache.calcite.rel.logical"><code>LogicalValues</code></a>) rather than a |
| predicate. A threshold of 0 forces usage of an inline table in all cases; a |
| threshold of Integer.MAX_VALUE forces usage of OR in all cases</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>threshold, default <a href="#DEFAULT_IN_SUB_QUERY_THRESHOLD"><code>DEFAULT_IN_SUB_QUERY_THRESHOLD</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="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)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertExists</h4> |
| <pre class="methodSignature">private <a href="../plan/RelOptUtil.Exists.html" title="class in org.apache.calcite.plan">RelOptUtil.Exists</a> convertExists​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> seek, |
| <a href="../plan/RelOptUtil.SubQueryType.html" title="enum in org.apache.calcite.plan">RelOptUtil.SubQueryType</a> subQueryType, |
| <a href="../plan/RelOptUtil.Logic.html" title="enum in org.apache.calcite.plan">RelOptUtil.Logic</a> logic, |
| boolean notIn, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> targetDataType)</pre> |
| <div class="block">Converts an EXISTS or IN predicate into a join. For EXISTS, the sub-query |
| produces an indicator variable, and the result is a relational expression |
| which outer joins that indicator to the original query. After performing |
| the outer join, the condition will be TRUE if the EXISTS condition holds, |
| NULL otherwise.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>seek</code> - A query, for example 'select * from emp' or |
| 'values (1,2,3)' or '('Foo', 34)'.</dd> |
| <dd><code>subQueryType</code> - Whether sub-query is IN, EXISTS or scalar</dd> |
| <dd><code>logic</code> - Whether the answer needs to be in full 3-valued logic (TRUE, |
| FALSE, UNKNOWN) will be required, or whether we can accept an |
| approximation (say representing UNKNOWN as FALSE)</dd> |
| <dd><code>notIn</code> - Whether the operation is NOT IN</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>join expression</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertQueryOrInList(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.type.RelDataType)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertQueryOrInList</h4> |
| <pre class="methodSignature">private <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> convertQueryOrInList​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> seek, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> targetRowType)</pre> |
| </li> |
| </ul> |
| <a id="convertRowValues(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlNode,java.util.Collection,boolean,org.apache.calcite.rel.type.RelDataType)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertRowValues</h4> |
| <pre class="methodSignature">private <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> convertRowValues​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> rowList, |
| java.util.Collection<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> rows, |
| boolean allowLiteralsOnly, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> targetRowType)</pre> |
| </li> |
| </ul> |
| <a id="convertLiteralInValuesList(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.rel.type.RelDataType,int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertLiteralInValuesList</h4> |
| <pre class="methodSignature">private <a href="../rex/RexLiteral.html" title="class in org.apache.calcite.rex">RexLiteral</a> convertLiteralInValuesList​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> sqlNode, |
| <a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> rowType, |
| int iField)</pre> |
| </li> |
| </ul> |
| <a id="isRowConstructor(org.apache.calcite.sql.SqlNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isRowConstructor</h4> |
| <pre class="methodSignature">private boolean isRowConstructor​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</pre> |
| </li> |
| </ul> |
| <a id="findSubQueries(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlNode,org.apache.calcite.plan.RelOptUtil.Logic,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>findSubQueries</h4> |
| <pre class="methodSignature">private void findSubQueries​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| <a href="../plan/RelOptUtil.Logic.html" title="enum in org.apache.calcite.plan">RelOptUtil.Logic</a> logic, |
| boolean registerOnlyScalarSubQueries)</pre> |
| <div class="block">Builds a list of all <code>IN</code> or <code>EXISTS</code> operators |
| inside SQL parse tree. Does not traverse inside queries.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>bb</code> - blackboard</dd> |
| <dd><code>node</code> - the SQL parse tree</dd> |
| <dd><code>logic</code> - Whether the answer needs to be in full 3-valued logic (TRUE, |
| FALSE, UNKNOWN) will be required, or whether we can accept |
| an approximation (say representing UNKNOWN as FALSE)</dd> |
| <dd><code>registerOnlyScalarSubQueries</code> - if set to true and the parse tree |
| corresponds to a variation of a select |
| node, only register it if it's a scalar |
| sub-query</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertExpression(org.apache.calcite.sql.SqlNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertExpression</h4> |
| <pre class="methodSignature">public <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> convertExpression​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</pre> |
| <div class="block">Converts an expression from <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> to <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a> format.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>node</code> - Expression to translate</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Converted expression</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertExpression(org.apache.calcite.sql.SqlNode,java.util.Map)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertExpression</h4> |
| <pre class="methodSignature">public <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> convertExpression​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| java.util.Map<java.lang.String,​<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nameToNodeMap)</pre> |
| <div class="block">Converts an expression from <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> to <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a> format, |
| mapping identifier references to predefined expressions.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>node</code> - Expression to translate</dd> |
| <dd><code>nameToNodeMap</code> - map from String to <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a>; when an |
| <a href="../sql/SqlIdentifier.html" title="class in org.apache.calcite.sql"><code>SqlIdentifier</code></a> is encountered, it is used as a |
| key and translated to the corresponding value from |
| this map</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Converted expression</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertExtendedExpression(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertExtendedExpression</h4> |
| <pre class="methodSignature">protected <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> convertExtendedExpression​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| <a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb)</pre> |
| <div class="block">Converts a non-standard expression. |
| |
| <p>This method is an extension-point that derived classes can override. If |
| this method returns a null result, the normal expression translation |
| process will proceed. The default implementation always returns null.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>node</code> - Expression</dd> |
| <dd><code>bb</code> - Blackboard</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>null to proceed with the usual expression translation process</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertOver(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertOver</h4> |
| <pre class="methodSignature">private <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> convertOver​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</pre> |
| </li> |
| </ul> |
| <a id="convertFrom(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertFrom</h4> |
| <pre class="methodSignature">protected void convertFrom​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> from)</pre> |
| <div class="block">Converts a FROM clause into a relational expression.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>bb</code> - Scope within which to resolve identifiers</dd> |
| <dd><code>from</code> - FROM clause of a query. Examples include: |
| |
| <ul> |
| <li>a single table ("SALES.EMP"), |
| <li>an aliased table ("EMP AS E"), |
| <li>a list of tables ("EMP, DEPT"), |
| <li>an ANSI Join expression ("EMP JOIN DEPT ON EMP.DEPTNO = |
| DEPT.DEPTNO"), |
| <li>a VALUES clause ("VALUES ('Fred', 20)"), |
| <li>a query ("(SELECT * FROM EMP WHERE GENDER = 'F')"), |
| <li>or any combination of the above. |
| </ul></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertMatchRecognize(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlCall)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertMatchRecognize</h4> |
| <pre class="methodSignature">protected void convertMatchRecognize​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call)</pre> |
| </li> |
| </ul> |
| <a id="convertIdentifier(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.SqlNodeList)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertIdentifier</h4> |
| <pre class="methodSignature">private void convertIdentifier​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a> id, |
| <a href="../sql/SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a> extendedColumns)</pre> |
| </li> |
| </ul> |
| <a id="convertCollectionTable(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlCall)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertCollectionTable</h4> |
| <pre class="methodSignature">protected void convertCollectionTable​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call)</pre> |
| </li> |
| </ul> |
| <a id="afterTableFunction(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlCall,org.apache.calcite.rel.logical.LogicalTableFunctionScan)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>afterTableFunction</h4> |
| <pre class="methodSignature">protected void afterTableFunction​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call, |
| <a href="../rel/logical/LogicalTableFunctionScan.html" title="class in org.apache.calcite.rel.logical">LogicalTableFunctionScan</a> callRel)</pre> |
| </li> |
| </ul> |
| <a id="snapshotTemporalTable(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlCall)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>snapshotTemporalTable</h4> |
| <pre class="methodSignature">private void snapshotTemporalTable​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call)</pre> |
| </li> |
| </ul> |
| <a id="getColumnMappings(org.apache.calcite.sql.SqlOperator)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getColumnMappings</h4> |
| <pre class="methodSignature">private java.util.Set<<a href="../rel/metadata/RelColumnMapping.html" title="class in org.apache.calcite.rel.metadata">RelColumnMapping</a>> getColumnMappings​(<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a> op)</pre> |
| </li> |
| </ul> |
| <a id="createJoin(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createJoin</h4> |
| <pre class="methodSignature">protected <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createJoin​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <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> joinCond, |
| <a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a> joinType)</pre> |
| </li> |
| </ul> |
| <a id="getCorrelationUse(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCorrelationUse</h4> |
| <pre class="methodSignature">private <a href="SqlToRelConverter.CorrelationUse.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.CorrelationUse</a> getCorrelationUse​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> r0)</pre> |
| </li> |
| </ul> |
| <a id="isSubQueryNonCorrelated(org.apache.calcite.rel.RelNode,org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isSubQueryNonCorrelated</h4> |
| <pre class="methodSignature">private boolean isSubQueryNonCorrelated​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> subq, |
| <a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb)</pre> |
| <div class="block">Determines whether a sub-query is non-correlated. Note that a |
| non-correlated sub-query can contain correlated references, provided those |
| references do not reference select statements that are parents of the |
| sub-query.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>subq</code> - the sub-query</dd> |
| <dd><code>bb</code> - blackboard used while converting the sub-query, i.e., the |
| blackboard of the parent query of this sub-query</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>true if the sub-query is non-correlated</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getSystemFields()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getSystemFields</h4> |
| <pre class="methodSignature">protected java.util.List<<a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>> getSystemFields()</pre> |
| <div class="block">Returns a list of fields to be prefixed to each relational expression.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>List of system fields</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertJoinCondition(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.validate.SqlValidatorNamespace,org.apache.calcite.sql.validate.SqlValidatorNamespace,org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.JoinConditionType,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertJoinCondition</h4> |
| <pre class="methodSignature">private <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> convertJoinCondition​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/validate/SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorNamespace</a> leftNamespace, |
| <a href="../sql/validate/SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorNamespace</a> rightNamespace, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> condition, |
| <a href="../sql/JoinConditionType.html" title="enum in org.apache.calcite.sql">JoinConditionType</a> conditionType, |
| <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)</pre> |
| </li> |
| </ul> |
| <a id="convertUsing(org.apache.calcite.sql.validate.SqlValidatorNamespace,org.apache.calcite.sql.validate.SqlValidatorNamespace,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertUsing</h4> |
| <pre class="methodSignature">@Nonnull |
| private <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> convertUsing​(<a href="../sql/validate/SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorNamespace</a> leftNamespace, |
| <a href="../sql/validate/SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorNamespace</a> rightNamespace, |
| java.util.List<java.lang.String> nameList)</pre> |
| <div class="block">Returns an expression for matching columns of a USING clause or inferred |
| from NATURAL JOIN. "a JOIN b USING (x, y)" becomes "a.x = b.x AND a.y = |
| b.y". Returns null if the column list is empty.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>leftNamespace</code> - Namespace of left input to join</dd> |
| <dd><code>rightNamespace</code> - Namespace of right input to join</dd> |
| <dd><code>nameList</code> - List of column names to join on</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Expression to match columns from name list, or true if name list |
| is empty</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertJoinType(org.apache.calcite.sql.JoinType)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertJoinType</h4> |
| <pre class="methodSignature">private static <a href="../rel/core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a> convertJoinType​(<a href="../sql/JoinType.html" title="enum in org.apache.calcite.sql">JoinType</a> joinType)</pre> |
| </li> |
| </ul> |
| <a id="convertAgg(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlSelect,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertAgg</h4> |
| <pre class="methodSignature">protected void convertAgg​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select, |
| java.util.List<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> orderExprList)</pre> |
| <div class="block">Converts the SELECT, GROUP BY and HAVING clauses of an aggregate query. |
| |
| <p>This method extracts SELECT, GROUP BY and HAVING clauses, and creates |
| an <a href="SqlToRelConverter.AggConverter.html" title="class in org.apache.calcite.sql2rel"><code>SqlToRelConverter.AggConverter</code></a>, then delegates to <a href="#createAggImpl(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql2rel.SqlToRelConverter.AggConverter,org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.SqlNode,java.util.List)"><code>createAggImpl(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard, org.apache.calcite.sql2rel.SqlToRelConverter.AggConverter, org.apache.calcite.sql.SqlNodeList, org.apache.calcite.sql.SqlNodeList, org.apache.calcite.sql.SqlNode, java.util.List<org.apache.calcite.sql.SqlNode>)</code></a>. |
| Derived class may override this method to change any of those clauses or |
| specify a different <a href="SqlToRelConverter.AggConverter.html" title="class in org.apache.calcite.sql2rel"><code>SqlToRelConverter.AggConverter</code></a>.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>bb</code> - Scope within which to resolve identifiers</dd> |
| <dd><code>select</code> - Query</dd> |
| <dd><code>orderExprList</code> - Additional expressions needed to implement ORDER BY</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="createAggImpl(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql2rel.SqlToRelConverter.AggConverter,org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.SqlNode,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createAggImpl</h4> |
| <pre class="methodSignature">protected final void createAggImpl​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="SqlToRelConverter.AggConverter.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.AggConverter</a> aggConverter, |
| <a href="../sql/SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a> selectList, |
| <a href="../sql/SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a> groupList, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> having, |
| java.util.List<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> orderExprList)</pre> |
| </li> |
| </ul> |
| <a id="createAggregate(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.util.ImmutableBitSet,com.google.common.collect.ImmutableList,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createAggregate</h4> |
| <pre class="methodSignature">protected <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createAggregate​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a> groupSet, |
| com.google.common.collect.ImmutableList<<a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>> groupSets, |
| java.util.List<<a href="../rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>> aggCalls)</pre> |
| <div class="block">Creates an Aggregate. |
| |
| <p>In case the aggregate rel changes the order in which it projects |
| fields, the <code>groupExprProjection</code> parameter is provided, and |
| the implementation of this method may modify it. |
| |
| <p>The <code>sortedCount</code> parameter is the number of expressions |
| known to be monotonic. These expressions must be on the leading edge of |
| the grouping keys. The default implementation of this method ignores this |
| parameter.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>bb</code> - Blackboard</dd> |
| <dd><code>groupSet</code> - Bit set of ordinals of grouping columns</dd> |
| <dd><code>groupSets</code> - Grouping sets</dd> |
| <dd><code>aggCalls</code> - Array of calls to aggregate functions</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>LogicalAggregate</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertDynamicParam(org.apache.calcite.sql.SqlDynamicParam)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertDynamicParam</h4> |
| <pre class="methodSignature">public <a href="../rex/RexDynamicParam.html" title="class in org.apache.calcite.rex">RexDynamicParam</a> convertDynamicParam​(<a href="../sql/SqlDynamicParam.html" title="class in org.apache.calcite.sql">SqlDynamicParam</a> dynamicParam)</pre> |
| </li> |
| </ul> |
| <a id="gatherOrderExprs(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.SqlNodeList,java.util.List,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>gatherOrderExprs</h4> |
| <pre class="methodSignature">protected void gatherOrderExprs​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select, |
| <a href="../sql/SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a> orderList, |
| java.util.List<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> extraOrderExprs, |
| java.util.List<<a href="../rel/RelFieldCollation.html" title="class in org.apache.calcite.rel">RelFieldCollation</a>> collationList)</pre> |
| <div class="block">Creates a list of collations required to implement the ORDER BY clause, |
| if there is one. Populates <code>extraOrderExprs</code> with any sort |
| expressions which are not in the select clause.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>bb</code> - Scope within which to resolve identifiers</dd> |
| <dd><code>select</code> - Select clause. Never null, because we invent a |
| dummy SELECT if ORDER BY is applied to a set |
| operation (UNION etc.)</dd> |
| <dd><code>orderList</code> - Order by clause, may be null</dd> |
| <dd><code>extraOrderExprs</code> - Sort expressions which are not in the select |
| clause (output)</dd> |
| <dd><code>collationList</code> - List of collations (output)</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertOrderItem(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.SqlNode,java.util.List,org.apache.calcite.rel.RelFieldCollation.Direction,org.apache.calcite.rel.RelFieldCollation.NullDirection)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertOrderItem</h4> |
| <pre class="methodSignature">protected <a href="../rel/RelFieldCollation.html" title="class in org.apache.calcite.rel">RelFieldCollation</a> convertOrderItem​(<a href="../sql/SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select, |
| <a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> orderItem, |
| java.util.List<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> extraExprs, |
| <a href="../rel/RelFieldCollation.Direction.html" title="enum in org.apache.calcite.rel">RelFieldCollation.Direction</a> direction, |
| <a href="../rel/RelFieldCollation.NullDirection.html" title="enum in org.apache.calcite.rel">RelFieldCollation.NullDirection</a> nullDirection)</pre> |
| </li> |
| </ul> |
| <a id="desc(org.apache.calcite.rel.RelFieldCollation.Direction)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>desc</h4> |
| <pre class="methodSignature">private static boolean desc​(<a href="../rel/RelFieldCollation.Direction.html" title="enum in org.apache.calcite.rel">RelFieldCollation.Direction</a> direction)</pre> |
| </li> |
| </ul> |
| <a id="enableDecorrelation()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>enableDecorrelation</h4> |
| <pre class="methodSignature">@Deprecated |
| protected boolean enableDecorrelation()</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="decorrelateQuery(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>decorrelateQuery</h4> |
| <pre class="methodSignature">protected <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> decorrelateQuery​(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rootRel)</pre> |
| </li> |
| </ul> |
| <a id="isTrimUnusedFields()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isTrimUnusedFields</h4> |
| <pre class="methodSignature">@Deprecated |
| public boolean isTrimUnusedFields()</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| <div class="block">Returns whether to trim unused fields as part of the conversion process.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Whether to trim unused fields</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertQueryRecursive(org.apache.calcite.sql.SqlNode,boolean,org.apache.calcite.rel.type.RelDataType)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertQueryRecursive</h4> |
| <pre class="methodSignature">protected <a href="../rel/RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a> convertQueryRecursive​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> query, |
| boolean top, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> targetRowType)</pre> |
| <div class="block">Recursively converts a query to a relational expression.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>query</code> - Query</dd> |
| <dd><code>top</code> - Whether this query is the top-level query of the |
| statement</dd> |
| <dd><code>targetRowType</code> - Target row type, or null</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Relational expression</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertSetOp(org.apache.calcite.sql.SqlCall)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertSetOp</h4> |
| <pre class="methodSignature">protected <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> convertSetOp​(<a href="../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call)</pre> |
| <div class="block">Converts a set operation (UNION, INTERSECT, MINUS) into relational |
| expressions.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>call</code> - Call to set operator</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Relational expression</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="all(org.apache.calcite.sql.SqlCall)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>all</h4> |
| <pre class="methodSignature">private boolean all​(<a href="../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call)</pre> |
| </li> |
| </ul> |
| <a id="convertInsert(org.apache.calcite.sql.SqlInsert)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertInsert</h4> |
| <pre class="methodSignature">protected <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> convertInsert​(<a href="../sql/SqlInsert.html" title="class in org.apache.calcite.sql">SqlInsert</a> call)</pre> |
| </li> |
| </ul> |
| <a id="createModify(org.apache.calcite.plan.RelOptTable,org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createModify</h4> |
| <pre class="methodSignature">private <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createModify​(<a href="../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a> targetTable, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> source)</pre> |
| <div class="block">Creates a relational expression to modify a table or modifiable view.</div> |
| </li> |
| </ul> |
| <a id="createSource(org.apache.calcite.plan.RelOptTable,org.apache.calcite.rel.RelNode,org.apache.calcite.schema.ModifiableView,org.apache.calcite.rel.type.RelDataType)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createSource</h4> |
| <pre class="methodSignature">private <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> createSource​(<a href="../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a> targetTable, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> source, |
| <a href="../schema/ModifiableView.html" title="interface in org.apache.calcite.schema">ModifiableView</a> modifiableView, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> delegateRowType)</pre> |
| <div class="block">Wraps a relational expression in the projects and filters implied by |
| a <a href="../schema/ModifiableView.html" title="interface in org.apache.calcite.schema"><code>ModifiableView</code></a>. |
| |
| <p>The input relational expression is suitable for inserting into the view, |
| and the returned relational expression is suitable for inserting into its |
| delegate table. |
| |
| <p>In principle, the delegate table of a view might be another modifiable |
| view, and if so, the process can be repeated.</div> |
| </li> |
| </ul> |
| <a id="createToRelContext()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createToRelContext</h4> |
| <pre class="methodSignature">private <a href="../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a> createToRelContext()</pre> |
| </li> |
| </ul> |
| <a id="toRel(org.apache.calcite.plan.RelOptTable)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>toRel</h4> |
| <pre class="methodSignature">public <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> toRel​(<a href="../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a> table)</pre> |
| </li> |
| </ul> |
| <a id="getTargetTable(org.apache.calcite.sql.SqlNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getTargetTable</h4> |
| <pre class="methodSignature">protected <a href="../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a> getTargetTable​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> call)</pre> |
| </li> |
| </ul> |
| <a id="convertColumnList(org.apache.calcite.sql.SqlInsert,org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertColumnList</h4> |
| <pre class="methodSignature">protected <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> convertColumnList​(<a href="../sql/SqlInsert.html" title="class in org.apache.calcite.sql">SqlInsert</a> call, |
| <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> source)</pre> |
| <div class="block">Creates a source for an INSERT statement. |
| |
| <p>If the column list is not specified, source expressions match target |
| columns in order. |
| |
| <p>If the column list is specified, Source expressions are mapped to |
| target columns by name via targetColumnList, and may not cover the entire |
| target table. So, we'll make up a full row, using a combination of |
| default values and the source expressions provided.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>call</code> - Insert expression</dd> |
| <dd><code>source</code> - Source relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Converted INSERT statement</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="createInsertBlackboard(org.apache.calcite.plan.RelOptTable,org.apache.calcite.rex.RexNode,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createInsertBlackboard</h4> |
| <pre class="methodSignature">private <a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> createInsertBlackboard​(<a href="../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a> targetTable, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> sourceRef, |
| java.util.List<java.lang.String> targetColumnNames)</pre> |
| <div class="block">Creates a blackboard for translating the expressions of generated columns |
| in an INSERT statement.</div> |
| </li> |
| </ul> |
| <a id="getInitializerFactory(org.apache.calcite.sql.validate.SqlValidatorTable)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getInitializerFactory</h4> |
| <pre class="methodSignature">private <a href="InitializerExpressionFactory.html" title="interface in org.apache.calcite.sql2rel">InitializerExpressionFactory</a> getInitializerFactory​(<a href="../sql/validate/SqlValidatorTable.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorTable</a> validatorTable)</pre> |
| </li> |
| </ul> |
| <a id="unwrap(java.lang.Object,java.lang.Class)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>unwrap</h4> |
| <pre class="methodSignature">private static <T> T unwrap​(java.lang.Object o, |
| java.lang.Class<T> clazz)</pre> |
| </li> |
| </ul> |
| <a id="castNullLiteralIfNeeded(org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>castNullLiteralIfNeeded</h4> |
| <pre class="methodSignature">private <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> castNullLiteralIfNeeded​(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</pre> |
| </li> |
| </ul> |
| <a id="collectInsertTargets(org.apache.calcite.sql.SqlInsert,org.apache.calcite.rex.RexNode,java.util.List,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>collectInsertTargets</h4> |
| <pre class="methodSignature">protected void collectInsertTargets​(<a href="../sql/SqlInsert.html" title="class in org.apache.calcite.sql">SqlInsert</a> call, |
| <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> sourceRef, |
| java.util.List<java.lang.String> targetColumnNames, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> columnExprs)</pre> |
| <div class="block">Given an INSERT statement, collects the list of names to be populated and |
| the expressions to put in them.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>call</code> - Insert statement</dd> |
| <dd><code>sourceRef</code> - Expression representing a row from the source |
| relational expression</dd> |
| <dd><code>targetColumnNames</code> - List of target column names, to be populated</dd> |
| <dd><code>columnExprs</code> - List of expressions, to be populated</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertDelete(org.apache.calcite.sql.SqlDelete)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertDelete</h4> |
| <pre class="methodSignature">private <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> convertDelete​(<a href="../sql/SqlDelete.html" title="class in org.apache.calcite.sql">SqlDelete</a> call)</pre> |
| </li> |
| </ul> |
| <a id="convertUpdate(org.apache.calcite.sql.SqlUpdate)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertUpdate</h4> |
| <pre class="methodSignature">private <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> convertUpdate​(<a href="../sql/SqlUpdate.html" title="class in org.apache.calcite.sql">SqlUpdate</a> call)</pre> |
| </li> |
| </ul> |
| <a id="convertMerge(org.apache.calcite.sql.SqlMerge)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertMerge</h4> |
| <pre class="methodSignature">private <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> convertMerge​(<a href="../sql/SqlMerge.html" title="class in org.apache.calcite.sql">SqlMerge</a> call)</pre> |
| </li> |
| </ul> |
| <a id="convertIdentifier(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlIdentifier)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertIdentifier</h4> |
| <pre class="methodSignature">private <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> convertIdentifier​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a> identifier)</pre> |
| <div class="block">Converts an identifier into an expression in a given scope. For example, |
| the "empno" in "select empno from emp join dept" becomes "emp.empno".</div> |
| </li> |
| </ul> |
| <a id="adjustInputRef(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.rex.RexInputRef)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>adjustInputRef</h4> |
| <pre class="methodSignature">protected <a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> adjustInputRef​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a> inputRef)</pre> |
| <div class="block">Adjusts the type of a reference to an input field to account for nulls |
| introduced by outer joins; and adjusts the offset to match the physical |
| implementation.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>bb</code> - Blackboard</dd> |
| <dd><code>inputRef</code> - Input ref</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Adjusted input ref</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertRowConstructor(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlCall)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertRowConstructor</h4> |
| <pre class="methodSignature">private <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> convertRowConstructor​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> rowConstructor)</pre> |
| <div class="block">Converts a row constructor into a relational expression.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>bb</code> - Blackboard</dd> |
| <dd><code>rowConstructor</code> - Row constructor expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Relational expression which returns a single row.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertCursor(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql2rel.SqlToRelConverter.SubQuery)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertCursor</h4> |
| <pre class="methodSignature">private <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> convertCursor​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="SqlToRelConverter.SubQuery.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.SubQuery</a> subQuery)</pre> |
| </li> |
| </ul> |
| <a id="convertMultisets(java.util.List,org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertMultisets</h4> |
| <pre class="methodSignature">private <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> convertMultisets​(java.util.List<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> operands, |
| <a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb)</pre> |
| </li> |
| </ul> |
| <a id="convertSelectList(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlSelect,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertSelectList</h4> |
| <pre class="methodSignature">private void convertSelectList​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select, |
| java.util.List<<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> orderList)</pre> |
| </li> |
| </ul> |
| <a id="extraSelectItems(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlSelect,java.util.List,java.util.List,java.util.Collection,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>extraSelectItems</h4> |
| <pre class="methodSignature">protected void extraSelectItems​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select, |
| java.util.List<<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprList, |
| java.util.List<java.lang.String> nameList, |
| java.util.Collection<java.lang.String> aliasList, |
| java.util.List<<a href="../sql/validate/SqlMonotonicity.html" title="enum in org.apache.calcite.sql.validate">SqlMonotonicity</a>> columnMonotonicityList)</pre> |
| <div class="block">Adds extra select items. The default implementation adds nothing; derived |
| classes may add columns to exprList, nameList, aliasList and |
| columnMonotonicityList.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>bb</code> - Blackboard</dd> |
| <dd><code>select</code> - Select statement being translated</dd> |
| <dd><code>exprList</code> - List of expressions in select clause</dd> |
| <dd><code>nameList</code> - List of names, one per column</dd> |
| <dd><code>aliasList</code> - Collection of aliases that have been used |
| already</dd> |
| <dd><code>columnMonotonicityList</code> - List of monotonicity, one per column</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="deriveAlias(org.apache.calcite.sql.SqlNode,java.util.Collection,int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>deriveAlias</h4> |
| <pre class="methodSignature">private java.lang.String deriveAlias​(<a href="../sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| java.util.Collection<java.lang.String> aliases, |
| int ordinal)</pre> |
| </li> |
| </ul> |
| <a id="convertWith(org.apache.calcite.sql.SqlWith,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertWith</h4> |
| <pre class="methodSignature">public <a href="../rel/RelRoot.html" title="class in org.apache.calcite.rel">RelRoot</a> convertWith​(<a href="../sql/SqlWith.html" title="class in org.apache.calcite.sql">SqlWith</a> with, |
| boolean top)</pre> |
| <div class="block">Converts a WITH sub-query into a relational expression.</div> |
| </li> |
| </ul> |
| <a id="convertValues(org.apache.calcite.sql.SqlCall,org.apache.calcite.rel.type.RelDataType)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertValues</h4> |
| <pre class="methodSignature">public <a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> convertValues​(<a href="../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> values, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> targetRowType)</pre> |
| <div class="block">Converts a SELECT statement's parse tree into a relational expression.</div> |
| </li> |
| </ul> |
| <a id="convertValuesImpl(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard,org.apache.calcite.sql.SqlCall,org.apache.calcite.rel.type.RelDataType)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertValuesImpl</h4> |
| <pre class="methodSignature">private void convertValuesImpl​(<a href="SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a> bb, |
| <a href="../sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> values, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> targetRowType)</pre> |
| <div class="block">Converts a values clause (as in "INSERT INTO T(x,y) VALUES (1,2)") into a |
| relational expression.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>bb</code> - Blackboard</dd> |
| <dd><code>values</code> - Call to SQL VALUES operator</dd> |
| <dd><code>targetRowType</code> - Target row type</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="negate(org.apache.calcite.sql.fun.SqlQuantifyOperator)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>negate</h4> |
| <pre class="methodSignature">private <a href="../sql/fun/SqlQuantifyOperator.html" title="class in org.apache.calcite.sql.fun">SqlQuantifyOperator</a> negate​(<a href="../sql/fun/SqlQuantifyOperator.html" title="class in org.apache.calcite.sql.fun">SqlQuantifyOperator</a> operator)</pre> |
| </li> |
| </ul> |
| <a id="configBuilder()"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>configBuilder</h4> |
| <pre class="methodSignature">public static <a href="SqlToRelConverter.ConfigBuilder.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.ConfigBuilder</a> configBuilder()</pre> |
| <div class="block">Creates a builder for a <a href="SqlToRelConverter.Config.html" title="interface in org.apache.calcite.sql2rel"><code>SqlToRelConverter.Config</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/SqlToRelConverter.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> |