blob: 3fd25c94554b0b96a99a3145a8878a5b417917a6 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>RelMetadataTest (Calcite 1.21.0 Test 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="RelMetadataTest (Calcite 1.21.0 Test API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"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":9,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":10,"i119":10,"i120":10,"i121":10,"i122":10,"i123":10,"i124":10,"i125":10,"i126":10,"i127":10,"i128":10,"i129":10,"i130":10,"i131":10,"i132":10,"i133":10,"i134":10,"i135":10,"i136":10,"i137":10,"i138":10,"i139":10,"i140":10,"i141":10,"i142":10,"i143":10,"i144":10,"i145":10,"i146":10,"i147":10,"i148":10,"i149":10,"i150":10,"i151":10,"i152":10,"i153":10,"i154":10,"i155":10,"i156":10,"i157":10,"i158":10,"i159":10,"i160":10,"i161":10,"i162":10,"i163":10,"i164":10,"i165":10,"i166":10,"i167":10,"i168":10,"i169":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 = "../../../../";
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/RelMetadataTest.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&nbsp;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:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</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">&nbsp;</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>&nbsp;<a href="package-summary.html">org.apache.calcite.test</a></div>
<h2 title="Class RelMetadataTest" class="title">Class RelMetadataTest</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="SqlToRelTestBase.html" title="class in org.apache.calcite.test">org.apache.calcite.test.SqlToRelTestBase</a></li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.test.RelMetadataTest</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">RelMetadataTest</span>
extends <a href="SqlToRelTestBase.html" title="class in org.apache.calcite.test">SqlToRelTestBase</a></pre>
<div class="block">Unit test for <code>DefaultRelMetadataProvider</code>. See
<a href="SqlToRelTestBase.html" title="class in org.apache.calcite.test"><code>SqlToRelTestBase</code></a> class comments for details on the schema used. Note
that no optimizer rules are fired on the translation of the SQL into
relational algebra (e.g. join conditions in the WHERE clause will look like
filters), so it's necessary to phrase the SQL carefully.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelMetadataTest.BrokenColTypeImpl.html" title="class in org.apache.calcite.test">RelMetadataTest.BrokenColTypeImpl</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of <a href="RelMetadataTest.ColType.html" title="interface in org.apache.calcite.test"><code>RelMetadataTest.ColType</code></a> that has no fall-back for <code>RelNode</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelMetadataTest.ColType.html" title="interface in org.apache.calcite.test">RelMetadataTest.ColType</a></span></code></th>
<td class="colLast">
<div class="block">Custom metadata interface.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelMetadataTest.ColTypeImpl.html" title="class in org.apache.calcite.test">RelMetadataTest.ColTypeImpl</a></span></code></th>
<td class="colLast">
<div class="block">A provider for <a href="RelMetadataTest.ColType.html" title="interface in org.apache.calcite.test"><code>RelMetadataTest.ColType</code></a> via
reflection.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelMetadataTest.DummyRelNode.html" title="class in org.apache.calcite.test">RelMetadataTest.DummyRelNode</a></span></code></th>
<td class="colLast">
<div class="block">Dummy rel node used for testing.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelMetadataTest.MyRelMetadataQuery.html" title="class in org.apache.calcite.test">RelMetadataTest.MyRelMetadataQuery</a></span></code></th>
<td class="colLast">
<div class="block">Extension to <code>RelMetadataQuery</code> to support <a href="RelMetadataTest.ColType.html" title="interface in org.apache.calcite.test"><code>RelMetadataTest.ColType</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelMetadataTest.PartialColTypeImpl.html" title="class in org.apache.calcite.test">RelMetadataTest.PartialColTypeImpl</a></span></code></th>
<td class="colLast">
<div class="block">A provider for <a href="RelMetadataTest.ColType.html" title="interface in org.apache.calcite.test"><code>RelMetadataTest.ColType</code></a> via
reflection.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.calcite.test.SqlToRelTestBase">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.calcite.test.<a href="SqlToRelTestBase.html" title="class in org.apache.calcite.test">SqlToRelTestBase</a></h3>
<code><a href="SqlToRelTestBase.CustomCorrelate.html" title="class in org.apache.calcite.test">SqlToRelTestBase.CustomCorrelate</a>, <a href="SqlToRelTestBase.MockRelOptSchema.html" title="class in org.apache.calcite.test">SqlToRelTestBase.MockRelOptSchema</a>, <a href="SqlToRelTestBase.Tester.html" title="interface in org.apache.calcite.test">SqlToRelTestBase.Tester</a>, <a href="SqlToRelTestBase.TesterImpl.html" title="class in org.apache.calcite.test">SqlToRelTestBase.TesterImpl</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</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 static double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DEFAULT_COMP_SELECTIVITY">DEFAULT_COMP_SELECTIVITY</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DEFAULT_EQUAL_SELECTIVITY">DEFAULT_EQUAL_SELECTIVITY</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DEFAULT_EQUAL_SELECTIVITY_SQUARED">DEFAULT_EQUAL_SELECTIVITY_SQUARED</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DEFAULT_NOTNULL_SELECTIVITY">DEFAULT_NOTNULL_SELECTIVITY</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DEFAULT_SELECTIVITY">DEFAULT_SELECTIVITY</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DEPT_SIZE">DEPT_SIZE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.util.List&lt;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EMP_QNAME">EMP_QNAME</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EMP_SIZE">EMP_SIZE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EPSILON">EPSILON</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.util.concurrent.locks.ReentrantLock</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#LOCK">LOCK</a></span></code></th>
<td class="colLast">
<div class="block">Ensures that tests that use a lot of memory do not run at the same
time.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static org.apache.calcite.sql.SqlOperator</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#NONDETERMINISTIC_OP">NONDETERMINISTIC_OP</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.apache.calcite.test.SqlToRelTestBase">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.calcite.test.<a href="SqlToRelTestBase.html" title="class in org.apache.calcite.test">SqlToRelTestBase</a></h3>
<code><a href="SqlToRelTestBase.html#NL">NL</a>, <a href="SqlToRelTestBase.html#strictTester">strictTester</a>, <a href="SqlToRelTestBase.html#tester">tester</a></code></li>
</ul>
</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">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">RelMetadataTest</a></span>()</code></th>
<td class="colLast">&nbsp;</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">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addRow(com.google.common.collect.ImmutableList.Builder,org.apache.calcite.rex.RexBuilder,java.lang.Object...)">addRow</a></span>&#8203;(com.google.common.collect.ImmutableList.Builder&lt;com.google.common.collect.ImmutableList&lt;org.apache.calcite.rex.RexLiteral&gt;&gt;&nbsp;builder,
org.apache.calcite.rex.RexBuilder&nbsp;rexBuilder,
java.lang.Object...&nbsp;values)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#assertUniqueConsistent(org.apache.calcite.rel.RelNode)">assertUniqueConsistent</a></span>&#8203;(org.apache.calcite.rel.RelNode&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Asserts that <code>RelMetadataQuery.getUniqueKeys(RelNode)</code>
and <code>RelMetadataQuery.areColumnsUnique(RelNode, ImmutableBitSet)</code>
return consistent results.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkAllPredicates(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptTable,org.apache.calcite.plan.RelOptTable)">checkAllPredicates</a></span>&#8203;(org.apache.calcite.plan.RelOptCluster&nbsp;cluster,
org.apache.calcite.plan.RelOptTable&nbsp;empTable,
org.apache.calcite.plan.RelOptTable&nbsp;deptTable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkAverageRowSize(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptTable,org.apache.calcite.plan.RelOptTable)">checkAverageRowSize</a></span>&#8203;(org.apache.calcite.plan.RelOptCluster&nbsp;cluster,
org.apache.calcite.plan.RelOptTable&nbsp;empTable,
org.apache.calcite.plan.RelOptTable&nbsp;deptTable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkCollation(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptTable,org.apache.calcite.plan.RelOptTable)">checkCollation</a></span>&#8203;(org.apache.calcite.plan.RelOptCluster&nbsp;cluster,
org.apache.calcite.plan.RelOptTable&nbsp;empTable,
org.apache.calcite.plan.RelOptTable&nbsp;deptTable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>private java.util.Set&lt;org.apache.calcite.rel.metadata.RelColumnOrigin&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkColumnOrigin(java.lang.String)">checkColumnOrigin</a></span>&#8203;(java.lang.String&nbsp;sql)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkColumnOrigin(org.apache.calcite.rel.metadata.RelColumnOrigin,java.lang.String,java.lang.String,boolean)">checkColumnOrigin</a></span>&#8203;(org.apache.calcite.rel.metadata.RelColumnOrigin&nbsp;rco,
java.lang.String&nbsp;expectedTableName,
java.lang.String&nbsp;expectedColumnName,
boolean&nbsp;expectedDerived)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkFilterSelectivity(java.lang.String,double)">checkFilterSelectivity</a></span>&#8203;(java.lang.String&nbsp;sql,
double&nbsp;expected)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkNoColumnOrigin(java.lang.String)">checkNoColumnOrigin</a></span>&#8203;(java.lang.String&nbsp;sql)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkNodeTypeCount(java.lang.String,java.util.Map)">checkNodeTypeCount</a></span>&#8203;(java.lang.String&nbsp;sql,
java.util.Map&lt;java.lang.Class&lt;? extends org.apache.calcite.rel.RelNode&gt;,&#8203;java.lang.Integer&gt;&nbsp;expected)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkPercentageOriginalRows(java.lang.String,double)">checkPercentageOriginalRows</a></span>&#8203;(java.lang.String&nbsp;sql,
double&nbsp;expected)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkPercentageOriginalRows(java.lang.String,double,double)">checkPercentageOriginalRows</a></span>&#8203;(java.lang.String&nbsp;sql,
double&nbsp;expected,
double&nbsp;epsilon)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkPredicates(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptTable,org.apache.calcite.plan.RelOptTable)">checkPredicates</a></span>&#8203;(org.apache.calcite.plan.RelOptCluster&nbsp;cluster,
org.apache.calcite.plan.RelOptTable&nbsp;empTable,
org.apache.calcite.plan.RelOptTable&nbsp;deptTable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkRelSelectivity(org.apache.calcite.rel.RelNode,double)">checkRelSelectivity</a></span>&#8203;(org.apache.calcite.rel.RelNode&nbsp;rel,
double&nbsp;expected)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkRowCount(java.lang.String,double,double,double)">checkRowCount</a></span>&#8203;(java.lang.String&nbsp;sql,
double&nbsp;expected,
double&nbsp;expectedMin,
double&nbsp;expectedMax)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkSingleColumnOrigin(java.lang.String,java.lang.String,java.lang.String,boolean)">checkSingleColumnOrigin</a></span>&#8203;(java.lang.String&nbsp;sql,
java.lang.String&nbsp;expectedTableName,
java.lang.String&nbsp;expectedColumnName,
boolean&nbsp;expectedDerived)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkTwoColumnOrigin(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean)">checkTwoColumnOrigin</a></span>&#8203;(java.lang.String&nbsp;sql,
java.lang.String&nbsp;expectedTableName1,
java.lang.String&nbsp;expectedColumnName1,
java.lang.String&nbsp;expectedTableName2,
java.lang.String&nbsp;expectedColumnName2,
boolean&nbsp;expectedDerived)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#colType(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,int)">colType</a></span>&#8203;(org.apache.calcite.rel.metadata.RelMetadataQuery&nbsp;mq,
org.apache.calcite.rel.RelNode&nbsp;rel,
int&nbsp;column)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>private org.apache.calcite.rel.RelNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertSql(java.lang.String)">convertSql</a></span>&#8203;(java.lang.String&nbsp;sql)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>private org.apache.calcite.rel.RelNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertSql(java.lang.String,boolean)">convertSql</a></span>&#8203;(java.lang.String&nbsp;sql,
boolean&nbsp;typeCoercion)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isUnique(java.util.Set,org.apache.calcite.util.ImmutableBitSet)">isUnique</a></span>&#8203;(java.util.Set&lt;org.apache.calcite.util.ImmutableBitSet&gt;&nbsp;uniqueKeys,
org.apache.calcite.util.ImmutableBitSet&nbsp;key)</code></th>
<td class="colLast">
<div class="block">Returns whether <code>keys</code> is unique, that is, whether it or a superset
is in <code>keySets</code>.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>(package private) static &lt;T&gt;&nbsp;org.hamcrest.Matcher&lt;java.lang.Iterable&lt;? extends T&gt;&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sortsAs(java.lang.String)">sortsAs</a></span>&#8203;(java.lang.String&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Matcher that succeeds for any collection that, when converted to strings
and sorted on those strings, matches the given reference string.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testAllPredicates()">testAllPredicates</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testAllPredicatesAggregate1()">testAllPredicatesAggregate1</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testAllPredicatesAggregate2()">testAllPredicatesAggregate2</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testAllPredicatesAggregate3()">testAllPredicatesAggregate3</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testAllPredicatesAndTablesJoin()">testAllPredicatesAndTablesJoin</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testAllPredicatesAndTableUnion()">testAllPredicatesAndTableUnion</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testAllPredicatesCrossJoinMultiTable()">testAllPredicatesCrossJoinMultiTable</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testAllPredicatesUnionMultiTable()">testAllPredicatesUnionMultiTable</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testAverageRowSize()">testAverageRowSize</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit test for
<code>RelMetadataQuery.getAverageColumnSizes(org.apache.calcite.rel.RelNode)</code>,
<code>RelMetadataQuery.getAverageRowSize(org.apache.calcite.rel.RelNode)</code>.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testBrokenCustomProvider()">testBrokenCustomProvider</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testCollation()">testCollation</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit test for
<code>RelMdCollation.project(org.apache.calcite.rel.metadata.RelMetadataQuery, org.apache.calcite.rel.RelNode, java.util.List&lt;? extends org.apache.calcite.rex.RexNode&gt;)</code>
and other helper functions for deducing collations.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testColumnOriginsAggCountNullable()">testColumnOriginsAggCountNullable</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testColumnOriginsAggCountStar()">testColumnOriginsAggCountStar</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testColumnOriginsAggKey()">testColumnOriginsAggKey</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testColumnOriginsAggReduced()">testColumnOriginsAggReduced</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testColumnOriginsConstant()">testColumnOriginsConstant</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testColumnOriginsDyadicExpression()">testColumnOriginsDyadicExpression</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testColumnOriginsExpression()">testColumnOriginsExpression</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testColumnOriginsFilter()">testColumnOriginsFilter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testColumnOriginsJoinFullOuter()">testColumnOriginsJoinFullOuter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testColumnOriginsJoinLeft()">testColumnOriginsJoinLeft</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testColumnOriginsJoinOuter()">testColumnOriginsJoinOuter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testColumnOriginsJoinRight()">testColumnOriginsJoinRight</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testColumnOriginsSelfUnion()">testColumnOriginsSelfUnion</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testColumnOriginsTableOnly()">testColumnOriginsTableOnly</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testColumnOriginsUnion()">testColumnOriginsUnion</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testColumnOriginsValues()">testColumnOriginsValues</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testColumnUniquenessForValues()">testColumnUniquenessForValues</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit test for
<code>RelMdColumnUniqueness.areColumnsUnique(org.apache.calcite.rel.core.TableScan, org.apache.calcite.rel.metadata.RelMetadataQuery, org.apache.calcite.util.ImmutableBitSet, boolean)</code>
applied to <code>Values</code>.</div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testCorrelateUniqueKeys()">testCorrelateUniqueKeys</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testCustomProvider()">testCustomProvider</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testDistinctRowCountTable()">testDistinctRowCountTable</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testDistinctRowCountTableEmptyKey()">testDistinctRowCountTableEmptyKey</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testDistributionHash()">testDistributionHash</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testDistributionHashEmpty()">testDistributionHashEmpty</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testDistributionSimple()">testDistributionSimple</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testDistributionSingleton()">testDistributionSingleton</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testEmptyAggregateTableOrigin()">testEmptyAggregateTableOrigin</a></span>()</code></th>
<td class="colLast">
<div class="block">Tests calling <code>RelMetadataQuery.getTableOrigin(org.apache.calcite.rel.RelNode)</code> for
an aggregate with no columns.</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testExpressionLineageAggregateAggColumn()">testExpressionLineageAggregateAggColumn</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testExpressionLineageAggregateGroupColumn()">testExpressionLineageAggregateGroupColumn</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testExpressionLineageCombineTwoColumns()">testExpressionLineageCombineTwoColumns</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testExpressionLineageFilter()">testExpressionLineageFilter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testExpressionLineageInnerJoinLeft()">testExpressionLineageInnerJoinLeft</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testExpressionLineageInnerJoinRight()">testExpressionLineageInnerJoinRight</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testExpressionLineageLeftJoinLeft()">testExpressionLineageLeftJoinLeft</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testExpressionLineageMultiUnion()">testExpressionLineageMultiUnion</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testExpressionLineageOuterJoin()">testExpressionLineageOuterJoin</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testExpressionLineageRightJoinRight()">testExpressionLineageRightJoinRight</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i69" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testExpressionLineageSelfJoin()">testExpressionLineageSelfJoin</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i70" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testExpressionLineageStar()">testExpressionLineageStar</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i71" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testExpressionLineageTwoColumns()">testExpressionLineageTwoColumns</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i72" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testExpressionLineageTwoColumnsSwapped()">testExpressionLineageTwoColumnsSwapped</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i73" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testExpressionLineageUnion()">testExpressionLineageUnion</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i74" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testExpressionLineageValues()">testExpressionLineageValues</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i75" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testFullOuterJoinUniqueness1()">testFullOuterJoinUniqueness1</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i76" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testGetPredicatesForFilter()">testGetPredicatesForFilter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i77" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testGetPredicatesForJoin()">testGetPredicatesForJoin</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i78" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testGroupBy()">testGroupBy</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i79" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testGroupByEmptyHavingUniqueKeys()">testGroupByEmptyHavingUniqueKeys</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i80" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testGroupByEmptyUniqueKeys()">testGroupByEmptyUniqueKeys</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i81" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testJoinUniqueKeys()">testJoinUniqueKeys</a></span>()</code></th>
<td class="colLast">
<div class="block">Test case for
<a href="https://issues.apache.org/jira/browse/CALCITE-509">[CALCITE-509]
"RelMdColumnUniqueness uses ImmutableBitSet.Builder twice, gets
NullPointerException"</a>.</div>
</td>
</tr>
<tr id="i82" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testLinear()">testLinear</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit test for <code>RelMdUtil.linear(int, int, int, double, double)</code>.</div>
</td>
</tr>
<tr id="i83" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testMetadataHandlerCacheLimit()">testMetadataHandlerCacheLimit</a></span>()</code></th>
<td class="colLast">
<div class="block">Test case for
<a href="https://issues.apache.org/jira/browse/CALCITE-1808">[CALCITE-1808]
JaninoRelMetadataProvider loading cache might cause
OutOfMemoryError</a>.</div>
</td>
</tr>
<tr id="i84" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountAggregate()">testNodeTypeCountAggregate</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i85" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountAggregateEmptyKeyOnEmptyTable()">testNodeTypeCountAggregateEmptyKeyOnEmptyTable</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i86" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountAggregateGroupingSets()">testNodeTypeCountAggregateGroupingSets</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i87" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountCartesian()">testNodeTypeCountCartesian</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i88" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountDept()">testNodeTypeCountDept</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i89" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountEmp()">testNodeTypeCountEmp</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i90" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountFilter()">testNodeTypeCountFilter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i91" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountFilterAggregateEmptyKey()">testNodeTypeCountFilterAggregateEmptyKey</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i92" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountJoin()">testNodeTypeCountJoin</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i93" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountJoinEmptyEmpty()">testNodeTypeCountJoinEmptyEmpty</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i94" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountJoinEmptyFinite()">testNodeTypeCountJoinEmptyFinite</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i95" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountJoinFinite()">testNodeTypeCountJoinFinite</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i96" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountJoinFiniteEmpty()">testNodeTypeCountJoinFiniteEmpty</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i97" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountLeftJoinEmptyFinite()">testNodeTypeCountLeftJoinEmptyFinite</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i98" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountMinusOnFinite()">testNodeTypeCountMinusOnFinite</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i99" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountRightJoinEmptyFinite()">testNodeTypeCountRightJoinEmptyFinite</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i100" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountSort()">testNodeTypeCountSort</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i101" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountSortLimit()">testNodeTypeCountSortLimit</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i102" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountSortLimitOffset()">testNodeTypeCountSortLimitOffset</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i103" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountSortLimitOffsetOnFinite()">testNodeTypeCountSortLimitOffsetOnFinite</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i104" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountUnion()">testNodeTypeCountUnion</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i105" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountUnionOnFinite()">testNodeTypeCountUnionOnFinite</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i106" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNodeTypeCountValues()">testNodeTypeCountValues</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i107" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPercentageOriginalRowsAgg()">testPercentageOriginalRowsAgg</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i108" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPercentageOriginalRowsJoin()">testPercentageOriginalRowsJoin</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i109" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPercentageOriginalRowsJoinTwoFilters()">testPercentageOriginalRowsJoinTwoFilters</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i110" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPercentageOriginalRowsOneFilter()">testPercentageOriginalRowsOneFilter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i111" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPercentageOriginalRowsRedundantFilter()">testPercentageOriginalRowsRedundantFilter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i112" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPercentageOriginalRowsTableOnly()">testPercentageOriginalRowsTableOnly</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i113" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPercentageOriginalRowsTwoFilters()">testPercentageOriginalRowsTwoFilters</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i114" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPercentageOriginalRowsUnionBigFilter()">testPercentageOriginalRowsUnionBigFilter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i115" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPercentageOriginalRowsUnionLittleFilter()">testPercentageOriginalRowsUnionLittleFilter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i116" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPercentageOriginalRowsUnionNoFilter()">testPercentageOriginalRowsUnionNoFilter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i117" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPredicates()">testPredicates</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit test for
<code>RelMdPredicates.getPredicates(Join, RelMetadataQuery)</code>.</div>
</td>
</tr>
<tr id="i118" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPullUpPredicatesForExprsItr()">testPullUpPredicatesForExprsItr</a></span>()</code></th>
<td class="colLast">
<div class="block">Test case for
<a href="https://issues.apache.org/jira/browse/CALCITE-1960">[CALCITE-1960]
RelMdPredicates.getPredicates is slow if there are many equivalent
columns</a>.</div>
</td>
</tr>
<tr id="i119" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPullUpPredicatesFromAggregation()">testPullUpPredicatesFromAggregation</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit test for
<code>RelMdPredicates.getPredicates(Aggregate, RelMetadataQuery)</code>.</div>
</td>
</tr>
<tr id="i120" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPullUpPredicatesOnConstant()">testPullUpPredicatesOnConstant</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i121" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPullUpPredicatesOnNullableConstant()">testPullUpPredicatesOnNullableConstant</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i122" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountAggregate()">testRowCountAggregate</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i123" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountAggregateConstantKey()">testRowCountAggregateConstantKey</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i124" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountAggregateConstantKeys()">testRowCountAggregateConstantKeys</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i125" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountAggregateEmptyKey()">testRowCountAggregateEmptyKey</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i126" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountAggregateEmptyKeyOnEmptyTable()">testRowCountAggregateEmptyKeyOnEmptyTable</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i127" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountAggregateGroupingSets()">testRowCountAggregateGroupingSets</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i128" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountAggregateGroupingSetsOneEmpty()">testRowCountAggregateGroupingSetsOneEmpty</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i129" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountCartesian()">testRowCountCartesian</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i130" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountDept()">testRowCountDept</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i131" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountEmp()">testRowCountEmp</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i132" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountFilter()">testRowCountFilter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i133" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountFilterAggregateEmptyKey()">testRowCountFilterAggregateEmptyKey</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i134" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountFilterFalse()">testRowCountFilterFalse</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i135" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountFilterOnFinite()">testRowCountFilterOnFinite</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i136" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountIntersectOnFinite()">testRowCountIntersectOnFinite</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i137" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountJoin()">testRowCountJoin</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i138" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountJoinEmptyEmpty()">testRowCountJoinEmptyEmpty</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i139" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountJoinEmptyFinite()">testRowCountJoinEmptyFinite</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i140" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountJoinFinite()">testRowCountJoinFinite</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i141" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountJoinFiniteEmpty()">testRowCountJoinFiniteEmpty</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i142" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountLeftJoinEmptyFinite()">testRowCountLeftJoinEmptyFinite</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i143" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountMinusOnFinite()">testRowCountMinusOnFinite</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i144" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountRightJoinEmptyFinite()">testRowCountRightJoinEmptyFinite</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i145" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountSort()">testRowCountSort</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i146" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountSortHighLimit()">testRowCountSortHighLimit</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i147" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountSortHighOffset()">testRowCountSortHighOffset</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i148" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountSortHighOffsetLimit()">testRowCountSortHighOffsetLimit</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i149" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountSortLimit()">testRowCountSortLimit</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i150" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountSortLimit0()">testRowCountSortLimit0</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i151" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountSortLimitOffset()">testRowCountSortLimitOffset</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i152" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountSortLimitOffsetOnFinite()">testRowCountSortLimitOffsetOnFinite</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i153" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountUnion()">testRowCountUnion</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i154" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountUnionOnFinite()">testRowCountUnionOnFinite</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i155" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRowCountValues()">testRowCountValues</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i156" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSelectivityAgg()">testSelectivityAgg</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i157" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSelectivityAggCached()">testSelectivityAggCached</a></span>()</code></th>
<td class="colLast">
<div class="block">Checks that we can cache a metadata request that includes a null
argument.</div>
</td>
</tr>
<tr id="i158" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSelectivityAndFilter()">testSelectivityAndFilter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i159" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSelectivityComparisonFilter()">testSelectivityComparisonFilter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i160" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSelectivityIsNotNullFilter()">testSelectivityIsNotNullFilter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i161" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSelectivityIsNotNullFilterOnNotNullColumn()">testSelectivityIsNotNullFilterOnNotNullColumn</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i162" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSelectivityJoin()">testSelectivityJoin</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i163" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSelectivityOrFilter()">testSelectivityOrFilter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i164" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSelectivityRedundantFilter()">testSelectivityRedundantFilter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i165" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSelectivitySort()">testSelectivitySort</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i166" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSelectivityUnion()">testSelectivityUnion</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i167" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testTableReferencesJoinUnknownNode()">testTableReferencesJoinUnknownNode</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i168" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testTableReferencesUnionUnknownNode()">testTableReferencesUnionUnknownNode</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i169" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testUnion()">testUnion</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.calcite.test.SqlToRelTestBase">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.calcite.test.<a href="SqlToRelTestBase.html" title="class in org.apache.calcite.test">SqlToRelTestBase</a></h3>
<code><a href="SqlToRelTestBase.html#assertValid(org.apache.calcite.rel.RelNode)">assertValid</a>, <a href="SqlToRelTestBase.html#createTester()">createTester</a>, <a href="SqlToRelTestBase.html#createTester(org.apache.calcite.sql.validate.SqlConformance)">createTester</a>, <a href="SqlToRelTestBase.html#getDiffRepos()">getDiffRepos</a>, <a href="SqlToRelTestBase.html#getTesterWithDynamicTable()">getTesterWithDynamicTable</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;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="EPSILON">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>EPSILON</h4>
<pre>private static final&nbsp;double EPSILON</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.calcite.test.RelMetadataTest.EPSILON">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DEFAULT_EQUAL_SELECTIVITY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_EQUAL_SELECTIVITY</h4>
<pre>private static final&nbsp;double DEFAULT_EQUAL_SELECTIVITY</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.calcite.test.RelMetadataTest.DEFAULT_EQUAL_SELECTIVITY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DEFAULT_EQUAL_SELECTIVITY_SQUARED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_EQUAL_SELECTIVITY_SQUARED</h4>
<pre>private static final&nbsp;double DEFAULT_EQUAL_SELECTIVITY_SQUARED</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.calcite.test.RelMetadataTest.DEFAULT_EQUAL_SELECTIVITY_SQUARED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DEFAULT_COMP_SELECTIVITY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_COMP_SELECTIVITY</h4>
<pre>private static final&nbsp;double DEFAULT_COMP_SELECTIVITY</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.calcite.test.RelMetadataTest.DEFAULT_COMP_SELECTIVITY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DEFAULT_NOTNULL_SELECTIVITY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_NOTNULL_SELECTIVITY</h4>
<pre>private static final&nbsp;double DEFAULT_NOTNULL_SELECTIVITY</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.calcite.test.RelMetadataTest.DEFAULT_NOTNULL_SELECTIVITY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DEFAULT_SELECTIVITY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_SELECTIVITY</h4>
<pre>private static final&nbsp;double DEFAULT_SELECTIVITY</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.calcite.test.RelMetadataTest.DEFAULT_SELECTIVITY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="EMP_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>EMP_SIZE</h4>
<pre>private static final&nbsp;double EMP_SIZE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.calcite.test.RelMetadataTest.EMP_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DEPT_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEPT_SIZE</h4>
<pre>private static final&nbsp;double DEPT_SIZE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.calcite.test.RelMetadataTest.DEPT_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="EMP_QNAME">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>EMP_QNAME</h4>
<pre>private static final&nbsp;java.util.List&lt;java.lang.String&gt; EMP_QNAME</pre>
</li>
</ul>
<a id="LOCK">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOCK</h4>
<pre>private static final&nbsp;java.util.concurrent.locks.ReentrantLock LOCK</pre>
<div class="block">Ensures that tests that use a lot of memory do not run at the same
time.</div>
</li>
</ul>
<a id="NONDETERMINISTIC_OP">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>NONDETERMINISTIC_OP</h4>
<pre>private static final&nbsp;org.apache.calcite.sql.SqlOperator NONDETERMINISTIC_OP</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="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>RelMetadataTest</h4>
<pre>public&nbsp;RelMetadataTest()</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="convertSql(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertSql</h4>
<pre class="methodSignature">private&nbsp;org.apache.calcite.rel.RelNode&nbsp;convertSql&#8203;(java.lang.String&nbsp;sql)</pre>
</li>
</ul>
<a id="convertSql(java.lang.String,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertSql</h4>
<pre class="methodSignature">private&nbsp;org.apache.calcite.rel.RelNode&nbsp;convertSql&#8203;(java.lang.String&nbsp;sql,
boolean&nbsp;typeCoercion)</pre>
</li>
</ul>
<a id="checkPercentageOriginalRows(java.lang.String,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkPercentageOriginalRows</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkPercentageOriginalRows&#8203;(java.lang.String&nbsp;sql,
double&nbsp;expected)</pre>
</li>
</ul>
<a id="checkPercentageOriginalRows(java.lang.String,double,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkPercentageOriginalRows</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkPercentageOriginalRows&#8203;(java.lang.String&nbsp;sql,
double&nbsp;expected,
double&nbsp;epsilon)</pre>
</li>
</ul>
<a id="testPercentageOriginalRowsTableOnly()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPercentageOriginalRowsTableOnly</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testPercentageOriginalRowsTableOnly()</pre>
</li>
</ul>
<a id="testPercentageOriginalRowsAgg()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPercentageOriginalRowsAgg</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testPercentageOriginalRowsAgg()</pre>
</li>
</ul>
<a id="testPercentageOriginalRowsOneFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPercentageOriginalRowsOneFilter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testPercentageOriginalRowsOneFilter()</pre>
</li>
</ul>
<a id="testPercentageOriginalRowsTwoFilters()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPercentageOriginalRowsTwoFilters</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testPercentageOriginalRowsTwoFilters()</pre>
</li>
</ul>
<a id="testPercentageOriginalRowsRedundantFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPercentageOriginalRowsRedundantFilter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testPercentageOriginalRowsRedundantFilter()</pre>
</li>
</ul>
<a id="testPercentageOriginalRowsJoin()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPercentageOriginalRowsJoin</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testPercentageOriginalRowsJoin()</pre>
</li>
</ul>
<a id="testPercentageOriginalRowsJoinTwoFilters()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPercentageOriginalRowsJoinTwoFilters</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testPercentageOriginalRowsJoinTwoFilters()</pre>
</li>
</ul>
<a id="testPercentageOriginalRowsUnionNoFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPercentageOriginalRowsUnionNoFilter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testPercentageOriginalRowsUnionNoFilter()</pre>
</li>
</ul>
<a id="testPercentageOriginalRowsUnionLittleFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPercentageOriginalRowsUnionLittleFilter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testPercentageOriginalRowsUnionLittleFilter()</pre>
</li>
</ul>
<a id="testPercentageOriginalRowsUnionBigFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPercentageOriginalRowsUnionBigFilter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testPercentageOriginalRowsUnionBigFilter()</pre>
</li>
</ul>
<a id="checkColumnOrigin(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkColumnOrigin</h4>
<pre class="methodSignature">private&nbsp;java.util.Set&lt;org.apache.calcite.rel.metadata.RelColumnOrigin&gt;&nbsp;checkColumnOrigin&#8203;(java.lang.String&nbsp;sql)</pre>
</li>
</ul>
<a id="checkNoColumnOrigin(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkNoColumnOrigin</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkNoColumnOrigin&#8203;(java.lang.String&nbsp;sql)</pre>
</li>
</ul>
<a id="checkColumnOrigin(org.apache.calcite.rel.metadata.RelColumnOrigin,java.lang.String,java.lang.String,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkColumnOrigin</h4>
<pre class="methodSignature">public static&nbsp;void&nbsp;checkColumnOrigin&#8203;(org.apache.calcite.rel.metadata.RelColumnOrigin&nbsp;rco,
java.lang.String&nbsp;expectedTableName,
java.lang.String&nbsp;expectedColumnName,
boolean&nbsp;expectedDerived)</pre>
</li>
</ul>
<a id="checkSingleColumnOrigin(java.lang.String,java.lang.String,java.lang.String,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkSingleColumnOrigin</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkSingleColumnOrigin&#8203;(java.lang.String&nbsp;sql,
java.lang.String&nbsp;expectedTableName,
java.lang.String&nbsp;expectedColumnName,
boolean&nbsp;expectedDerived)</pre>
</li>
</ul>
<a id="checkTwoColumnOrigin(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkTwoColumnOrigin</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkTwoColumnOrigin&#8203;(java.lang.String&nbsp;sql,
java.lang.String&nbsp;expectedTableName1,
java.lang.String&nbsp;expectedColumnName1,
java.lang.String&nbsp;expectedTableName2,
java.lang.String&nbsp;expectedColumnName2,
boolean&nbsp;expectedDerived)</pre>
</li>
</ul>
<a id="testColumnOriginsTableOnly()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testColumnOriginsTableOnly</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testColumnOriginsTableOnly()</pre>
</li>
</ul>
<a id="testColumnOriginsExpression()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testColumnOriginsExpression</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testColumnOriginsExpression()</pre>
</li>
</ul>
<a id="testColumnOriginsDyadicExpression()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testColumnOriginsDyadicExpression</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testColumnOriginsDyadicExpression()</pre>
</li>
</ul>
<a id="testColumnOriginsConstant()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testColumnOriginsConstant</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testColumnOriginsConstant()</pre>
</li>
</ul>
<a id="testColumnOriginsFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testColumnOriginsFilter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testColumnOriginsFilter()</pre>
</li>
</ul>
<a id="testColumnOriginsJoinLeft()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testColumnOriginsJoinLeft</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testColumnOriginsJoinLeft()</pre>
</li>
</ul>
<a id="testColumnOriginsJoinRight()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testColumnOriginsJoinRight</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testColumnOriginsJoinRight()</pre>
</li>
</ul>
<a id="testColumnOriginsJoinOuter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testColumnOriginsJoinOuter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testColumnOriginsJoinOuter()</pre>
</li>
</ul>
<a id="testColumnOriginsJoinFullOuter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testColumnOriginsJoinFullOuter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testColumnOriginsJoinFullOuter()</pre>
</li>
</ul>
<a id="testColumnOriginsAggKey()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testColumnOriginsAggKey</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testColumnOriginsAggKey()</pre>
</li>
</ul>
<a id="testColumnOriginsAggReduced()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testColumnOriginsAggReduced</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testColumnOriginsAggReduced()</pre>
</li>
</ul>
<a id="testColumnOriginsAggCountNullable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testColumnOriginsAggCountNullable</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testColumnOriginsAggCountNullable()</pre>
</li>
</ul>
<a id="testColumnOriginsAggCountStar()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testColumnOriginsAggCountStar</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testColumnOriginsAggCountStar()</pre>
</li>
</ul>
<a id="testColumnOriginsValues()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testColumnOriginsValues</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testColumnOriginsValues()</pre>
</li>
</ul>
<a id="testColumnOriginsUnion()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testColumnOriginsUnion</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testColumnOriginsUnion()</pre>
</li>
</ul>
<a id="testColumnOriginsSelfUnion()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testColumnOriginsSelfUnion</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testColumnOriginsSelfUnion()</pre>
</li>
</ul>
<a id="checkRowCount(java.lang.String,double,double,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkRowCount</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkRowCount&#8203;(java.lang.String&nbsp;sql,
double&nbsp;expected,
double&nbsp;expectedMin,
double&nbsp;expectedMax)</pre>
</li>
</ul>
<a id="testRowCountEmp()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountEmp</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountEmp()</pre>
</li>
</ul>
<a id="testRowCountDept()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountDept</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountDept()</pre>
</li>
</ul>
<a id="testRowCountValues()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountValues</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountValues()</pre>
</li>
</ul>
<a id="testRowCountCartesian()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountCartesian</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountCartesian()</pre>
</li>
</ul>
<a id="testRowCountJoin()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountJoin</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountJoin()</pre>
</li>
</ul>
<a id="testRowCountJoinFinite()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountJoinFinite</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountJoinFinite()</pre>
</li>
</ul>
<a id="testRowCountJoinEmptyFinite()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountJoinEmptyFinite</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountJoinEmptyFinite()</pre>
</li>
</ul>
<a id="testRowCountLeftJoinEmptyFinite()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountLeftJoinEmptyFinite</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountLeftJoinEmptyFinite()</pre>
</li>
</ul>
<a id="testRowCountRightJoinEmptyFinite()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountRightJoinEmptyFinite</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountRightJoinEmptyFinite()</pre>
</li>
</ul>
<a id="testRowCountJoinFiniteEmpty()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountJoinFiniteEmpty</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountJoinFiniteEmpty()</pre>
</li>
</ul>
<a id="testRowCountJoinEmptyEmpty()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountJoinEmptyEmpty</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountJoinEmptyEmpty()</pre>
</li>
</ul>
<a id="testRowCountUnion()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountUnion</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountUnion()</pre>
</li>
</ul>
<a id="testRowCountUnionOnFinite()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountUnionOnFinite</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountUnionOnFinite()</pre>
</li>
</ul>
<a id="testRowCountIntersectOnFinite()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountIntersectOnFinite</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountIntersectOnFinite()</pre>
</li>
</ul>
<a id="testRowCountMinusOnFinite()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountMinusOnFinite</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountMinusOnFinite()</pre>
</li>
</ul>
<a id="testRowCountFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountFilter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountFilter()</pre>
</li>
</ul>
<a id="testRowCountFilterOnFinite()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountFilterOnFinite</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountFilterOnFinite()</pre>
</li>
</ul>
<a id="testRowCountFilterFalse()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountFilterFalse</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountFilterFalse()</pre>
</li>
</ul>
<a id="testRowCountSort()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountSort</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountSort()</pre>
</li>
</ul>
<a id="testRowCountSortHighLimit()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountSortHighLimit</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountSortHighLimit()</pre>
</li>
</ul>
<a id="testRowCountSortHighOffset()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountSortHighOffset</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountSortHighOffset()</pre>
</li>
</ul>
<a id="testRowCountSortHighOffsetLimit()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountSortHighOffsetLimit</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountSortHighOffsetLimit()</pre>
</li>
</ul>
<a id="testRowCountSortLimit()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountSortLimit</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountSortLimit()</pre>
</li>
</ul>
<a id="testRowCountSortLimit0()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountSortLimit0</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountSortLimit0()</pre>
</li>
</ul>
<a id="testRowCountSortLimitOffset()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountSortLimitOffset</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountSortLimitOffset()</pre>
</li>
</ul>
<a id="testRowCountSortLimitOffsetOnFinite()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountSortLimitOffsetOnFinite</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountSortLimitOffsetOnFinite()</pre>
</li>
</ul>
<a id="testRowCountAggregate()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountAggregate</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountAggregate()</pre>
</li>
</ul>
<a id="testRowCountAggregateGroupingSets()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountAggregateGroupingSets</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountAggregateGroupingSets()</pre>
</li>
</ul>
<a id="testRowCountAggregateGroupingSetsOneEmpty()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountAggregateGroupingSetsOneEmpty</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountAggregateGroupingSetsOneEmpty()</pre>
</li>
</ul>
<a id="testRowCountAggregateEmptyKey()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountAggregateEmptyKey</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountAggregateEmptyKey()</pre>
</li>
</ul>
<a id="testRowCountAggregateConstantKey()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountAggregateConstantKey</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountAggregateConstantKey()</pre>
</li>
</ul>
<a id="testRowCountAggregateConstantKeys()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountAggregateConstantKeys</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountAggregateConstantKeys()</pre>
</li>
</ul>
<a id="testRowCountFilterAggregateEmptyKey()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountFilterAggregateEmptyKey</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountFilterAggregateEmptyKey()</pre>
</li>
</ul>
<a id="testRowCountAggregateEmptyKeyOnEmptyTable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRowCountAggregateEmptyKeyOnEmptyTable</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRowCountAggregateEmptyKeyOnEmptyTable()</pre>
</li>
</ul>
<a id="checkFilterSelectivity(java.lang.String,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkFilterSelectivity</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkFilterSelectivity&#8203;(java.lang.String&nbsp;sql,
double&nbsp;expected)</pre>
</li>
</ul>
<a id="testSelectivityIsNotNullFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSelectivityIsNotNullFilter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSelectivityIsNotNullFilter()</pre>
</li>
</ul>
<a id="testSelectivityIsNotNullFilterOnNotNullColumn()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSelectivityIsNotNullFilterOnNotNullColumn</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSelectivityIsNotNullFilterOnNotNullColumn()</pre>
</li>
</ul>
<a id="testSelectivityComparisonFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSelectivityComparisonFilter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSelectivityComparisonFilter()</pre>
</li>
</ul>
<a id="testSelectivityAndFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSelectivityAndFilter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSelectivityAndFilter()</pre>
</li>
</ul>
<a id="testSelectivityOrFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSelectivityOrFilter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSelectivityOrFilter()</pre>
</li>
</ul>
<a id="testSelectivityJoin()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSelectivityJoin</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSelectivityJoin()</pre>
</li>
</ul>
<a id="checkRelSelectivity(org.apache.calcite.rel.RelNode,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkRelSelectivity</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkRelSelectivity&#8203;(org.apache.calcite.rel.RelNode&nbsp;rel,
double&nbsp;expected)</pre>
</li>
</ul>
<a id="testSelectivityRedundantFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSelectivityRedundantFilter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSelectivityRedundantFilter()</pre>
</li>
</ul>
<a id="testSelectivitySort()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSelectivitySort</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSelectivitySort()</pre>
</li>
</ul>
<a id="testSelectivityUnion()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSelectivityUnion</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSelectivityUnion()</pre>
</li>
</ul>
<a id="testSelectivityAgg()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSelectivityAgg</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSelectivityAgg()</pre>
</li>
</ul>
<a id="testSelectivityAggCached()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSelectivityAggCached</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSelectivityAggCached()</pre>
<div class="block">Checks that we can cache a metadata request that includes a null
argument.</div>
</li>
</ul>
<a id="testMetadataHandlerCacheLimit()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMetadataHandlerCacheLimit</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testMetadataHandlerCacheLimit()</pre>
<div class="block">Test case for
<a href="https://issues.apache.org/jira/browse/CALCITE-1808">[CALCITE-1808]
JaninoRelMetadataProvider loading cache might cause
OutOfMemoryError</a>.</div>
</li>
</ul>