| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc --> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>AbstractRelNode (Apache Calcite calcite API)</title> |
| <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style"> |
| <script type="text/javascript" src="../../../../script.js"></script> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| try { |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="AbstractRelNode (Apache Calcite calcite API)"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":42,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":42,"i18":10,"i19":10,"i20":42,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":42,"i27":10,"i28":10,"i29":42,"i30":10,"i31":10,"i32":10,"i33":10,"i34":42,"i35":10,"i36":42,"i37":10,"i38":42,"i39":42,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":9,"i47":10}; |
| 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"; |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a name="navbar.top"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> |
| <a name="navbar.top.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../help-doc.html">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><b>Apache Calcite</b></div> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li>Prev Class</li> |
| <li><a href="../../../../org/apache/calcite/rel/BiRel.html" title="class in org.apache.calcite.rel"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../index.html?org/apache/calcite/rel/AbstractRelNode.html" target="_top">Frames</a></li> |
| <li><a href="AbstractRelNode.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../../allclasses-noframe.html">All Classes</a></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> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </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 name="skip.navbar.top"> |
| <!-- --> |
| </a></div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="subTitle">org.apache.calcite.rel</div> |
| <h2 title="Class AbstractRelNode" class="title">Class AbstractRelNode</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li> |
| <li> |
| <ul class="inheritance"> |
| <li>org.apache.calcite.rel.AbstractRelNode</li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <dl> |
| <dt>All Implemented Interfaces:</dt> |
| <dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a>, <a href="../../../../org/apache/calcite/plan/RelOptNode.html" title="interface in org.apache.calcite.plan">RelOptNode</a>, <a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></dd> |
| </dl> |
| <dl> |
| <dt>Direct Known Subclasses:</dt> |
| <dd><a href="../../../../org/apache/calcite/rel/BiRel.html" title="class in org.apache.calcite.rel">BiRel</a>, <a href="../../../../org/apache/calcite/adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid">DruidQuery</a>, <a href="../../../../org/apache/calcite/plan/hep/HepRelVertex.html" title="class in org.apache.calcite.plan.hep">HepRelVertex</a>, <a href="../../../../org/apache/calcite/rel/rules/MultiJoin.html" title="class in org.apache.calcite.rel.rules">MultiJoin</a>, <a href="../../../../org/apache/calcite/plan/volcano/RelSubset.html" title="class in org.apache.calcite.plan.volcano">RelSubset</a>, <a href="../../../../org/apache/calcite/rel/core/SetOp.html" title="class in org.apache.calcite.rel.core">SetOp</a>, <a href="../../../../org/apache/calcite/rel/SingleRel.html" title="class in org.apache.calcite.rel">SingleRel</a>, <a href="../../../../org/apache/calcite/rel/core/TableFunctionScan.html" title="class in org.apache.calcite.rel.core">TableFunctionScan</a>, <a href="../../../../org/apache/calcite/rel/core/TableScan.html" title="class in org.apache.calcite.rel.core">TableScan</a>, <a href="../../../../org/apache/calcite/rel/core/Values.html" title="class in org.apache.calcite.rel.core">Values</a></dd> |
| </dl> |
| <hr> |
| <br> |
| <pre>public abstract class <span class="typeNameLabel">AbstractRelNode</span> |
| extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> |
| implements <a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></pre> |
| <div class="block">Base class for every relational expression (<a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>).</div> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ======== NESTED CLASS SUMMARY ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="nested.class.summary"> |
| <!-- --> |
| </a> |
| <h3>Nested Class Summary</h3> |
| <ul class="blockList"> |
| <li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.calcite.rel.RelNode"> |
| <!-- --> |
| </a> |
| <h3>Nested classes/interfaces inherited from interface org.apache.calcite.rel.<a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></h3> |
| <code><a href="../../../../org/apache/calcite/rel/RelNode.Context.html" title="interface in org.apache.calcite.rel">RelNode.Context</a></code></li> |
| </ul> |
| </li> |
| </ul> |
| <!-- =========== FIELD SUMMARY =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="field.summary"> |
| <!-- --> |
| </a> |
| <h3>Field Summary</h3> |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation"> |
| <caption><span>Fields</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colLast" scope="col">Field and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/plan/RelDigest.html" title="interface in org.apache.calcite.plan">RelDigest</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#digest">digest</a></span></code> |
| <div class="block">The digest that uniquely identifies the node.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>protected int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#id">id</a></span></code> |
| <div class="block">unique id of this object -- for debugging</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#rowType">rowType</a></span></code> |
| <div class="block">Cached type of this relational expression.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#traitSet">traitSet</a></span></code> |
| <div class="block">The RelTraitSet that describes the traits of this RelNode.</div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor.summary"> |
| <!-- --> |
| </a> |
| <h3>Constructor Summary</h3> |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> |
| <caption><span>Constructors</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colOne" scope="col">Constructor and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#AbstractRelNode-org.apache.calcite.plan.RelOptCluster-org.apache.calcite.plan.RelTraitSet-">AbstractRelNode</a></span>(<a href="../../../../org/apache/calcite/plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a> cluster, |
| <a href="../../../../org/apache/calcite/plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> traitSet)</code> |
| <div class="block">Creates an <code>AbstractRelNode</code>.</div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method.summary"> |
| <!-- --> |
| </a> |
| <h3>Method Summary</h3> |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> |
| <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="colLast" scope="col">Method and Description</th> |
| </tr> |
| <tr id="i0" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#accept-org.apache.calcite.rel.RelShuttle-">accept</a></span>(<a href="../../../../org/apache/calcite/rel/RelShuttle.html" title="interface in org.apache.calcite.rel">RelShuttle</a> shuttle)</code> |
| <div class="block">Accepts a visit from a shuttle.</div> |
| </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#accept-org.apache.calcite.rex.RexShuttle-">accept</a></span>(<a href="../../../../org/apache/calcite/rex/RexShuttle.html" title="class in org.apache.calcite.rex">RexShuttle</a> shuttle)</code> |
| <div class="block">Accepts a visit from a shuttle.</div> |
| </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#childrenAccept-org.apache.calcite.rel.RelVisitor-">childrenAccept</a></span>(<a href="../../../../org/apache/calcite/rel/RelVisitor.html" title="class in org.apache.calcite.rel">RelVisitor</a> visitor)</code> |
| <div class="block">Interacts with the <a href="../../../../org/apache/calcite/rel/RelVisitor.html" title="class in org.apache.calcite.rel"><code>RelVisitor</code></a> in a |
| <a href="../../../../org/apache/calcite/util/Glossary.html#VISITOR_PATTERN"><code>visitor pattern</code></a> to |
| traverse the tree of relational expressions.</div> |
| </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#collectVariablesSet-java.util.Set-">collectVariablesSet</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../org/apache/calcite/rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>> variableSet)</code> |
| <div class="block">Collects variables set by this expression.</div> |
| </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#collectVariablesUsed-java.util.Set-">collectVariablesUsed</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../org/apache/calcite/rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>> variableSet)</code> |
| <div class="block">Collects variables known to be used by this expression or its |
| descendants.</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../org/apache/calcite/plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#computeSelfCost-org.apache.calcite.plan.RelOptPlanner-">computeSelfCost</a></span>(<a href="../../../../org/apache/calcite/plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</code> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> </div> |
| </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../org/apache/calcite/plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#computeSelfCost-org.apache.calcite.plan.RelOptPlanner-org.apache.calcite.rel.metadata.RelMetadataQuery-">computeSelfCost</a></span>(<a href="../../../../org/apache/calcite/plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner, |
| <a href="../../../../org/apache/calcite/rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a> mq)</code> |
| <div class="block">Returns the cost of this plan (not including children).</div> |
| </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#copy-org.apache.calcite.plan.RelTraitSet-java.util.List-">copy</a></span>(<a href="../../../../org/apache/calcite/plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> traitSet, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>> inputs)</code> |
| <div class="block">Creates a copy of this relational expression, perhaps changing traits and |
| inputs.</div> |
| </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#deriveRowType--">deriveRowType</a></span>()</code> </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code>protected boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#digestEquals-java.lang.Object-">digestEquals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> obj)</code> |
| <div class="block">Equality check for RelNode digest.</div> |
| </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code>protected int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#digestHash--">digestHash</a></span>()</code> |
| <div class="block">Compute hash code for RelNode digest.</div> |
| </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> obj)</code></td> |
| </tr> |
| <tr id="i12" class="altColor"> |
| <td class="colFirst"><code>double</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#estimateRowCount-org.apache.calcite.rel.metadata.RelMetadataQuery-">estimateRowCount</a></span>(<a href="../../../../org/apache/calcite/rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a> mq)</code> |
| <div class="block">Returns an estimate of the number of rows this relational expression will |
| return.</div> |
| </td> |
| </tr> |
| <tr id="i13" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#explain-org.apache.calcite.rel.RelWriter-">explain</a></span>(<a href="../../../../org/apache/calcite/rel/RelWriter.html" title="interface in org.apache.calcite.rel">RelWriter</a> pw)</code> |
| <div class="block">Describes the inputs and attributes of this relational expression.</div> |
| </td> |
| </tr> |
| <tr id="i14" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../org/apache/calcite/rel/RelWriter.html" title="interface in org.apache.calcite.rel">RelWriter</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#explainTerms-org.apache.calcite.rel.RelWriter-">explainTerms</a></span>(<a href="../../../../org/apache/calcite/rel/RelWriter.html" title="interface in org.apache.calcite.rel">RelWriter</a> pw)</code> |
| <div class="block">Describes the inputs and attributes of this relational expression.</div> |
| </td> |
| </tr> |
| <tr id="i15" class="rowColor"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../org/apache/calcite/rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#getChildExps--">getChildExps</a></span>()</code> |
| <div class="block">Returns a list of this relational expression's child expressions.</div> |
| </td> |
| </tr> |
| <tr id="i16" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../org/apache/calcite/plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#getCluster--">getCluster</a></span>()</code> |
| <div class="block">Returns the cluster this relational expression belongs to.</div> |
| </td> |
| </tr> |
| <tr id="i17" class="rowColor"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../org/apache/calcite/rel/RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#getCollationList--">getCollationList</a></span>()</code> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="block"><span class="deprecationComment">Use <a href="../../../../org/apache/calcite/rel/metadata/RelMetadataQuery.html#collations-org.apache.calcite.rel.RelNode-"><code>RelMetadataQuery.collations(RelNode)</code></a></span></div> |
| </div> |
| </td> |
| </tr> |
| <tr id="i18" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../org/apache/calcite/plan/Convention.html" title="interface in org.apache.calcite.plan">Convention</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#getConvention--">getConvention</a></span>()</code> |
| <div class="block">Return the CallingConvention trait from this RelNode's |
| <a href="../../../../org/apache/calcite/plan/RelOptNode.html#getTraitSet--"><code>trait set</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i19" class="rowColor"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#getCorrelVariable--">getCorrelVariable</a></span>()</code> |
| <div class="block">Returns the name of the variable which is to be implicitly set at runtime |
| each time a row is returned from the first input of this relational |
| expression; or null if there is no variable.</div> |
| </td> |
| </tr> |
| <tr id="i20" class="altColor"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#getDescription--">getDescription</a></span>()</code> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> </div> |
| </td> |
| </tr> |
| <tr id="i21" class="rowColor"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#getDigest--">getDigest</a></span>()</code> |
| <div class="block">Returns a string which concisely describes the definition of this |
| relational expression.</div> |
| </td> |
| </tr> |
| <tr id="i22" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#getExpectedInputRowType-int-">getExpectedInputRowType</a></span>(int ordinalInParent)</code> |
| <div class="block">Returns the type of the rows expected for an input.</div> |
| </td> |
| </tr> |
| <tr id="i23" class="rowColor"> |
| <td class="colFirst"><code>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#getId--">getId</a></span>()</code> |
| <div class="block">Returns the ID of this relational expression, unique among all relational |
| expressions created since the server was started.</div> |
| </td> |
| </tr> |
| <tr id="i24" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#getInput-int-">getInput</a></span>(int i)</code> |
| <div class="block">Returns the <code>i</code><sup>th</sup> input relational expression.</div> |
| </td> |
| </tr> |
| <tr id="i25" class="rowColor"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#getInputs--">getInputs</a></span>()</code> |
| <div class="block">Returns an array of this relational expression's inputs.</div> |
| </td> |
| </tr> |
| <tr id="i26" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../org/apache/calcite/plan/RelOptQuery.html" title="class in org.apache.calcite.plan">RelOptQuery</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#getQuery--">getQuery</a></span>()</code> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> </div> |
| </td> |
| </tr> |
| <tr id="i27" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../org/apache/calcite/plan/RelDigest.html" title="interface in org.apache.calcite.plan">RelDigest</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#getRelDigest--">getRelDigest</a></span>()</code> |
| <div class="block">Digest of the <code>RelNode</code>, for planner internal use only.</div> |
| </td> |
| </tr> |
| <tr id="i28" class="altColor"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#getRelTypeName--">getRelTypeName</a></span>()</code> |
| <div class="block">Returns the name of this relational expression's class, sans package |
| name, for use in explain.</div> |
| </td> |
| </tr> |
| <tr id="i29" class="rowColor"> |
| <td class="colFirst"><code>double</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#getRows--">getRows</a></span>()</code> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> </div> |
| </td> |
| </tr> |
| <tr id="i30" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#getRowType--">getRowType</a></span>()</code> |
| <div class="block">Returns the type of the rows returned by this relational expression.</div> |
| </td> |
| </tr> |
| <tr id="i31" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../org/apache/calcite/plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#getTable--">getTable</a></span>()</code> |
| <div class="block">If this relational expression represents an access to a table, returns |
| that table, otherwise returns null.</div> |
| </td> |
| </tr> |
| <tr id="i32" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../org/apache/calcite/plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#getTraitSet--">getTraitSet</a></span>()</code> |
| <div class="block">Retrieves this RelNode's traits.</div> |
| </td> |
| </tr> |
| <tr id="i33" class="rowColor"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../org/apache/calcite/rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#getVariablesSet--">getVariablesSet</a></span>()</code> |
| <div class="block">Returns the variables that are set in this relational |
| expression but also used and therefore not available to parents of this |
| relational expression.</div> |
| </td> |
| </tr> |
| <tr id="i34" class="altColor"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#getVariablesStopped--">getVariablesStopped</a></span>()</code> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> </div> |
| </td> |
| </tr> |
| <tr id="i35" class="rowColor"> |
| <td class="colFirst"><code>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#hashCode--">hashCode</a></span>()</code></td> |
| </tr> |
| <tr id="i36" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#isDistinct--">isDistinct</a></span>()</code> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> </div> |
| </td> |
| </tr> |
| <tr id="i37" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#isEnforcer--">isEnforcer</a></span>()</code> |
| <div class="block">Indicates whether it is an enforcer operator, e.g.</div> |
| </td> |
| </tr> |
| <tr id="i38" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#isKey-org.apache.calcite.util.ImmutableBitSet-">isKey</a></span>(<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a> columns)</code> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> </div> |
| </td> |
| </tr> |
| <tr id="i39" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#isValid-boolean-">isValid</a></span>(boolean fail)</code> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> </div> |
| </td> |
| </tr> |
| <tr id="i40" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#isValid-org.apache.calcite.util.Litmus-org.apache.calcite.rel.RelNode.Context-">isValid</a></span>(<a href="../../../../org/apache/calcite/util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a> litmus, |
| <a href="../../../../org/apache/calcite/rel/RelNode.Context.html" title="interface in org.apache.calcite.rel">RelNode.Context</a> context)</code> |
| <div class="block">Returns whether this relational expression is valid.</div> |
| </td> |
| </tr> |
| <tr id="i41" class="rowColor"> |
| <td class="colFirst"><code><M extends <a href="../../../../org/apache/calcite/rel/metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>><br>M</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#metadata-java.lang.Class-org.apache.calcite.rel.metadata.RelMetadataQuery-">metadata</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><M> metadataClass, |
| <a href="../../../../org/apache/calcite/rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a> mq)</code> |
| <div class="block">Returns a metadata interface.</div> |
| </td> |
| </tr> |
| <tr id="i42" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#onRegister-org.apache.calcite.plan.RelOptPlanner-">onRegister</a></span>(<a href="../../../../org/apache/calcite/plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</code> |
| <div class="block">Receives notification that this expression is about to be registered.</div> |
| </td> |
| </tr> |
| <tr id="i43" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#recomputeDigest--">recomputeDigest</a></span>()</code> |
| <div class="block">Recomputes the digest.</div> |
| </td> |
| </tr> |
| <tr id="i44" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#register-org.apache.calcite.plan.RelOptPlanner-">register</a></span>(<a href="../../../../org/apache/calcite/plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</code> |
| <div class="block">Registers any special rules specific to this kind of relational |
| expression.</div> |
| </td> |
| </tr> |
| <tr id="i45" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#replaceInput-int-org.apache.calcite.rel.RelNode-">replaceInput</a></span>(int ordinalInParent, |
| <a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> p)</code> |
| <div class="block">Replaces the <code>ordinalInParent</code><sup>th</sup> input.</div> |
| </td> |
| </tr> |
| <tr id="i46" class="altColor"> |
| <td class="colFirst"><code>protected static <T> T</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#sole-java.util.List-">sole</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><T> collection)</code> </td> |
| </tr> |
| <tr id="i47" class="rowColor"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#toString--">toString</a></span>()</code> |
| <div class="block">Description, consists of id plus digest</div> |
| </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3> |
| <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <div class="details"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ============ FIELD DETAIL =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="field.detail"> |
| <!-- --> |
| </a> |
| <h3>Field Detail</h3> |
| <a name="rowType"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>rowType</h4> |
| <pre>protected <a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> rowType</pre> |
| <div class="block">Cached type of this relational expression.</div> |
| </li> |
| </ul> |
| <a name="digest"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>digest</h4> |
| <pre>@API(since="1.24", |
| status=INTERNAL) |
| protected <a href="../../../../org/apache/calcite/plan/RelDigest.html" title="interface in org.apache.calcite.plan">RelDigest</a> digest</pre> |
| <div class="block">The digest that uniquely identifies the node.</div> |
| </li> |
| </ul> |
| <a name="id"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>id</h4> |
| <pre>protected final int id</pre> |
| <div class="block">unique id of this object -- for debugging</div> |
| </li> |
| </ul> |
| <a name="traitSet"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>traitSet</h4> |
| <pre>protected <a href="../../../../org/apache/calcite/plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> traitSet</pre> |
| <div class="block">The RelTraitSet that describes the traits of this RelNode.</div> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor.detail"> |
| <!-- --> |
| </a> |
| <h3>Constructor Detail</h3> |
| <a name="AbstractRelNode-org.apache.calcite.plan.RelOptCluster-org.apache.calcite.plan.RelTraitSet-"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>AbstractRelNode</h4> |
| <pre>public AbstractRelNode(<a href="../../../../org/apache/calcite/plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a> cluster, |
| <a href="../../../../org/apache/calcite/plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> traitSet)</pre> |
| <div class="block">Creates an <code>AbstractRelNode</code>.</div> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ============ METHOD DETAIL ========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method.detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a name="copy-org.apache.calcite.plan.RelTraitSet-java.util.List-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>copy</h4> |
| <pre>public <a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> copy(<a href="../../../../org/apache/calcite/plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> traitSet, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>> inputs)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#copy-org.apache.calcite.plan.RelTraitSet-java.util.List-">RelNode</a></code></span></div> |
| <div class="block">Creates a copy of this relational expression, perhaps changing traits and |
| inputs. |
| |
| <p>Sub-classes with other important attributes are encouraged to create |
| variants of this method with more parameters.</p></div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#copy-org.apache.calcite.plan.RelTraitSet-java.util.List-">copy</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>traitSet</code> - Trait set</dd> |
| <dd><code>inputs</code> - Inputs</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Copy of this relational expression, substituting traits and |
| inputs</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="sole-java.util.List-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>sole</h4> |
| <pre>protected static <T> T sole(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><T> collection)</pre> |
| </li> |
| </ul> |
| <a name="getChildExps--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getChildExps</h4> |
| <pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../org/apache/calcite/rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> getChildExps()</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#getChildExps--">RelNode</a></code></span></div> |
| <div class="block">Returns a list of this relational expression's child expressions. |
| (These are scalar expressions, and so do not include the relational |
| inputs that are returned by <a href="../../../../org/apache/calcite/rel/RelNode.html#getInputs--"><code>RelNode.getInputs()</code></a>. |
| |
| <p>The caller should treat the list as unmodifiable; typical |
| implementations will return an immutable list. If there are no |
| child expressions, returns an empty list, not <code>null</code>.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#getChildExps--">getChildExps</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>List of this relational expression's child expressions</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../org/apache/calcite/rel/RelNode.html#accept-org.apache.calcite.rex.RexShuttle-"><code>RelNode.accept(org.apache.calcite.rex.RexShuttle)</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getCluster--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCluster</h4> |
| <pre>public final <a href="../../../../org/apache/calcite/plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a> getCluster()</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/plan/RelOptNode.html#getCluster--">RelOptNode</a></code></span></div> |
| <div class="block">Returns the cluster this relational expression belongs to.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/plan/RelOptNode.html#getCluster--">getCluster</a></code> in interface <code><a href="../../../../org/apache/calcite/plan/RelOptNode.html" title="interface in org.apache.calcite.plan">RelOptNode</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>cluster</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getConvention--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getConvention</h4> |
| <pre>public final <a href="../../../../org/apache/calcite/plan/Convention.html" title="interface in org.apache.calcite.plan">Convention</a> getConvention()</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#getConvention--">RelNode</a></code></span></div> |
| <div class="block">Return the CallingConvention trait from this RelNode's |
| <a href="../../../../org/apache/calcite/plan/RelOptNode.html#getTraitSet--"><code>trait set</code></a>.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#getConvention--">getConvention</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this RelNode's CallingConvention</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getTraitSet--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getTraitSet</h4> |
| <pre>public <a href="../../../../org/apache/calcite/plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> getTraitSet()</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/plan/RelOptNode.html#getTraitSet--">RelOptNode</a></code></span></div> |
| <div class="block">Retrieves this RelNode's traits. Note that although the RelTraitSet |
| returned is modifiable, it <b>must not</b> be modified during |
| optimization. It is legal to modify the traits of a RelNode before or |
| after optimization, although doing so could render a tree of RelNodes |
| unimplementable. If a RelNode's traits need to be modified during |
| optimization, clone the RelNode and change the clone's traits.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/plan/RelOptNode.html#getTraitSet--">getTraitSet</a></code> in interface <code><a href="../../../../org/apache/calcite/plan/RelOptNode.html" title="interface in org.apache.calcite.plan">RelOptNode</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this RelNode's trait set</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getCorrelVariable--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCorrelVariable</h4> |
| <pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> getCorrelVariable()</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#getCorrelVariable--">RelNode</a></code></span></div> |
| <div class="block">Returns the name of the variable which is to be implicitly set at runtime |
| each time a row is returned from the first input of this relational |
| expression; or null if there is no variable.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#getCorrelVariable--">getCorrelVariable</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Name of correlating variable, or null</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="isDistinct--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isDistinct</h4> |
| <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public boolean isDistinct()</pre> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> </div> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#isDistinct--">RelNode</a></code></span></div> |
| <div class="block">Returns whether the same value will not come out twice. Default value is |
| <code>false</code>, derived classes should override.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#isDistinct--">isDistinct</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Whether the same value will not come out twice</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="isKey-org.apache.calcite.util.ImmutableBitSet-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isKey</h4> |
| <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public boolean isKey(<a href="../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a> columns)</pre> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> </div> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#isKey-org.apache.calcite.util.ImmutableBitSet-">RelNode</a></code></span></div> |
| <div class="block">Returns whether the result of this relational expression is uniquely |
| identified by this columns with the given ordinals. |
| |
| <p>For example, if this relational expression is a LogicalTableScan to |
| T(A, B, C, D) whose key is (A, B), then isKey([0, 1]) yields true, |
| and isKey([0]) and isKey([0, 2]) yields false.</p></div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#isKey-org.apache.calcite.util.ImmutableBitSet-">isKey</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>columns</code> - Ordinals of key columns</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Whether the given columns are a key or a superset of a key</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getId--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getId</h4> |
| <pre>public int getId()</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/plan/RelOptNode.html#getId--">RelOptNode</a></code></span></div> |
| <div class="block">Returns the ID of this relational expression, unique among all relational |
| expressions created since the server was started.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/plan/RelOptNode.html#getId--">getId</a></code> in interface <code><a href="../../../../org/apache/calcite/plan/RelOptNode.html" title="interface in org.apache.calcite.plan">RelOptNode</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Unique ID</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getInput-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getInput</h4> |
| <pre>public <a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> getInput(int i)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#getInput-int-">RelNode</a></code></span></div> |
| <div class="block">Returns the <code>i</code><sup>th</sup> input relational expression.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#getInput-int-">getInput</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>i</code> - Ordinal of input</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd><code>i</code><sup>th</sup> input</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getQuery--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getQuery</h4> |
| <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public final <a href="../../../../org/apache/calcite/plan/RelOptQuery.html" title="class in org.apache.calcite.plan">RelOptQuery</a> getQuery()</pre> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> </div> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#getQuery--">RelNode</a></code></span></div> |
| <div class="block">Returns the sub-query this relational expression belongs to.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#getQuery--">getQuery</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Sub-query</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="register-org.apache.calcite.plan.RelOptPlanner-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>register</h4> |
| <pre>public void register(<a href="../../../../org/apache/calcite/plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#register-org.apache.calcite.plan.RelOptPlanner-">RelNode</a></code></span></div> |
| <div class="block">Registers any special rules specific to this kind of relational |
| expression. |
| |
| <p>The planner calls this method this first time that it sees a |
| relational expression of this class. The derived class should call |
| <a href="../../../../org/apache/calcite/plan/RelOptPlanner.html#addRule-org.apache.calcite.plan.RelOptRule-"><code>RelOptPlanner.addRule(org.apache.calcite.plan.RelOptRule)</code></a> for each rule, and |
| then call <code>super.register</code>.</p></div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#register-org.apache.calcite.plan.RelOptPlanner-">register</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>planner</code> - Planner to be used to register additional relational |
| expressions</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getRelTypeName--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getRelTypeName</h4> |
| <pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> getRelTypeName()</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#getRelTypeName--">RelNode</a></code></span></div> |
| <div class="block">Returns the name of this relational expression's class, sans package |
| name, for use in explain. For example, for a <code> |
| org.apache.calcite.rel.ArrayRel.ArrayReader</code>, this method returns |
| "ArrayReader".</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#getRelTypeName--">getRelTypeName</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Name of this relational expression's class, sans package name, |
| for use in explain</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="isValid-org.apache.calcite.util.Litmus-org.apache.calcite.rel.RelNode.Context-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isValid</h4> |
| <pre>public boolean isValid(<a href="../../../../org/apache/calcite/util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a> litmus, |
| <a href="../../../../org/apache/calcite/rel/RelNode.Context.html" title="interface in org.apache.calcite.rel">RelNode.Context</a> context)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#isValid-org.apache.calcite.util.Litmus-org.apache.calcite.rel.RelNode.Context-">RelNode</a></code></span></div> |
| <div class="block">Returns whether this relational expression is valid. |
| |
| <p>If assertions are enabled, this method is typically called with <code> |
| litmus</code> = <code>THROW</code>, as follows: |
| |
| <blockquote> |
| <pre>assert rel.isValid(Litmus.THROW)</pre> |
| </blockquote> |
| |
| <p>This signals that the method can throw an <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AssertionError.html?is-external=true" title="class or interface in java.lang"><code>AssertionError</code></a> if it |
| is not valid.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#isValid-org.apache.calcite.util.Litmus-org.apache.calcite.rel.RelNode.Context-">isValid</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>litmus</code> - What to do if invalid</dd> |
| <dd><code>context</code> - Context for validity checking</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Whether relational expression is valid</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="isValid-boolean-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isValid</h4> |
| <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public boolean isValid(boolean fail)</pre> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> </div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#isValid-boolean-">isValid</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getCollationList--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCollationList</h4> |
| <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../org/apache/calcite/rel/RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>> getCollationList()</pre> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> <span class="deprecationComment">Use <a href="../../../../org/apache/calcite/rel/metadata/RelMetadataQuery.html#collations-org.apache.calcite.rel.RelNode-"><code>RelMetadataQuery.collations(RelNode)</code></a></span></div> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#getCollationList--">RelNode</a></code></span></div> |
| <div class="block">Returns a description of the physical ordering (or orderings) of this |
| relational expression. Never null.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#getCollationList--">getCollationList</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Description of the physical ordering (or orderings) of this |
| relational expression. Never null</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getRowType--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getRowType</h4> |
| <pre>public final <a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> getRowType()</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#getRowType--">RelNode</a></code></span></div> |
| <div class="block">Returns the type of the rows returned by this relational expression.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/plan/RelOptNode.html#getRowType--">getRowType</a></code> in interface <code><a href="../../../../org/apache/calcite/plan/RelOptNode.html" title="interface in org.apache.calcite.plan">RelOptNode</a></code></dd> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#getRowType--">getRowType</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="deriveRowType--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>deriveRowType</h4> |
| <pre>protected <a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> deriveRowType()</pre> |
| </li> |
| </ul> |
| <a name="getExpectedInputRowType-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getExpectedInputRowType</h4> |
| <pre>public <a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> getExpectedInputRowType(int ordinalInParent)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#getExpectedInputRowType-int-">RelNode</a></code></span></div> |
| <div class="block">Returns the type of the rows expected for an input. Defaults to |
| <a href="../../../../org/apache/calcite/rel/RelNode.html#getRowType--"><code>RelNode.getRowType()</code></a>.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#getExpectedInputRowType-int-">getExpectedInputRowType</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>ordinalInParent</code> - input's 0-based ordinal with respect to this |
| parent rel</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>expected row type</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getInputs--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getInputs</h4> |
| <pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>> getInputs()</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#getInputs--">RelNode</a></code></span></div> |
| <div class="block">Returns an array of this relational expression's inputs. If there are no |
| inputs, returns an empty list, not <code>null</code>.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/plan/RelOptNode.html#getInputs--">getInputs</a></code> in interface <code><a href="../../../../org/apache/calcite/plan/RelOptNode.html" title="interface in org.apache.calcite.plan">RelOptNode</a></code></dd> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#getInputs--">getInputs</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Array of this relational expression's inputs</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getRows--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getRows</h4> |
| <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public final double getRows()</pre> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> </div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#getRows--">getRows</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="estimateRowCount-org.apache.calcite.rel.metadata.RelMetadataQuery-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>estimateRowCount</h4> |
| <pre>public double estimateRowCount(<a href="../../../../org/apache/calcite/rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a> mq)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#estimateRowCount-org.apache.calcite.rel.metadata.RelMetadataQuery-">RelNode</a></code></span></div> |
| <div class="block">Returns an estimate of the number of rows this relational expression will |
| return. |
| |
| <p>NOTE jvs 29-Mar-2006: Don't call this method directly. Instead, use |
| <a href="../../../../org/apache/calcite/rel/metadata/RelMetadataQuery.html#getRowCount-org.apache.calcite.rel.RelNode-"><code>RelMetadataQuery.getRowCount(org.apache.calcite.rel.RelNode)</code></a>, which gives plugins a chance to |
| override the rel's default ideas about row count.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#estimateRowCount-org.apache.calcite.rel.metadata.RelMetadataQuery-">estimateRowCount</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>mq</code> - Metadata query</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Estimate of the number of rows this relational expression will |
| return</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getVariablesStopped--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getVariablesStopped</h4> |
| <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> getVariablesStopped()</pre> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> </div> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#getVariablesStopped--">RelNode</a></code></span></div> |
| <div class="block">Returns the names of variables that are set in this relational |
| expression but also used and therefore not available to parents of this |
| relational expression. |
| |
| <p>Note: only <a href="../../../../org/apache/calcite/rel/core/Correlate.html" title="class in org.apache.calcite.rel.core"><code>Correlate</code></a> should set |
| variables. |
| |
| <p>Note: <a href="../../../../org/apache/calcite/rel/RelNode.html#getVariablesSet--"><code>RelNode.getVariablesSet()</code></a> is equivalent but returns |
| <a href="../../../../org/apache/calcite/rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core"><code>CorrelationId</code></a> rather than their names. It is preferable except for |
| calling old methods that require a set of strings.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#getVariablesStopped--">getVariablesStopped</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Names of variables which are set in this relational |
| expression</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getVariablesSet--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getVariablesSet</h4> |
| <pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../org/apache/calcite/rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>> getVariablesSet()</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#getVariablesSet--">RelNode</a></code></span></div> |
| <div class="block">Returns the variables that are set in this relational |
| expression but also used and therefore not available to parents of this |
| relational expression. |
| |
| <p>Note: only <a href="../../../../org/apache/calcite/rel/core/Correlate.html" title="class in org.apache.calcite.rel.core"><code>Correlate</code></a> should set |
| variables.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#getVariablesSet--">getVariablesSet</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Names of variables which are set in this relational |
| expression</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="collectVariablesUsed-java.util.Set-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>collectVariablesUsed</h4> |
| <pre>public void collectVariablesUsed(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../org/apache/calcite/rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>> variableSet)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#collectVariablesUsed-java.util.Set-">RelNode</a></code></span></div> |
| <div class="block">Collects variables known to be used by this expression or its |
| descendants. By default, no such information is available and must be |
| derived by analyzing sub-expressions, but some optimizer implementations |
| may insert special expressions which remember such information.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#collectVariablesUsed-java.util.Set-">collectVariablesUsed</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>variableSet</code> - receives variables used</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="isEnforcer--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isEnforcer</h4> |
| <pre>public boolean isEnforcer()</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#isEnforcer--">RelNode</a></code></span></div> |
| <div class="block">Indicates whether it is an enforcer operator, e.g. PhysicalSort, |
| PhysicalHashDistribute, etc. As an enforcer, the operator must be |
| created only when required traitSet is not satisfied by its input.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#isEnforcer--">isEnforcer</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Whether it is an enforcer operator</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="collectVariablesSet-java.util.Set-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>collectVariablesSet</h4> |
| <pre>public void collectVariablesSet(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../org/apache/calcite/rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>> variableSet)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#collectVariablesSet-java.util.Set-">RelNode</a></code></span></div> |
| <div class="block">Collects variables set by this expression. |
| TODO: is this required?</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#collectVariablesSet-java.util.Set-">collectVariablesSet</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>variableSet</code> - receives variables known to be set by</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="childrenAccept-org.apache.calcite.rel.RelVisitor-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>childrenAccept</h4> |
| <pre>public void childrenAccept(<a href="../../../../org/apache/calcite/rel/RelVisitor.html" title="class in org.apache.calcite.rel">RelVisitor</a> visitor)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#childrenAccept-org.apache.calcite.rel.RelVisitor-">RelNode</a></code></span></div> |
| <div class="block">Interacts with the <a href="../../../../org/apache/calcite/rel/RelVisitor.html" title="class in org.apache.calcite.rel"><code>RelVisitor</code></a> in a |
| <a href="../../../../org/apache/calcite/util/Glossary.html#VISITOR_PATTERN"><code>visitor pattern</code></a> to |
| traverse the tree of relational expressions.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#childrenAccept-org.apache.calcite.rel.RelVisitor-">childrenAccept</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>visitor</code> - Visitor that will traverse the tree of relational |
| expressions</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="accept-org.apache.calcite.rel.RelShuttle-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>accept</h4> |
| <pre>public <a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> accept(<a href="../../../../org/apache/calcite/rel/RelShuttle.html" title="interface in org.apache.calcite.rel">RelShuttle</a> shuttle)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#accept-org.apache.calcite.rel.RelShuttle-">RelNode</a></code></span></div> |
| <div class="block">Accepts a visit from a shuttle.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#accept-org.apache.calcite.rel.RelShuttle-">accept</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>shuttle</code> - Shuttle</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>A copy of this node incorporating changes made by the shuttle to |
| this node's children</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="accept-org.apache.calcite.rex.RexShuttle-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>accept</h4> |
| <pre>public <a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> accept(<a href="../../../../org/apache/calcite/rex/RexShuttle.html" title="class in org.apache.calcite.rex">RexShuttle</a> shuttle)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#accept-org.apache.calcite.rex.RexShuttle-">RelNode</a></code></span></div> |
| <div class="block">Accepts a visit from a shuttle. If the shuttle updates expression, then |
| a copy of the relation should be created. This new relation might have |
| a different row-type.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#accept-org.apache.calcite.rex.RexShuttle-">accept</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>shuttle</code> - Shuttle</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>A copy of this node incorporating changes made by the shuttle to |
| this node's children</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="computeSelfCost-org.apache.calcite.plan.RelOptPlanner-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>computeSelfCost</h4> |
| <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public final <a href="../../../../org/apache/calcite/plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a> computeSelfCost(<a href="../../../../org/apache/calcite/plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</pre> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> </div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#computeSelfCost-org.apache.calcite.plan.RelOptPlanner-">computeSelfCost</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="computeSelfCost-org.apache.calcite.plan.RelOptPlanner-org.apache.calcite.rel.metadata.RelMetadataQuery-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>computeSelfCost</h4> |
| <pre>public <a href="../../../../org/apache/calcite/plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a> computeSelfCost(<a href="../../../../org/apache/calcite/plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner, |
| <a href="../../../../org/apache/calcite/rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a> mq)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#computeSelfCost-org.apache.calcite.plan.RelOptPlanner-org.apache.calcite.rel.metadata.RelMetadataQuery-">RelNode</a></code></span></div> |
| <div class="block">Returns the cost of this plan (not including children). The base |
| implementation throws an error; derived classes should override. |
| |
| <p>NOTE jvs 29-Mar-2006: Don't call this method directly. Instead, use |
| <a href="../../../../org/apache/calcite/rel/metadata/RelMetadataQuery.html#getNonCumulativeCost-org.apache.calcite.rel.RelNode-"><code>RelMetadataQuery.getNonCumulativeCost(org.apache.calcite.rel.RelNode)</code></a>, which gives plugins a |
| chance to override the rel's default ideas about cost.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#computeSelfCost-org.apache.calcite.plan.RelOptPlanner-org.apache.calcite.rel.metadata.RelMetadataQuery-">computeSelfCost</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>planner</code> - Planner for cost calculation</dd> |
| <dd><code>mq</code> - Metadata query</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Cost of this plan (not including children)</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="metadata-java.lang.Class-org.apache.calcite.rel.metadata.RelMetadataQuery-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>metadata</h4> |
| <pre>public final <M extends <a href="../../../../org/apache/calcite/rel/metadata/Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>> M metadata(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><M> metadataClass, |
| <a href="../../../../org/apache/calcite/rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a> mq)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#metadata-java.lang.Class-org.apache.calcite.rel.metadata.RelMetadataQuery-">RelNode</a></code></span></div> |
| <div class="block">Returns a metadata interface.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#metadata-java.lang.Class-org.apache.calcite.rel.metadata.RelMetadataQuery-">metadata</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="paramLabel">Type Parameters:</span></dt> |
| <dd><code>M</code> - Type of metadata being requested</dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>metadataClass</code> - Metadata interface</dd> |
| <dd><code>mq</code> - Metadata query</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Metadata object that supplies the desired metadata (never null, |
| although if the information is not present the metadata object may |
| return null from all methods)</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="explain-org.apache.calcite.rel.RelWriter-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>explain</h4> |
| <pre>public void explain(<a href="../../../../org/apache/calcite/rel/RelWriter.html" title="interface in org.apache.calcite.rel">RelWriter</a> pw)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#explain-org.apache.calcite.rel.RelWriter-">RelNode</a></code></span></div> |
| <div class="block">Describes the inputs and attributes of this relational expression. |
| Each node should call <code>super.explain</code>, then call the |
| <a href="../../../../org/apache/calcite/rel/RelWriter.html#input-java.lang.String-org.apache.calcite.rel.RelNode-"><code>RelWriter.input(String, RelNode)</code></a> |
| and |
| <a href="../../../../org/apache/calcite/rel/externalize/RelWriterImpl.html#item-java.lang.String-java.lang.Object-"><code>RelWriterImpl.item(String, Object)</code></a> |
| methods for each input and attribute.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#explain-org.apache.calcite.rel.RelWriter-">explain</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>pw</code> - Plan writer</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="explainTerms-org.apache.calcite.rel.RelWriter-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>explainTerms</h4> |
| <pre>public <a href="../../../../org/apache/calcite/rel/RelWriter.html" title="interface in org.apache.calcite.rel">RelWriter</a> explainTerms(<a href="../../../../org/apache/calcite/rel/RelWriter.html" title="interface in org.apache.calcite.rel">RelWriter</a> pw)</pre> |
| <div class="block">Describes the inputs and attributes of this relational expression. |
| Each node should call <code>super.explainTerms</code>, then call the |
| <a href="../../../../org/apache/calcite/rel/RelWriter.html#input-java.lang.String-org.apache.calcite.rel.RelNode-"><code>RelWriter.input(String, RelNode)</code></a> |
| and |
| <a href="../../../../org/apache/calcite/rel/externalize/RelWriterImpl.html#item-java.lang.String-java.lang.Object-"><code>RelWriterImpl.item(String, Object)</code></a> |
| methods for each input and attribute.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>pw</code> - Plan writer</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Plan writer for fluent-explain pattern</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="onRegister-org.apache.calcite.plan.RelOptPlanner-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>onRegister</h4> |
| <pre>public <a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> onRegister(<a href="../../../../org/apache/calcite/plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a> planner)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#onRegister-org.apache.calcite.plan.RelOptPlanner-">RelNode</a></code></span></div> |
| <div class="block">Receives notification that this expression is about to be registered. The |
| implementation of this method must at least register all child |
| expressions.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#onRegister-org.apache.calcite.plan.RelOptPlanner-">onRegister</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>planner</code> - Planner that plans this relational node</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Relational expression that should be used by the planner</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="recomputeDigest--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>recomputeDigest</h4> |
| <pre>public void recomputeDigest()</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#recomputeDigest--">RelNode</a></code></span></div> |
| <div class="block">Recomputes the digest. For planner internal use only.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#recomputeDigest--">recomputeDigest</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../org/apache/calcite/rel/RelNode.html#getDigest--"><code>RelNode.getDigest()</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="replaceInput-int-org.apache.calcite.rel.RelNode-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>replaceInput</h4> |
| <pre>public void replaceInput(int ordinalInParent, |
| <a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> p)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#replaceInput-int-org.apache.calcite.rel.RelNode-">RelNode</a></code></span></div> |
| <div class="block">Replaces the <code>ordinalInParent</code><sup>th</sup> input. You must |
| override this method if you override <a href="../../../../org/apache/calcite/rel/RelNode.html#getInputs--"><code>RelNode.getInputs()</code></a>.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#replaceInput-int-org.apache.calcite.rel.RelNode-">replaceInput</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>ordinalInParent</code> - Position of the child input, 0 is the first</dd> |
| <dd><code>p</code> - New node that should be put at position <code>ordinalInParent</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="toString--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>toString</h4> |
| <pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> toString()</pre> |
| <div class="block">Description, consists of id plus digest</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code> in class <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getDescription--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getDescription</h4> |
| <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> getDescription()</pre> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> </div> |
| <div class="block">Description, consists of id plus digest</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/plan/RelOptNode.html#getDescription--">getDescription</a></code> in interface <code><a href="../../../../org/apache/calcite/plan/RelOptNode.html" title="interface in org.apache.calcite.plan">RelOptNode</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>String which describes the relational expression and, unlike |
| <a href="../../../../org/apache/calcite/plan/RelOptNode.html#getDigest--"><code>RelOptNode.getDigest()</code></a>, also includes the identity</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getDigest--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getDigest</h4> |
| <pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> getDigest()</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/plan/RelOptNode.html#getDigest--">RelOptNode</a></code></span></div> |
| <div class="block">Returns a string which concisely describes the definition of this |
| relational expression. Two relational expressions are equivalent if |
| their digests and <a href="../../../../org/apache/calcite/plan/RelOptNode.html#getRowType--"><code>RelOptNode.getRowType()</code></a> (except the field names) are the same. |
| |
| <p>The digest does not contain the relational expression's identity -- |
| that would prevent similar relational expressions from ever comparing |
| equal -- but does include the identity of children (on the assumption |
| that children have already been normalized). |
| |
| <p>If you want a descriptive string which contains the identity, call |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang"><code>Object.toString()</code></a>, which always returns "rel#{id}:{digest}".</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/plan/RelOptNode.html#getDigest--">getDigest</a></code> in interface <code><a href="../../../../org/apache/calcite/plan/RelOptNode.html" title="interface in org.apache.calcite.plan">RelOptNode</a></code></dd> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#getDigest--">getDigest</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Digest string of this <code>RelNode</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getRelDigest--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getRelDigest</h4> |
| <pre>public final <a href="../../../../org/apache/calcite/plan/RelDigest.html" title="interface in org.apache.calcite.plan">RelDigest</a> getRelDigest()</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#getRelDigest--">RelNode</a></code></span></div> |
| <div class="block">Digest of the <code>RelNode</code>, for planner internal use only. |
| |
| <p>INTERNAL USE ONLY.</p></div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#getRelDigest--">getRelDigest</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Digest of this <code>RelNode</code></dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../org/apache/calcite/rel/RelNode.html#getDigest--"><code>RelNode.getDigest()</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getTable--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getTable</h4> |
| <pre>public <a href="../../../../org/apache/calcite/plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a> getTable()</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../org/apache/calcite/rel/RelNode.html#getTable--">RelNode</a></code></span></div> |
| <div class="block">If this relational expression represents an access to a table, returns |
| that table, otherwise returns null.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../org/apache/calcite/rel/RelNode.html#getTable--">getTable</a></code> in interface <code><a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>If this relational expression represents an access to a table, |
| returns that table, otherwise returns null</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="equals-java.lang.Object-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equals</h4> |
| <pre>public final boolean equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> obj)</pre> |
| <div class="block"> |
| |
| <p>This method (and <a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#hashCode--"><code>hashCode()</code></a> is intentionally final. We do not want |
| sub-classes of <a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> to redefine identity. Various algorithms |
| (e.g. visitors, planner) can define the identity as meets their needs.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code> in class <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="hashCode--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>hashCode</h4> |
| <pre>public final int hashCode()</pre> |
| <div class="block"> |
| |
| <p>This method (and <a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#equals-java.lang.Object-"><code>equals(java.lang.Object)</code></a> is intentionally final. We do not want |
| sub-classes of <a href="../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> to redefine identity. Various algorithms |
| (e.g. visitors, planner) can define the identity as meets their needs.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code> in class <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="digestEquals-java.lang.Object-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>digestEquals</h4> |
| <pre>@API(since="1.24", |
| status=EXPERIMENTAL) |
| protected boolean digestEquals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> obj)</pre> |
| <div class="block">Equality check for RelNode digest. |
| |
| <p>By default this method collects digest attributes from |
| <a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#explainTerms-org.apache.calcite.rel.RelWriter-"><code>explainTerms(RelWriter)</code></a>, then compares each attribute pair. |
| This should work well for most cases. If this method is a performance |
| bottleneck for your project, or the default behavior can't handle |
| your scenario properly, you can choose to override this method and |
| <a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#digestHash--"><code>digestHash()</code></a>. See <code>LogicalJoin</code> as an example.</p></div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Whether the 2 RelNodes are equivalent or have the same digest.</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#digestHash--"><code>digestHash()</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="digestHash--"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>digestHash</h4> |
| <pre>@API(since="1.24", |
| status=EXPERIMENTAL) |
| protected int digestHash()</pre> |
| <div class="block">Compute hash code for RelNode digest.</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../org/apache/calcite/rel/AbstractRelNode.html#digestEquals-java.lang.Object-"><code>digestEquals(Object)</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| </div> |
| <!-- ========= END OF CLASS DATA ========= --> |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <div class="bottomNav"><a name="navbar.bottom"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> |
| <a name="navbar.bottom.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../help-doc.html">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><b>Apache Calcite</b></div> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li>Prev Class</li> |
| <li><a href="../../../../org/apache/calcite/rel/BiRel.html" title="class in org.apache.calcite.rel"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../index.html?org/apache/calcite/rel/AbstractRelNode.html" target="_top">Frames</a></li> |
| <li><a href="AbstractRelNode.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../allclasses-noframe.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> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </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 name="skip.navbar.bottom"> |
| <!-- --> |
| </a></div> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| <p class="legalCopy"><small>Copyright © 2012-2020 Apache Software Foundation. All Rights Reserved.</small></p> |
| </body> |
| </html> |