| <!DOCTYPE HTML> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc --> |
| <title>RelMetadataQuery (Apache Calcite API)</title> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style"> |
| <script type="text/javascript" src="../../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script> |
| <script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script> |
| <!--[if IE]> |
| <script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script> |
| <![endif]--> |
| <script type="text/javascript" src="../../../../../jquery/jquery-3.3.1.js"></script> |
| <script type="text/javascript" src="../../../../../jquery/jquery-migrate-3.0.1.js"></script> |
| <script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| try { |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="RelMetadataQuery (Apache Calcite API)"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":9,"i31":9,"i32":9,"i33":9,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":9,"i40":9}; |
| var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; |
| var altColor = "altColor"; |
| var rowColor = "rowColor"; |
| var tableTab = "tableTab"; |
| var activeTableTab = "activeTableTab"; |
| var pathtoroot = "../../../../../"; |
| var useModuleDirectories = true; |
| loadScripts(document, 'script');</script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <header role="banner"> |
| <nav role="navigation"> |
| <div class="fixedNav"> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a id="navbar.top"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> |
| <a id="navbar.top.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../index.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/RelMetadataQuery.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../help-doc.html">Help</a></li> |
| </ul> |
| </div> |
| <div class="subNav"> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../../../allclasses.html">All Classes</a></li> |
| </ul> |
| <ul class="navListSearch"> |
| <li><label for="search">SEARCH:</label> |
| <input type="text" id="search" value="search" disabled="disabled"> |
| <input type="reset" id="reset" value="reset" disabled="disabled"> |
| </li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_top"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>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 id="skip.navbar.top"> |
| <!-- --> |
| </a></div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| </div> |
| <div class="navPadding"> </div> |
| <script type="text/javascript"><!-- |
| $('.navPadding').css('padding-top', $('.fixedNav').css("height")); |
| //--> |
| </script> |
| </nav> |
| </header> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <main role="main"> |
| <div class="header"> |
| <div class="subTitle"><span class="packageLabelInType">Package</span> <a href="package-summary.html">org.apache.calcite.rel.metadata</a></div> |
| <h2 title="Class RelMetadataQuery" class="title">Class RelMetadataQuery</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li>java.lang.Object</li> |
| <li> |
| <ul class="inheritance"> |
| <li>org.apache.calcite.rel.metadata.RelMetadataQuery</li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <hr> |
| <pre>public class <span class="typeNameLabel">RelMetadataQuery</span> |
| extends java.lang.Object</pre> |
| <div class="block">RelMetadataQuery provides a strongly-typed facade on top of |
| <a href="RelMetadataProvider.html" title="interface in org.apache.calcite.rel.metadata"><code>RelMetadataProvider</code></a> for the set of relational expression metadata |
| queries defined as standard within Calcite. The Javadoc on these methods |
| serves as their primary specification. |
| |
| <p>To add a new standard query <code>Xyz</code> to this interface, follow |
| these steps: |
| |
| <ol> |
| <li>Add a static method <code>getXyz</code> specification to this class. |
| <li>Add unit tests to <code>org.apache.calcite.test.RelMetadataTest</code>. |
| <li>Write a new provider class <code>RelMdXyz</code> in this package. Follow |
| the pattern from an existing class such as <a href="RelMdColumnOrigins.html" title="class in org.apache.calcite.rel.metadata"><code>RelMdColumnOrigins</code></a>, |
| overloading on all of the logical relational expressions to which the query |
| applies. |
| <li>Add a <code>SOURCE</code> static member, similar to |
| <a href="RelMdColumnOrigins.html#SOURCE"><code>RelMdColumnOrigins.SOURCE</code></a>. |
| <li>Register the <code>SOURCE</code> object in <a href="DefaultRelMetadataProvider.html" title="class in org.apache.calcite.rel.metadata"><code>DefaultRelMetadataProvider</code></a>. |
| <li>Get unit tests working. |
| </ol> |
| |
| <p>Because relational expression metadata is extensible, extension projects |
| can define similar facades in order to specify access to custom metadata. |
| Please do not add queries here (nor on <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>) which lack meaning |
| outside of your extension. |
| |
| <p>Besides adding new metadata queries, extension projects may need to add |
| custom providers for the standard queries in order to handle additional |
| relational expressions (either logical or physical). In either case, the |
| process is the same: write a reflective provider and chain it on to an |
| instance of <a href="DefaultRelMetadataProvider.html" title="class in org.apache.calcite.rel.metadata"><code>DefaultRelMetadataProvider</code></a>, pre-pending it to the default |
| providers. Then supply that instance to the planner via the appropriate |
| plugin mechanism.</div> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- =========== FIELD SUMMARY =========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="field.summary"> |
| <!-- --> |
| </a> |
| <h3>Field Summary</h3> |
| <table class="memberSummary"> |
| <caption><span>Fields</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colSecond" scope="col">Field</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.AllPredicates.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.AllPredicates.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#allPredicatesHandler">allPredicatesHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.Collation.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Collation.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collationHandler">collationHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.ColumnOrigin.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ColumnOrigin.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#columnOriginHandler">columnOriginHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.ColumnUniqueness.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ColumnUniqueness.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#columnUniquenessHandler">columnUniquenessHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.CumulativeCost.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.CumulativeCost.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cumulativeCostHandler">cumulativeCostHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.DistinctRowCount.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.DistinctRowCount.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#distinctRowCountHandler">distinctRowCountHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.Distribution.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Distribution.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#distributionHandler">distributionHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>protected static <a href="RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EMPTY">EMPTY</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.ExplainVisibility.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ExplainVisibility.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#explainVisibilityHandler">explainVisibilityHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.ExpressionLineage.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ExpressionLineage.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#expressionLineageHandler">expressionLineageHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>java.util.Map<java.util.List,​java.lang.Object></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#map">map</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Set of active metadata queries, and cache of previous results.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.MaxRowCount.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.MaxRowCount.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#maxRowCountHandler">maxRowCountHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.Memory.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Memory.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#memoryHandler">memoryHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code><a href="JaninoRelMetadataProvider.html" title="class in org.apache.calcite.rel.metadata">JaninoRelMetadataProvider</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#metadataProvider">metadataProvider</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.MinRowCount.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.MinRowCount.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#minRowCountHandler">minRowCountHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.NodeTypes.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.NodeTypes.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nodeTypesHandler">nodeTypesHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.NonCumulativeCost.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.NonCumulativeCost.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nonCumulativeCostHandler">nonCumulativeCostHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.Parallelism.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Parallelism.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#parallelismHandler">parallelismHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.PercentageOriginalRows.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.PercentageOriginalRows.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#percentageOriginalRowsHandler">percentageOriginalRowsHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.PopulationSize.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.PopulationSize.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#populationSizeHandler">populationSizeHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.Predicates.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Predicates.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#predicatesHandler">predicatesHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.RowCount.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.RowCount.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rowCountHandler">rowCountHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.Selectivity.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Selectivity.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#selectivityHandler">selectivityHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.Size.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Size.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sizeHandler">sizeHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.TableReferences.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.TableReferences.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#tableReferencesHandler">tableReferencesHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static java.lang.ThreadLocal<<a href="JaninoRelMetadataProvider.html" title="class in org.apache.calcite.rel.metadata">JaninoRelMetadataProvider</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#THREAD_PROVIDERS">THREAD_PROVIDERS</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private <a href="BuiltInMetadata.UniqueKeys.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.UniqueKeys.Handler</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#uniqueKeysHandler">uniqueKeysHandler</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| </section> |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="constructor.summary"> |
| <!-- --> |
| </a> |
| <h3>Constructor Summary</h3> |
| <table class="memberSummary"> |
| <caption><span>Constructors</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier</th> |
| <th class="colSecond" scope="col">Constructor</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private </code></td> |
| <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(boolean)">RelMetadataQuery</a></span>​(boolean dummy)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates and initializes the instance that will serve as a prototype for |
| all other instances.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>protected </code></td> |
| <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.calcite.rel.metadata.JaninoRelMetadataProvider,org.apache.calcite.rel.metadata.RelMetadataQuery)">RelMetadataQuery</a></span>​(<a href="JaninoRelMetadataProvider.html" title="class in org.apache.calcite.rel.metadata">JaninoRelMetadataProvider</a> metadataProvider, |
| <a href="RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a> prototype)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| </section> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="method.summary"> |
| <!-- --> |
| </a> |
| <h3>Method Summary</h3> |
| <table class="memberSummary"> |
| <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="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></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colSecond" scope="col">Method</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr id="i0" class="altColor"> |
| <td class="colFirst"><code>java.lang.Boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#areColumnsUnique(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet)">areColumnsUnique</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a> columns)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.ColumnUniqueness.html#areColumnsUnique(org.apache.calcite.util.ImmutableBitSet,boolean)"><code>BuiltInMetadata.ColumnUniqueness.areColumnsUnique(ImmutableBitSet, boolean)</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code>java.lang.Boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#areColumnsUnique(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet,boolean)">areColumnsUnique</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a> columns, |
| boolean ignoreNulls)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.ColumnUniqueness.html#areColumnsUnique(org.apache.calcite.util.ImmutableBitSet,boolean)"><code>BuiltInMetadata.ColumnUniqueness.areColumnsUnique(ImmutableBitSet, boolean)</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code>java.lang.Boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#areRowsUnique(org.apache.calcite.rel.RelNode)">areRowsUnique</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether the rows of a given relational expression are distinct.</div> |
| </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code>com.google.common.collect.ImmutableList<<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collations(org.apache.calcite.rel.RelNode)">collations</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Collation.html#collations()"><code>BuiltInMetadata.Collation.collations()</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code>java.lang.Double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cumulativeMemoryWithinPhase(org.apache.calcite.rel.RelNode)">cumulativeMemoryWithinPhase</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Memory.html#cumulativeMemoryWithinPhase()"><code>BuiltInMetadata.Memory.cumulativeMemoryWithinPhase()</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code>java.lang.Double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cumulativeMemoryWithinPhaseSplit(org.apache.calcite.rel.RelNode)">cumulativeMemoryWithinPhaseSplit</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Memory.html#cumulativeMemoryWithinPhaseSplit()"><code>BuiltInMetadata.Memory.cumulativeMemoryWithinPhaseSplit()</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code><a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#distribution(org.apache.calcite.rel.RelNode)">distribution</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Distribution.html#distribution()"><code>BuiltInMetadata.Distribution.distribution()</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code><a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAllPredicates(org.apache.calcite.rel.RelNode)">getAllPredicates</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.AllPredicates.html#getAllPredicates()"><code>BuiltInMetadata.AllPredicates.getAllPredicates()</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code>java.util.List<java.lang.Double></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAverageColumnSizes(org.apache.calcite.rel.RelNode)">getAverageColumnSizes</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Size.html#averageColumnSizes()"><code>BuiltInMetadata.Size.averageColumnSizes()</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code>java.util.List<java.lang.Double></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAverageColumnSizesNotNull(org.apache.calcite.rel.RelNode)">getAverageColumnSizesNotNull</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">As <a href="#getAverageColumnSizes(org.apache.calcite.rel.RelNode)"><code>getAverageColumnSizes(org.apache.calcite.rel.RelNode)</code></a> but |
| never returns a null list, only ever a list of nulls.</div> |
| </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code>java.lang.Double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAverageRowSize(org.apache.calcite.rel.RelNode)">getAverageRowSize</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Size.html#averageRowSize()"><code>BuiltInMetadata.Size.averageRowSize()</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code><a href="RelColumnOrigin.html" title="class in org.apache.calcite.rel.metadata">RelColumnOrigin</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getColumnOrigin(org.apache.calcite.rel.RelNode,int)">getColumnOrigin</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| int column)</code></th> |
| <td class="colLast"> |
| <div class="block">Determines the origin of a column, provided the column maps to a single |
| column that isn't derived.</div> |
| </td> |
| </tr> |
| <tr id="i12" class="altColor"> |
| <td class="colFirst"><code>java.util.Set<<a href="RelColumnOrigin.html" title="class in org.apache.calcite.rel.metadata">RelColumnOrigin</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getColumnOrigins(org.apache.calcite.rel.RelNode,int)">getColumnOrigins</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| int column)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.ColumnOrigin.html#getColumnOrigins(int)"><code>BuiltInMetadata.ColumnOrigin.getColumnOrigins(int)</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i13" class="rowColor"> |
| <td class="colFirst"><code><a href="../../plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCumulativeCost(org.apache.calcite.rel.RelNode)">getCumulativeCost</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.CumulativeCost.html#getCumulativeCost()"><code>BuiltInMetadata.CumulativeCost.getCumulativeCost()</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i14" class="altColor"> |
| <td class="colFirst"><code>java.lang.Double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDistinctRowCount(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.rex.RexNode)">getDistinctRowCount</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a> groupKey, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> predicate)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.DistinctRowCount.html#getDistinctRowCount(org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.rex.RexNode)"><code>BuiltInMetadata.DistinctRowCount.getDistinctRowCount(ImmutableBitSet, RexNode)</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i15" class="rowColor"> |
| <td class="colFirst"><code><a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDistribution(org.apache.calcite.rel.RelNode)">getDistribution</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Distribution.html#distribution()"><code>BuiltInMetadata.Distribution.distribution()</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i16" class="altColor"> |
| <td class="colFirst"><code>java.util.Set<<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getExpressionLineage(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">getExpressionLineage</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> expression)</code></th> |
| <td class="colLast"> |
| <div class="block">Determines the origin of a column.</div> |
| </td> |
| </tr> |
| <tr id="i17" class="rowColor"> |
| <td class="colFirst"><code>java.lang.Double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxRowCount(org.apache.calcite.rel.RelNode)">getMaxRowCount</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.MaxRowCount.html#getMaxRowCount()"><code>BuiltInMetadata.MaxRowCount.getMaxRowCount()</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i18" class="altColor"> |
| <td class="colFirst"><code>java.lang.Double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMinRowCount(org.apache.calcite.rel.RelNode)">getMinRowCount</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.MinRowCount.html#getMinRowCount()"><code>BuiltInMetadata.MinRowCount.getMinRowCount()</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i19" class="rowColor"> |
| <td class="colFirst"><code>com.google.common.collect.Multimap<java.lang.Class<? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>>,​<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getNodeTypes(org.apache.calcite.rel.RelNode)">getNodeTypes</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.NodeTypes.html#getNodeTypes()"><code>BuiltInMetadata.NodeTypes.getNodeTypes()</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i20" class="altColor"> |
| <td class="colFirst"><code><a href="../../plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getNonCumulativeCost(org.apache.calcite.rel.RelNode)">getNonCumulativeCost</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.NonCumulativeCost.html#getNonCumulativeCost()"><code>BuiltInMetadata.NonCumulativeCost.getNonCumulativeCost()</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i21" class="rowColor"> |
| <td class="colFirst"><code>java.lang.Double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPercentageOriginalRows(org.apache.calcite.rel.RelNode)">getPercentageOriginalRows</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.PercentageOriginalRows.html#getPercentageOriginalRows()"><code>BuiltInMetadata.PercentageOriginalRows.getPercentageOriginalRows()</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i22" class="altColor"> |
| <td class="colFirst"><code>java.lang.Double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPopulationSize(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet)">getPopulationSize</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a> groupKey)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.PopulationSize.html#getPopulationSize(org.apache.calcite.util.ImmutableBitSet)"><code>BuiltInMetadata.PopulationSize.getPopulationSize(ImmutableBitSet)</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i23" class="rowColor"> |
| <td class="colFirst"><code><a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPulledUpPredicates(org.apache.calcite.rel.RelNode)">getPulledUpPredicates</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Predicates.html#getPredicates()"><code>BuiltInMetadata.Predicates.getPredicates()</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i24" class="altColor"> |
| <td class="colFirst"><code>java.lang.Double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRowCount(org.apache.calcite.rel.RelNode)">getRowCount</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.RowCount.html#getRowCount()"><code>BuiltInMetadata.RowCount.getRowCount()</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i25" class="rowColor"> |
| <td class="colFirst"><code>java.lang.Double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSelectivity(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">getSelectivity</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> predicate)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Selectivity.html#getSelectivity(org.apache.calcite.rex.RexNode)"><code>BuiltInMetadata.Selectivity.getSelectivity(RexNode)</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i26" class="altColor"> |
| <td class="colFirst"><code><a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTableOrigin(org.apache.calcite.rel.RelNode)">getTableOrigin</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Determines the origin of a <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>, provided it maps to a single |
| table, optionally with filtering and projection.</div> |
| </td> |
| </tr> |
| <tr id="i27" class="rowColor"> |
| <td class="colFirst"><code>java.util.Set<<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTableReferences(org.apache.calcite.rel.RelNode)">getTableReferences</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Determines the tables used by a plan.</div> |
| </td> |
| </tr> |
| <tr id="i28" class="altColor"> |
| <td class="colFirst"><code>java.util.Set<<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUniqueKeys(org.apache.calcite.rel.RelNode)">getUniqueKeys</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.UniqueKeys.html#getUniqueKeys(boolean)"><code>BuiltInMetadata.UniqueKeys.getUniqueKeys(boolean)</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i29" class="rowColor"> |
| <td class="colFirst"><code>java.util.Set<<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUniqueKeys(org.apache.calcite.rel.RelNode,boolean)">getUniqueKeys</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| boolean ignoreNulls)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.UniqueKeys.html#getUniqueKeys(boolean)"><code>BuiltInMetadata.UniqueKeys.getUniqueKeys(boolean)</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i30" class="altColor"> |
| <td class="colFirst"><code>protected static <H> H</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#initialHandler(java.lang.Class)">initialHandler</a></span>​(java.lang.Class<H> handlerClass)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i31" class="rowColor"> |
| <td class="colFirst"><code>static <a href="RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#instance()">instance</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns an instance of RelMetadataQuery.</div> |
| </td> |
| </tr> |
| <tr id="i32" class="altColor"> |
| <td class="colFirst"><code>private static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isNonNegative(java.lang.Double,boolean)">isNonNegative</a></span>​(java.lang.Double result, |
| boolean fail)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i33" class="rowColor"> |
| <td class="colFirst"><code>private static boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPercentage(java.lang.Double,boolean)">isPercentage</a></span>​(java.lang.Double result, |
| boolean fail)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i34" class="altColor"> |
| <td class="colFirst"><code>java.lang.Boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPhaseTransition(org.apache.calcite.rel.RelNode)">isPhaseTransition</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Parallelism.html#isPhaseTransition()"><code>BuiltInMetadata.Parallelism.isPhaseTransition()</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i35" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isVisibleInExplain(org.apache.calcite.rel.RelNode,org.apache.calcite.sql.SqlExplainLevel)">isVisibleInExplain</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../../sql/SqlExplainLevel.html" title="enum in org.apache.calcite.sql">SqlExplainLevel</a> explainLevel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.ExplainVisibility.html#isVisibleInExplain(org.apache.calcite.sql.SqlExplainLevel)"><code>BuiltInMetadata.ExplainVisibility.isVisibleInExplain(SqlExplainLevel)</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i36" class="altColor"> |
| <td class="colFirst"><code>java.lang.Double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#memory(org.apache.calcite.rel.RelNode)">memory</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Memory.html#memory()"><code>BuiltInMetadata.Memory.memory()</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i37" class="rowColor"> |
| <td class="colFirst"><code>protected <M extends <a href="Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>,​H extends <a href="MetadataHandler.html" title="interface in org.apache.calcite.rel.metadata">MetadataHandler</a><M>><br>H</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#revise(java.lang.Class,org.apache.calcite.rel.metadata.MetadataDef)">revise</a></span>​(java.lang.Class<? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>> class_, |
| <a href="MetadataDef.html" title="class in org.apache.calcite.rel.metadata">MetadataDef</a><M> def)</code></th> |
| <td class="colLast"> |
| <div class="block">Re-generates the handler for a given kind of metadata, adding support for |
| <code>class_</code> if it is not already present.</div> |
| </td> |
| </tr> |
| <tr id="i38" class="altColor"> |
| <td class="colFirst"><code>java.lang.Integer</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitCount(org.apache.calcite.rel.RelNode)">splitCount</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Parallelism.html#splitCount()"><code>BuiltInMetadata.Parallelism.splitCount()</code></a> |
| statistic.</div> |
| </td> |
| </tr> |
| <tr id="i39" class="rowColor"> |
| <td class="colFirst"><code>private static java.lang.Double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validatePercentage(java.lang.Double)">validatePercentage</a></span>​(java.lang.Double result)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i40" class="altColor"> |
| <td class="colFirst"><code>private static java.lang.Double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateResult(java.lang.Double)">validateResult</a></span>​(java.lang.Double result)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class java.lang.Object</h3> |
| <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </div> |
| <div class="details"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ============ FIELD DETAIL =========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="field.detail"> |
| <!-- --> |
| </a> |
| <h3>Field Detail</h3> |
| <a id="map"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>map</h4> |
| <pre>public final java.util.Map<java.util.List,​java.lang.Object> map</pre> |
| <div class="block">Set of active metadata queries, and cache of previous results.</div> |
| </li> |
| </ul> |
| <a id="metadataProvider"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>metadataProvider</h4> |
| <pre>public final <a href="JaninoRelMetadataProvider.html" title="class in org.apache.calcite.rel.metadata">JaninoRelMetadataProvider</a> metadataProvider</pre> |
| </li> |
| </ul> |
| <a id="EMPTY"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>EMPTY</h4> |
| <pre>protected static final <a href="RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a> EMPTY</pre> |
| </li> |
| </ul> |
| <a id="collationHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>collationHandler</h4> |
| <pre>private <a href="BuiltInMetadata.Collation.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Collation.Handler</a> collationHandler</pre> |
| </li> |
| </ul> |
| <a id="columnOriginHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>columnOriginHandler</h4> |
| <pre>private <a href="BuiltInMetadata.ColumnOrigin.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ColumnOrigin.Handler</a> columnOriginHandler</pre> |
| </li> |
| </ul> |
| <a id="expressionLineageHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>expressionLineageHandler</h4> |
| <pre>private <a href="BuiltInMetadata.ExpressionLineage.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ExpressionLineage.Handler</a> expressionLineageHandler</pre> |
| </li> |
| </ul> |
| <a id="tableReferencesHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>tableReferencesHandler</h4> |
| <pre>private <a href="BuiltInMetadata.TableReferences.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.TableReferences.Handler</a> tableReferencesHandler</pre> |
| </li> |
| </ul> |
| <a id="columnUniquenessHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>columnUniquenessHandler</h4> |
| <pre>private <a href="BuiltInMetadata.ColumnUniqueness.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ColumnUniqueness.Handler</a> columnUniquenessHandler</pre> |
| </li> |
| </ul> |
| <a id="cumulativeCostHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>cumulativeCostHandler</h4> |
| <pre>private <a href="BuiltInMetadata.CumulativeCost.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.CumulativeCost.Handler</a> cumulativeCostHandler</pre> |
| </li> |
| </ul> |
| <a id="distinctRowCountHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>distinctRowCountHandler</h4> |
| <pre>private <a href="BuiltInMetadata.DistinctRowCount.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.DistinctRowCount.Handler</a> distinctRowCountHandler</pre> |
| </li> |
| </ul> |
| <a id="distributionHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>distributionHandler</h4> |
| <pre>private <a href="BuiltInMetadata.Distribution.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Distribution.Handler</a> distributionHandler</pre> |
| </li> |
| </ul> |
| <a id="explainVisibilityHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>explainVisibilityHandler</h4> |
| <pre>private <a href="BuiltInMetadata.ExplainVisibility.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ExplainVisibility.Handler</a> explainVisibilityHandler</pre> |
| </li> |
| </ul> |
| <a id="maxRowCountHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>maxRowCountHandler</h4> |
| <pre>private <a href="BuiltInMetadata.MaxRowCount.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.MaxRowCount.Handler</a> maxRowCountHandler</pre> |
| </li> |
| </ul> |
| <a id="minRowCountHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>minRowCountHandler</h4> |
| <pre>private <a href="BuiltInMetadata.MinRowCount.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.MinRowCount.Handler</a> minRowCountHandler</pre> |
| </li> |
| </ul> |
| <a id="memoryHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>memoryHandler</h4> |
| <pre>private <a href="BuiltInMetadata.Memory.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Memory.Handler</a> memoryHandler</pre> |
| </li> |
| </ul> |
| <a id="nonCumulativeCostHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>nonCumulativeCostHandler</h4> |
| <pre>private <a href="BuiltInMetadata.NonCumulativeCost.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.NonCumulativeCost.Handler</a> nonCumulativeCostHandler</pre> |
| </li> |
| </ul> |
| <a id="parallelismHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>parallelismHandler</h4> |
| <pre>private <a href="BuiltInMetadata.Parallelism.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Parallelism.Handler</a> parallelismHandler</pre> |
| </li> |
| </ul> |
| <a id="percentageOriginalRowsHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>percentageOriginalRowsHandler</h4> |
| <pre>private <a href="BuiltInMetadata.PercentageOriginalRows.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.PercentageOriginalRows.Handler</a> percentageOriginalRowsHandler</pre> |
| </li> |
| </ul> |
| <a id="populationSizeHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>populationSizeHandler</h4> |
| <pre>private <a href="BuiltInMetadata.PopulationSize.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.PopulationSize.Handler</a> populationSizeHandler</pre> |
| </li> |
| </ul> |
| <a id="predicatesHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>predicatesHandler</h4> |
| <pre>private <a href="BuiltInMetadata.Predicates.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Predicates.Handler</a> predicatesHandler</pre> |
| </li> |
| </ul> |
| <a id="allPredicatesHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>allPredicatesHandler</h4> |
| <pre>private <a href="BuiltInMetadata.AllPredicates.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.AllPredicates.Handler</a> allPredicatesHandler</pre> |
| </li> |
| </ul> |
| <a id="nodeTypesHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>nodeTypesHandler</h4> |
| <pre>private <a href="BuiltInMetadata.NodeTypes.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.NodeTypes.Handler</a> nodeTypesHandler</pre> |
| </li> |
| </ul> |
| <a id="rowCountHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>rowCountHandler</h4> |
| <pre>private <a href="BuiltInMetadata.RowCount.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.RowCount.Handler</a> rowCountHandler</pre> |
| </li> |
| </ul> |
| <a id="selectivityHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>selectivityHandler</h4> |
| <pre>private <a href="BuiltInMetadata.Selectivity.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Selectivity.Handler</a> selectivityHandler</pre> |
| </li> |
| </ul> |
| <a id="sizeHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>sizeHandler</h4> |
| <pre>private <a href="BuiltInMetadata.Size.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Size.Handler</a> sizeHandler</pre> |
| </li> |
| </ul> |
| <a id="uniqueKeysHandler"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>uniqueKeysHandler</h4> |
| <pre>private <a href="BuiltInMetadata.UniqueKeys.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.UniqueKeys.Handler</a> uniqueKeysHandler</pre> |
| </li> |
| </ul> |
| <a id="THREAD_PROVIDERS"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>THREAD_PROVIDERS</h4> |
| <pre>public static final java.lang.ThreadLocal<<a href="JaninoRelMetadataProvider.html" title="class in org.apache.calcite.rel.metadata">JaninoRelMetadataProvider</a>> THREAD_PROVIDERS</pre> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="constructor.detail"> |
| <!-- --> |
| </a> |
| <h3>Constructor Detail</h3> |
| <a id="<init>(org.apache.calcite.rel.metadata.JaninoRelMetadataProvider,org.apache.calcite.rel.metadata.RelMetadataQuery)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>RelMetadataQuery</h4> |
| <pre>protected RelMetadataQuery​(<a href="JaninoRelMetadataProvider.html" title="class in org.apache.calcite.rel.metadata">JaninoRelMetadataProvider</a> metadataProvider, |
| <a href="RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a> prototype)</pre> |
| </li> |
| </ul> |
| <a id="<init>(boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>RelMetadataQuery</h4> |
| <pre>private RelMetadataQuery​(boolean dummy)</pre> |
| <div class="block">Creates and initializes the instance that will serve as a prototype for |
| all other instances.</div> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| <!-- ============ METHOD DETAIL ========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="method.detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a id="initialHandler(java.lang.Class)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>initialHandler</h4> |
| <pre class="methodSignature">protected static <H> H initialHandler​(java.lang.Class<H> handlerClass)</pre> |
| </li> |
| </ul> |
| <a id="instance()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>instance</h4> |
| <pre class="methodSignature">public static <a href="RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a> instance()</pre> |
| <div class="block">Returns an instance of RelMetadataQuery. It ensures that cycles do not |
| occur while computing metadata.</div> |
| </li> |
| </ul> |
| <a id="revise(java.lang.Class,org.apache.calcite.rel.metadata.MetadataDef)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>revise</h4> |
| <pre class="methodSignature">protected <M extends <a href="Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>,​H extends <a href="MetadataHandler.html" title="interface in org.apache.calcite.rel.metadata">MetadataHandler</a><M>> H revise​(java.lang.Class<? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>> class_, |
| <a href="MetadataDef.html" title="class in org.apache.calcite.rel.metadata">MetadataDef</a><M> def)</pre> |
| <div class="block">Re-generates the handler for a given kind of metadata, adding support for |
| <code>class_</code> if it is not already present.</div> |
| </li> |
| </ul> |
| <a id="getNodeTypes(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getNodeTypes</h4> |
| <pre class="methodSignature">public com.google.common.collect.Multimap<java.lang.Class<? extends <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>>,​<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>> getNodeTypes​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.NodeTypes.html#getNodeTypes()"><code>BuiltInMetadata.NodeTypes.getNodeTypes()</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getRowCount(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getRowCount</h4> |
| <pre class="methodSignature">public java.lang.Double getRowCount​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.RowCount.html#getRowCount()"><code>BuiltInMetadata.RowCount.getRowCount()</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>estimated row count, or null if no reliable estimate can be |
| determined</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getMaxRowCount(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getMaxRowCount</h4> |
| <pre class="methodSignature">public java.lang.Double getMaxRowCount​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.MaxRowCount.html#getMaxRowCount()"><code>BuiltInMetadata.MaxRowCount.getMaxRowCount()</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>max row count</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getMinRowCount(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getMinRowCount</h4> |
| <pre class="methodSignature">public java.lang.Double getMinRowCount​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.MinRowCount.html#getMinRowCount()"><code>BuiltInMetadata.MinRowCount.getMinRowCount()</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>max row count</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getCumulativeCost(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCumulativeCost</h4> |
| <pre class="methodSignature">public <a href="../../plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a> getCumulativeCost​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.CumulativeCost.html#getCumulativeCost()"><code>BuiltInMetadata.CumulativeCost.getCumulativeCost()</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>estimated cost, or null if no reliable estimate can be determined</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getNonCumulativeCost(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getNonCumulativeCost</h4> |
| <pre class="methodSignature">public <a href="../../plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a> getNonCumulativeCost​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.NonCumulativeCost.html#getNonCumulativeCost()"><code>BuiltInMetadata.NonCumulativeCost.getNonCumulativeCost()</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>estimated cost, or null if no reliable estimate can be determined</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getPercentageOriginalRows(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getPercentageOriginalRows</h4> |
| <pre class="methodSignature">public java.lang.Double getPercentageOriginalRows​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.PercentageOriginalRows.html#getPercentageOriginalRows()"><code>BuiltInMetadata.PercentageOriginalRows.getPercentageOriginalRows()</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>estimated percentage (between 0.0 and 1.0), or null if no |
| reliable estimate can be determined</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getColumnOrigins(org.apache.calcite.rel.RelNode,int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getColumnOrigins</h4> |
| <pre class="methodSignature">public java.util.Set<<a href="RelColumnOrigin.html" title="class in org.apache.calcite.rel.metadata">RelColumnOrigin</a>> getColumnOrigins​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| int column)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.ColumnOrigin.html#getColumnOrigins(int)"><code>BuiltInMetadata.ColumnOrigin.getColumnOrigins(int)</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dd><code>column</code> - 0-based ordinal for output column of interest</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>set of origin columns, or null if this information cannot be |
| determined (whereas empty set indicates definitely no origin columns at |
| all)</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getColumnOrigin(org.apache.calcite.rel.RelNode,int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getColumnOrigin</h4> |
| <pre class="methodSignature">public <a href="RelColumnOrigin.html" title="class in org.apache.calcite.rel.metadata">RelColumnOrigin</a> getColumnOrigin​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| int column)</pre> |
| <div class="block">Determines the origin of a column, provided the column maps to a single |
| column that isn't derived.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the RelNode of the column</dd> |
| <dd><code>column</code> - the offset of the column whose origin we are trying to |
| determine</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the origin of a column provided it's a simple column; otherwise, |
| returns null</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="#getColumnOrigins(org.apache.calcite.rel.RelNode,int)"><code>getColumnOrigins(org.apache.calcite.rel.RelNode, int)</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getExpressionLineage(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getExpressionLineage</h4> |
| <pre class="methodSignature">public java.util.Set<<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> getExpressionLineage​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> expression)</pre> |
| <div class="block">Determines the origin of a column.</div> |
| </li> |
| </ul> |
| <a id="getTableReferences(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getTableReferences</h4> |
| <pre class="methodSignature">public java.util.Set<<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>> getTableReferences​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Determines the tables used by a plan.</div> |
| </li> |
| </ul> |
| <a id="getTableOrigin(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getTableOrigin</h4> |
| <pre class="methodSignature">public <a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a> getTableOrigin​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Determines the origin of a <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a>, provided it maps to a single |
| table, optionally with filtering and projection.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the RelNode</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the table, if the RelNode is a simple table; otherwise null</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getSelectivity(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getSelectivity</h4> |
| <pre class="methodSignature">public java.lang.Double getSelectivity​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> predicate)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Selectivity.html#getSelectivity(org.apache.calcite.rex.RexNode)"><code>BuiltInMetadata.Selectivity.getSelectivity(RexNode)</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dd><code>predicate</code> - predicate whose selectivity is to be estimated against |
| <code>rel</code>'s output</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>estimated selectivity (between 0.0 and 1.0), or null if no |
| reliable estimate can be determined</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getUniqueKeys(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getUniqueKeys</h4> |
| <pre class="methodSignature">public java.util.Set<<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>> getUniqueKeys​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.UniqueKeys.html#getUniqueKeys(boolean)"><code>BuiltInMetadata.UniqueKeys.getUniqueKeys(boolean)</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>set of keys, or null if this information cannot be determined |
| (whereas empty set indicates definitely no keys at all)</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getUniqueKeys(org.apache.calcite.rel.RelNode,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getUniqueKeys</h4> |
| <pre class="methodSignature">public java.util.Set<<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>> getUniqueKeys​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| boolean ignoreNulls)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.UniqueKeys.html#getUniqueKeys(boolean)"><code>BuiltInMetadata.UniqueKeys.getUniqueKeys(boolean)</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dd><code>ignoreNulls</code> - if true, ignore null values when determining |
| whether the keys are unique</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>set of keys, or null if this information cannot be determined |
| (whereas empty set indicates definitely no keys at all)</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="areRowsUnique(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>areRowsUnique</h4> |
| <pre class="methodSignature">public java.lang.Boolean areRowsUnique​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns whether the rows of a given relational expression are distinct. |
| This is derived by applying the |
| <a href="BuiltInMetadata.ColumnUniqueness.html#areColumnsUnique(org.apache.calcite.util.ImmutableBitSet,boolean)"><code>BuiltInMetadata.ColumnUniqueness.areColumnsUnique(org.apache.calcite.util.ImmutableBitSet, boolean)</code></a> |
| statistic over all columns.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>true or false depending on whether the rows are unique, or |
| null if not enough information is available to make that determination</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="areColumnsUnique(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>areColumnsUnique</h4> |
| <pre class="methodSignature">public java.lang.Boolean areColumnsUnique​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a> columns)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.ColumnUniqueness.html#areColumnsUnique(org.apache.calcite.util.ImmutableBitSet,boolean)"><code>BuiltInMetadata.ColumnUniqueness.areColumnsUnique(ImmutableBitSet, boolean)</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dd><code>columns</code> - column mask representing the subset of columns for which |
| uniqueness will be determined</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>true or false depending on whether the columns are unique, or |
| null if not enough information is available to make that determination</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="areColumnsUnique(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>areColumnsUnique</h4> |
| <pre class="methodSignature">public java.lang.Boolean areColumnsUnique​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a> columns, |
| boolean ignoreNulls)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.ColumnUniqueness.html#areColumnsUnique(org.apache.calcite.util.ImmutableBitSet,boolean)"><code>BuiltInMetadata.ColumnUniqueness.areColumnsUnique(ImmutableBitSet, boolean)</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dd><code>columns</code> - column mask representing the subset of columns for which |
| uniqueness will be determined</dd> |
| <dd><code>ignoreNulls</code> - if true, ignore null values when determining column |
| uniqueness</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>true or false depending on whether the columns are unique, or |
| null if not enough information is available to make that determination</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="collations(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>collations</h4> |
| <pre class="methodSignature">public com.google.common.collect.ImmutableList<<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>> collations​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Collation.html#collations()"><code>BuiltInMetadata.Collation.collations()</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>List of sorted column combinations, or |
| null if not enough information is available to make that determination</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="distribution(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>distribution</h4> |
| <pre class="methodSignature">public <a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a> distribution​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Distribution.html#distribution()"><code>BuiltInMetadata.Distribution.distribution()</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>List of sorted column combinations, or |
| null if not enough information is available to make that determination</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getPopulationSize(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getPopulationSize</h4> |
| <pre class="methodSignature">public java.lang.Double getPopulationSize​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a> groupKey)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.PopulationSize.html#getPopulationSize(org.apache.calcite.util.ImmutableBitSet)"><code>BuiltInMetadata.PopulationSize.getPopulationSize(ImmutableBitSet)</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dd><code>groupKey</code> - column mask representing the subset of columns for which |
| the row count will be determined</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>distinct row count for the given groupKey, or null if no reliable |
| estimate can be determined</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getAverageRowSize(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getAverageRowSize</h4> |
| <pre class="methodSignature">public java.lang.Double getAverageRowSize​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Size.html#averageRowSize()"><code>BuiltInMetadata.Size.averageRowSize()</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>average size of a row, in bytes, or null if not known</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getAverageColumnSizes(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getAverageColumnSizes</h4> |
| <pre class="methodSignature">public java.util.List<java.lang.Double> getAverageColumnSizes​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Size.html#averageColumnSizes()"><code>BuiltInMetadata.Size.averageColumnSizes()</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>a list containing, for each column, the average size of a column |
| value, in bytes. Each value or the entire list may be null if the |
| metadata is not available</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getAverageColumnSizesNotNull(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getAverageColumnSizesNotNull</h4> |
| <pre class="methodSignature">public java.util.List<java.lang.Double> getAverageColumnSizesNotNull​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">As <a href="#getAverageColumnSizes(org.apache.calcite.rel.RelNode)"><code>getAverageColumnSizes(org.apache.calcite.rel.RelNode)</code></a> but |
| never returns a null list, only ever a list of nulls.</div> |
| </li> |
| </ul> |
| <a id="isPhaseTransition(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isPhaseTransition</h4> |
| <pre class="methodSignature">public java.lang.Boolean isPhaseTransition​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Parallelism.html#isPhaseTransition()"><code>BuiltInMetadata.Parallelism.isPhaseTransition()</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>whether each physical operator implementing this relational |
| expression belongs to a different process than its inputs, or null if not |
| known</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="splitCount(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>splitCount</h4> |
| <pre class="methodSignature">public java.lang.Integer splitCount​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Parallelism.html#splitCount()"><code>BuiltInMetadata.Parallelism.splitCount()</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the number of distinct splits of the data, or null if not known</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="memory(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>memory</h4> |
| <pre class="methodSignature">public java.lang.Double memory​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Memory.html#memory()"><code>BuiltInMetadata.Memory.memory()</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the expected amount of memory, in bytes, required by a physical |
| operator implementing this relational expression, across all splits, |
| or null if not known</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="cumulativeMemoryWithinPhase(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>cumulativeMemoryWithinPhase</h4> |
| <pre class="methodSignature">public java.lang.Double cumulativeMemoryWithinPhase​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Memory.html#cumulativeMemoryWithinPhase()"><code>BuiltInMetadata.Memory.cumulativeMemoryWithinPhase()</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the cumulative amount of memory, in bytes, required by the |
| physical operator implementing this relational expression, and all other |
| operators within the same phase, across all splits, or null if not known</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="cumulativeMemoryWithinPhaseSplit(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>cumulativeMemoryWithinPhaseSplit</h4> |
| <pre class="methodSignature">public java.lang.Double cumulativeMemoryWithinPhaseSplit​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Memory.html#cumulativeMemoryWithinPhaseSplit()"><code>BuiltInMetadata.Memory.cumulativeMemoryWithinPhaseSplit()</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the expected cumulative amount of memory, in bytes, required by |
| the physical operator implementing this relational expression, and all |
| operators within the same phase, within each split, or null if not known</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getDistinctRowCount(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.rex.RexNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getDistinctRowCount</h4> |
| <pre class="methodSignature">public java.lang.Double getDistinctRowCount​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a> groupKey, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> predicate)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.DistinctRowCount.html#getDistinctRowCount(org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.rex.RexNode)"><code>BuiltInMetadata.DistinctRowCount.getDistinctRowCount(ImmutableBitSet, RexNode)</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dd><code>groupKey</code> - column mask representing group by columns</dd> |
| <dd><code>predicate</code> - pre-filtered predicates</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>distinct row count for groupKey, filtered by predicate, or null |
| if no reliable estimate can be determined</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getPulledUpPredicates(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getPulledUpPredicates</h4> |
| <pre class="methodSignature">public <a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a> getPulledUpPredicates​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Predicates.html#getPredicates()"><code>BuiltInMetadata.Predicates.getPredicates()</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Predicates that can be pulled above this RelNode</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getAllPredicates(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getAllPredicates</h4> |
| <pre class="methodSignature">public <a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a> getAllPredicates​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.AllPredicates.html#getAllPredicates()"><code>BuiltInMetadata.AllPredicates.getAllPredicates()</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>All predicates within and below this RelNode</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="isVisibleInExplain(org.apache.calcite.rel.RelNode,org.apache.calcite.sql.SqlExplainLevel)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isVisibleInExplain</h4> |
| <pre class="methodSignature">public boolean isVisibleInExplain​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../../sql/SqlExplainLevel.html" title="enum in org.apache.calcite.sql">SqlExplainLevel</a> explainLevel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.ExplainVisibility.html#isVisibleInExplain(org.apache.calcite.sql.SqlExplainLevel)"><code>BuiltInMetadata.ExplainVisibility.isVisibleInExplain(SqlExplainLevel)</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dd><code>explainLevel</code> - level of detail</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>true for visible, false for invisible; if no metadata is available, |
| defaults to true</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="validatePercentage(java.lang.Double)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>validatePercentage</h4> |
| <pre class="methodSignature">private static java.lang.Double validatePercentage​(java.lang.Double result)</pre> |
| </li> |
| </ul> |
| <a id="getDistribution(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getDistribution</h4> |
| <pre class="methodSignature">public <a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a> getDistribution​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</pre> |
| <div class="block">Returns the |
| <a href="BuiltInMetadata.Distribution.html#distribution()"><code>BuiltInMetadata.Distribution.distribution()</code></a> |
| statistic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>rel</code> - the relational expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>description of how the rows in the relational expression are |
| physically distributed</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="isPercentage(java.lang.Double,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isPercentage</h4> |
| <pre class="methodSignature">private static boolean isPercentage​(java.lang.Double result, |
| boolean fail)</pre> |
| </li> |
| </ul> |
| <a id="isNonNegative(java.lang.Double,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isNonNegative</h4> |
| <pre class="methodSignature">private static boolean isNonNegative​(java.lang.Double result, |
| boolean fail)</pre> |
| </li> |
| </ul> |
| <a id="validateResult(java.lang.Double)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>validateResult</h4> |
| <pre class="methodSignature">private static java.lang.Double validateResult​(java.lang.Double result)</pre> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </main> |
| <!-- ========= END OF CLASS DATA ========= --> |
| <footer role="contentinfo"> |
| <nav role="navigation"> |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <div class="bottomNav"><a id="navbar.bottom"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> |
| <a id="navbar.bottom.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../index.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/RelMetadataQuery.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../help-doc.html">Help</a></li> |
| </ul> |
| </div> |
| <div class="subNav"> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../../allclasses.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_bottom"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>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 id="skip.navbar.bottom"> |
| <!-- --> |
| </a></div> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| </nav> |
| <p class="legalCopy"><small>Copyright © 2012–2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </footer> |
| </body> |
| </html> |