| <!DOCTYPE HTML> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc --> |
| <title>RelMetadataQuery (Apache Calcite calcite API)</title> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta name="description" content="declaration: package: org.apache.calcite.rel.metadata, class: RelMetadataQuery"> |
| <meta name="generator" content="javadoc/ClassWriterImpl"> |
| <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.css" title="Style"> |
| <script type="text/javascript" src="../../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../../script-dir/jszip/dist/jszip.min.js"></script> |
| <script type="text/javascript" src="../../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script> |
| <!--[if IE]> |
| <script type="text/javascript" src="../../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script> |
| <![endif]--> |
| <script type="text/javascript" src="../../../../../script-dir/jquery-3.4.1.js"></script> |
| <script type="text/javascript" src="../../../../../script-dir/jquery-ui.js"></script> |
| </head> |
| <body class="class-declaration"> |
| <script type="text/javascript">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":10,"i31":9,"i32":10,"i33":10,"i34":10,"i35":10}; |
| 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 = "../../../../../"; |
| loadScripts(document, 'script');</script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <div class="flexBox"> |
| <header role="banner" class="flexHeader"> |
| <nav role="navigation"> |
| <!-- ========= 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="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../help-doc.html">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><b>Apache Calcite</b></div> |
| </div> |
| <div class="subNav"> |
| <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>Field | </li> |
| <li><a href="#constructor.detail">Constr</a> | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <div class="navListSearch"><label for="search">SEARCH:</label> |
| <input type="text" id="search" value="search" disabled="disabled"> |
| <input type="reset" id="reset" value="reset" disabled="disabled"> |
| </div> |
| </div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <div class="skipNav"><a id="skip.navbar.top"> |
| <!-- --> |
| </a></div> |
| </nav> |
| </header> |
| <div class="flexContent"> |
| <main role="main"> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="subTitle"><span class="packageLabelInType">Package</span> <a href="package-summary.html">org.apache.calcite.rel.metadata</a></div> |
| <h1 title="Class RelMetadataQuery" class="title">Class RelMetadataQuery</h1> |
| </div> |
| <div class="contentContainer"> |
| <div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a> |
| <div class="inheritance"><a href="RelMetadataQueryBase.html" title="class in org.apache.calcite.rel.metadata">org.apache.calcite.rel.metadata.RelMetadataQueryBase</a> |
| <div class="inheritance">org.apache.calcite.rel.metadata.RelMetadataQuery</div> |
| </div> |
| </div> |
| <section class="description"> |
| <hr> |
| <pre>public class <span class="typeNameLabel">RelMetadataQuery</span> |
| extends <a href="RelMetadataQueryBase.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQueryBase</a></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> |
| </section> |
| <section class="summary"> |
| <ul class="blockList"> |
| <!-- =========== FIELD SUMMARY =========== --> |
| <li class="blockList"> |
| <section class="fieldSummary"><a id="field.summary"> |
| <!-- --> |
| </a> |
| <h2>Field Summary</h2> |
| <div class="inheritedList"> |
| <h3>Fields inherited from class org.apache.calcite.rel.metadata.<a href="RelMetadataQueryBase.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQueryBase</a></h3> |
| <a id="fields.inherited.from.class.org.apache.calcite.rel.metadata.RelMetadataQueryBase"> |
| <!-- --> |
| </a><code><a href="RelMetadataQueryBase.html#map">map</a>, <a href="RelMetadataQueryBase.html#metadataProvider">metadataProvider</a>, <a href="RelMetadataQueryBase.html#THREAD_PROVIDERS">THREAD_PROVIDERS</a></code></div> |
| </section> |
| </li> |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| <li class="blockList"> |
| <section class="constructorSummary"><a id="constructor.summary"> |
| <!-- --> |
| </a> |
| <h2>Constructor Summary</h2> |
| <div class="memberSummary"> |
| <table> |
| <caption><span>Constructors</span><span class="tabEnd"> </span></caption> |
| <thead> |
| <tr> |
| <th class="colFirst" scope="col">Modifier</th> |
| <th class="colSecond" scope="col">Constructor</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr class="altColor"> |
| <td class="colFirst"><code>protected </code></td> |
| <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">RelMetadataQuery</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Creates the instance with <a href="JaninoRelMetadataProvider.html" title="class in org.apache.calcite.rel.metadata"><code>JaninoRelMetadataProvider</code></a> instance |
| from <a href="RelMetadataQueryBase.html#THREAD_PROVIDERS"><code>RelMetadataQueryBase.THREAD_PROVIDERS</code></a> and <code>EMPTY</code> as a prototype.</div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </section> |
| </li> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <li class="blockList"> |
| <section class="methodSummary"><a id="method.summary"> |
| <!-- --> |
| </a> |
| <h2>Method Summary</h2> |
| <div class="memberSummary"> |
| <div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t1" class="tableTab" onclick="show(1);">Static Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div> |
| <div id="memberSummary_tabpanel" role="tabpanel"> |
| <table aria-labelledby="t0"> |
| <thead> |
| <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> |
| </thead> |
| <tbody> |
| <tr class="altColor" id="i0"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang" class="externalLink">Boolean</a></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 class="rowColor" id="i1"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang" class="externalLink">Boolean</a></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 class="altColor" id="i2"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang" class="externalLink">Boolean</a></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 class="rowColor" id="i3"> |
| <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 class="altColor" id="i4"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></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 class="rowColor" id="i5"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></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 class="altColor" id="i6"> |
| <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 class="rowColor" id="i7"> |
| <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 class="altColor" id="i8"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a><<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a>></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 class="rowColor" id="i9"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a><<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a>></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 class="altColor" id="i10"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></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 class="rowColor" id="i11"> |
| <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 class="altColor" id="i12"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a><<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 class="rowColor" id="i13"> |
| <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 class="altColor" id="i14"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></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 class="rowColor" id="i15"> |
| <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 class="altColor" id="i16"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a><<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#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 class="rowColor" id="i17"> |
| <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="#getLowerBoundCost(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.volcano.VolcanoPlanner)">getLowerBoundCost</a></span>​(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../../plan/volcano/VolcanoPlanner.html" title="class in org.apache.calcite.plan.volcano">VolcanoPlanner</a> planner)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the lower bound cost of a RelNode.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i18"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></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 class="rowColor" id="i19"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></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 class="altColor" id="i20"> |
| <td class="colFirst"><code>com.google.common.collect.Multimap<<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a><? 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 class="rowColor" id="i21"> |
| <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 class="altColor" id="i22"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></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 class="rowColor" id="i23"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></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 class="altColor" id="i24"> |
| <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 class="rowColor" id="i25"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></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 class="altColor" id="i26"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></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 class="rowColor" id="i27"> |
| <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 class="altColor" id="i28"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a><<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 class="rowColor" id="i29"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a><<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 class="altColor" id="i30"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a><<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 class="rowColor" id="i31"> |
| <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 class="altColor" id="i32"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang" class="externalLink">Boolean</a></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 class="rowColor" id="i33"> |
| <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 class="altColor" id="i34"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></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 class="rowColor" id="i35"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink">Integer</a></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> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| <div class="inheritedList"> |
| <h3>Methods inherited from class org.apache.calcite.rel.metadata.<a href="RelMetadataQueryBase.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQueryBase</a></h3> |
| <a id="methods.inherited.from.class.org.apache.calcite.rel.metadata.RelMetadataQueryBase"> |
| <!-- --> |
| </a><code><a href="RelMetadataQueryBase.html#clearCache(org.apache.calcite.rel.RelNode)">clearCache</a>, <a href="RelMetadataQueryBase.html#initialHandler(java.lang.Class)">initialHandler</a>, <a href="RelMetadataQueryBase.html#revise(java.lang.Class,org.apache.calcite.rel.metadata.MetadataDef)">revise</a></code></div> |
| <div class="inheritedList"> |
| <h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3> |
| <a id="methods.inherited.from.class.java.lang.Object"> |
| <!-- --> |
| </a><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <section class="details"> |
| <ul class="blockList"> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <li class="blockList"> |
| <section class="constructorDetails"><a id="constructor.detail"> |
| <!-- --> |
| </a> |
| <h2>Constructor Details</h2> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="<init>()">RelMetadataQuery</a></h3> |
| <div class="memberSignature"><span class="modifiers">protected</span> <span class="memberName">RelMetadataQuery</span>()</div> |
| <div class="block">Creates the instance with <a href="JaninoRelMetadataProvider.html" title="class in org.apache.calcite.rel.metadata"><code>JaninoRelMetadataProvider</code></a> instance |
| from <a href="RelMetadataQueryBase.html#THREAD_PROVIDERS"><code>RelMetadataQueryBase.THREAD_PROVIDERS</code></a> and <code>EMPTY</code> as a prototype.</div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| <!-- ============ METHOD DETAIL ========== --> |
| <li class="blockList"> |
| <section class="methodDetails"><a id="method.detail"> |
| <!-- --> |
| </a> |
| <h2>Method Details</h2> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="instance()">instance</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static</span> <span class="returnType"><a href="RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a></span> <span class="memberName">instance</span>()</div> |
| <div class="block">Returns an instance of RelMetadataQuery. It ensures that cycles do not |
| occur while computing metadata.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getNodeTypes(org.apache.calcite.rel.RelNode)">getNodeTypes</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType">com.google.common.collect.Multimap<<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a><? 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>></span> <span class="memberName">getNodeTypes</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getRowCount(org.apache.calcite.rel.RelNode)">getRowCount</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></span> <span class="memberName">getRowCount</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getMaxRowCount(org.apache.calcite.rel.RelNode)">getMaxRowCount</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></span> <span class="memberName">getMaxRowCount</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getMinRowCount(org.apache.calcite.rel.RelNode)">getMinRowCount</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></span> <span class="memberName">getMinRowCount</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getCumulativeCost(org.apache.calcite.rel.RelNode)">getCumulativeCost</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="../../plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></span> <span class="memberName">getCumulativeCost</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getNonCumulativeCost(org.apache.calcite.rel.RelNode)">getNonCumulativeCost</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="../../plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></span> <span class="memberName">getNonCumulativeCost</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getPercentageOriginalRows(org.apache.calcite.rel.RelNode)">getPercentageOriginalRows</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></span> <span class="memberName">getPercentageOriginalRows</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getColumnOrigins(org.apache.calcite.rel.RelNode,int)">getColumnOrigins</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a><<a href="RelColumnOrigin.html" title="class in org.apache.calcite.rel.metadata">RelColumnOrigin</a>></span> <span class="memberName">getColumnOrigins</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| int column)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getColumnOrigin(org.apache.calcite.rel.RelNode,int)">getColumnOrigin</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="RelColumnOrigin.html" title="class in org.apache.calcite.rel.metadata">RelColumnOrigin</a></span> <span class="memberName">getColumnOrigin</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| int column)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getExpressionLineage(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">getExpressionLineage</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a><<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></span> <span class="memberName">getExpressionLineage</span>​(<span class="arguments"><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)</span></div> |
| <div class="block">Determines the origin of a column.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getTableReferences(org.apache.calcite.rel.RelNode)">getTableReferences</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a><<a href="../../rex/RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>></span> <span class="memberName">getTableReferences</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <div class="block">Determines the tables used by a plan.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getTableOrigin(org.apache.calcite.rel.RelNode)">getTableOrigin</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="../../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a></span> <span class="memberName">getTableOrigin</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getSelectivity(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)">getSelectivity</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></span> <span class="memberName">getSelectivity</span>​(<span class="arguments"><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)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getUniqueKeys(org.apache.calcite.rel.RelNode)">getUniqueKeys</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a><<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>></span> <span class="memberName">getUniqueKeys</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getUniqueKeys(org.apache.calcite.rel.RelNode,boolean)">getUniqueKeys</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a><<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>></span> <span class="memberName">getUniqueKeys</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| boolean ignoreNulls)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="areRowsUnique(org.apache.calcite.rel.RelNode)">areRowsUnique</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang" class="externalLink">Boolean</a></span> <span class="memberName">areRowsUnique</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="areColumnsUnique(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet)">areColumnsUnique</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang" class="externalLink">Boolean</a></span> <span class="memberName">areColumnsUnique</span>​(<span class="arguments"><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)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="areColumnsUnique(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet,boolean)">areColumnsUnique</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang" class="externalLink">Boolean</a></span> <span class="memberName">areColumnsUnique</span>​(<span class="arguments"><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)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="collations(org.apache.calcite.rel.RelNode)">collations</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType">com.google.common.collect.ImmutableList<<a href="../RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>></span> <span class="memberName">collations</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="distribution(org.apache.calcite.rel.RelNode)">distribution</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a></span> <span class="memberName">distribution</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getPopulationSize(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet)">getPopulationSize</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></span> <span class="memberName">getPopulationSize</span>​(<span class="arguments"><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)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getAverageRowSize(org.apache.calcite.rel.RelNode)">getAverageRowSize</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></span> <span class="memberName">getAverageRowSize</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getAverageColumnSizes(org.apache.calcite.rel.RelNode)">getAverageColumnSizes</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a><<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a>></span> <span class="memberName">getAverageColumnSizes</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getAverageColumnSizesNotNull(org.apache.calcite.rel.RelNode)">getAverageColumnSizesNotNull</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a><<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a>></span> <span class="memberName">getAverageColumnSizesNotNull</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="isPhaseTransition(org.apache.calcite.rel.RelNode)">isPhaseTransition</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang" class="externalLink">Boolean</a></span> <span class="memberName">isPhaseTransition</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="splitCount(org.apache.calcite.rel.RelNode)">splitCount</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink">Integer</a></span> <span class="memberName">splitCount</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="memory(org.apache.calcite.rel.RelNode)">memory</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></span> <span class="memberName">memory</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="cumulativeMemoryWithinPhase(org.apache.calcite.rel.RelNode)">cumulativeMemoryWithinPhase</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></span> <span class="memberName">cumulativeMemoryWithinPhase</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="cumulativeMemoryWithinPhaseSplit(org.apache.calcite.rel.RelNode)">cumulativeMemoryWithinPhaseSplit</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></span> <span class="memberName">cumulativeMemoryWithinPhaseSplit</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getDistinctRowCount(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.rex.RexNode)">getDistinctRowCount</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a></span> <span class="memberName">getDistinctRowCount</span>​(<span class="arguments"><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)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getPulledUpPredicates(org.apache.calcite.rel.RelNode)">getPulledUpPredicates</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a></span> <span class="memberName">getPulledUpPredicates</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getAllPredicates(org.apache.calcite.rel.RelNode)">getAllPredicates</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="../../plan/RelOptPredicateList.html" title="class in org.apache.calcite.plan">RelOptPredicateList</a></span> <span class="memberName">getAllPredicates</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="isVisibleInExplain(org.apache.calcite.rel.RelNode,org.apache.calcite.sql.SqlExplainLevel)">isVisibleInExplain</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType">boolean</span> <span class="memberName">isVisibleInExplain</span>​(<span class="arguments"><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)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getDistribution(org.apache.calcite.rel.RelNode)">getDistribution</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="../RelDistribution.html" title="interface in org.apache.calcite.rel">RelDistribution</a></span> <span class="memberName">getDistribution</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel)</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getLowerBoundCost(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.volcano.VolcanoPlanner)">getLowerBoundCost</a></h3> |
| <div class="memberSignature"><span class="modifiers">public</span> <span class="returnType"><a href="../../plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></span> <span class="memberName">getLowerBoundCost</span>​(<span class="arguments"><a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a> rel, |
| <a href="../../plan/volcano/VolcanoPlanner.html" title="class in org.apache.calcite.plan.volcano">VolcanoPlanner</a> planner)</span></div> |
| <div class="block">Returns the lower bound cost of a RelNode.</div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </div> |
| <!-- ========= END OF CLASS DATA ========= --> |
| </main> |
| <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="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../help-doc.html">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><b>Apache Calcite</b></div> |
| </div> |
| <div class="subNav"> |
| <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>Field | </li> |
| <li><a href="#constructor.detail">Constr</a> | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| </div> |
| <a id="skip.navbar.bottom"> |
| <!-- --> |
| </a> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| </nav> |
| <p class="legalCopy"><small>Copyright © 2012-2020 Apache Software Foundation. All Rights Reserved.</small></p> |
| </footer> |
| </div> |
| </div> |
| </body> |
| </html> |