blob: 32500bf708dbb129f13a21ad5b4798c3aecde585 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>RelMetadataTest (Calcite 1.20.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.20.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":9,"i21":10,"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};
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.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#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 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="i20" class="altColor">
<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="i21" class="rowColor">
<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="i22" class="altColor">
<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="i23" class="rowColor">
<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="i24" class="altColor">
<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="i25" class="rowColor">
<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="i26" class="altColor">
<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="i27" class="rowColor">
<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="i28" class="altColor">
<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="i29" class="rowColor">
<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="i30" class="altColor">
<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="i31" class="rowColor">
<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="i32" class="altColor">
<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="i33" class="rowColor">
<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="i34" class="altColor">
<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="i35" class="rowColor">
<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="i36" class="altColor">
<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="i37" class="rowColor">
<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="i38" class="altColor">
<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="i39" class="rowColor">
<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="i40" class="altColor">
<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="i41" class="rowColor">
<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="i42" class="altColor">
<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="i43" class="rowColor">
<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="i44" class="altColor">
<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="i45" class="rowColor">
<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="i46" class="altColor">
<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="i47" class="rowColor">
<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="i48" class="altColor">
<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="i49" class="rowColor">
<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="i50" class="altColor">
<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="i51" class="rowColor">
<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="i52" class="altColor">
<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="i53" class="rowColor">
<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="i54" class="altColor">
<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="i55" class="rowColor">
<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="i56" class="altColor">
<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="i57" class="rowColor">
<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="i58" class="altColor">
<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="i59" class="rowColor">
<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="i60" class="altColor">
<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="i61" class="rowColor">
<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="i62" class="altColor">
<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="i63" class="rowColor">
<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="i64" class="altColor">
<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="i65" class="rowColor">
<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="i66" class="altColor">
<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="i67" class="rowColor">
<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="i68" class="altColor">
<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="i69" class="rowColor">
<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="i70" class="altColor">
<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="i71" class="rowColor">
<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="i72" class="altColor">
<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="i73" class="rowColor">
<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="i74" class="altColor">
<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="i75" class="rowColor">
<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="i76" class="altColor">
<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="i77" class="rowColor">
<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="i78" class="altColor">
<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="i79" class="rowColor">
<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="i80" class="altColor">
<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="i81" class="rowColor">
<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="i82" class="altColor">
<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="i83" class="rowColor">
<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="i84" class="altColor">
<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="i85" class="rowColor">
<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="i86" class="altColor">
<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="i87" class="rowColor">
<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="i88" class="altColor">
<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="i89" class="rowColor">
<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="i90" class="altColor">
<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="i91" class="rowColor">
<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="i92" class="altColor">
<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="i93" class="rowColor">
<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="i94" class="altColor">
<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="i95" class="rowColor">
<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="i96" class="altColor">
<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="i97" class="rowColor">
<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="i98" class="altColor">
<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="i99" class="rowColor">
<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="i100" class="altColor">
<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="i101" class="rowColor">
<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="i102" class="altColor">
<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="i103" class="rowColor">
<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="i104" class="altColor">
<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="i105" class="rowColor">
<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="i106" class="altColor">
<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="i107" class="rowColor">
<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="i108" class="altColor">
<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="i109" class="rowColor">
<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="i110" class="altColor">
<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="i111" class="rowColor">
<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="i112" class="altColor">
<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="i113" class="rowColor">
<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="i114" class="altColor">
<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="i115" class="rowColor">
<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="i116" class="altColor">
<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="i117" class="rowColor">
<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="i118" class="altColor">
<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="i119" class="rowColor">
<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="i120" class="altColor">
<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="i121" class="rowColor">
<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="i122" class="altColor">
<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="i123" class="rowColor">
<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="i124" class="altColor">
<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="i125" class="rowColor">
<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="i126" class="altColor">
<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="i127" class="rowColor">
<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="i128" class="altColor">
<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="i129" class="rowColor">
<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="i130" class="altColor">
<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="i131" class="rowColor">
<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="i132" class="altColor">
<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="i133" class="rowColor">
<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="i134" class="altColor">
<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="i135" class="rowColor">
<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="i136" class="altColor">
<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="i137" class="rowColor">
<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="i138" class="altColor">
<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="i139" class="rowColor">
<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="i140" class="altColor">
<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="i141" class="rowColor">
<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="i142" class="altColor">
<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="i143" class="rowColor">
<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="i144" class="altColor">
<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="i145" class="rowColor">
<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="i146" class="altColor">
<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="i147" class="rowColor">
<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="i148" class="altColor">
<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="i149" class="rowColor">
<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="i150" class="altColor">
<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="i151" class="rowColor">
<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="i152" class="altColor">
<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="i153" class="rowColor">
<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="i154" class="altColor">
<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="i155" class="rowColor">
<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="i156" class="altColor">
<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="i157" class="rowColor">
<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="i158" class="altColor">
<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="i159" class="rowColor">
<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="i160" class="altColor">
<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="i161" class="rowColor">
<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="i162" class="altColor">
<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="i163" class="rowColor">
<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="i164" class="altColor">
<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="i165" class="rowColor">
<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="i166" class="altColor">
<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="i167" class="rowColor">
<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="i168" class="altColor">
<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="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>
<a id="testDistinctRowCountTable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDistinctRowCountTable</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testDistinctRowCountTable()</pre>
</li>
</ul>
<a id="testDistinctRowCountTableEmptyKey()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDistinctRowCountTableEmptyKey</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testDistinctRowCountTableEmptyKey()</pre>
</li>
</ul>
<a id="assertUniqueConsistent(org.apache.calcite.rel.RelNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>assertUniqueConsistent</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;assertUniqueConsistent&#8203;(org.apache.calcite.rel.RelNode&nbsp;rel)</pre>
<div class="block">Asserts that <code>RelMetadataQuery.getUniqueKeys(RelNode)</code>
and <code>RelMetadataQuery.areColumnsUnique(RelNode, ImmutableBitSet)</code>
return consistent results.</div>
</li>
</ul>
<a id="isUnique(java.util.Set,org.apache.calcite.util.ImmutableBitSet)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUnique</h4>
<pre class="methodSignature">private&nbsp;boolean&nbsp;isUnique&#8203;(java.util.Set&lt;org.apache.calcite.util.ImmutableBitSet&gt;&nbsp;uniqueKeys,
org.apache.calcite.util.ImmutableBitSet&nbsp;key)</pre>
<div class="block">Returns whether <code>keys</code> is unique, that is, whether it or a superset
is in <code>keySets</code>.</div>
</li>
</ul>
<a id="testJoinUniqueKeys()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinUniqueKeys</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinUniqueKeys()</pre>
<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>
</li>
</ul>
<a id="testCorrelateUniqueKeys()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testCorrelateUniqueKeys</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testCorrelateUniqueKeys()</pre>
</li>
</ul>
<a id="testGroupByEmptyUniqueKeys()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testGroupByEmptyUniqueKeys</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testGroupByEmptyUniqueKeys()</pre>
</li>
</ul>
<a id="testGroupByEmptyHavingUniqueKeys()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testGroupByEmptyHavingUniqueKeys</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testGroupByEmptyHavingUniqueKeys()</pre>
</li>
</ul>
<a id="testFullOuterJoinUniqueness1()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFullOuterJoinUniqueness1</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFullOuterJoinUniqueness1()</pre>
</li>
</ul>
<a id="testGroupBy()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testGroupBy</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testGroupBy()</pre>
</li>
</ul>
<a id="testUnion()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testUnion</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testUnion()</pre>
</li>
</ul>
<a id="testBrokenCustomProvider()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testBrokenCustomProvider</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testBrokenCustomProvider()</pre>
</li>
</ul>
<a id="colType(org.apache.calcite.rel.metadata.RelMetadataQuery,org.apache.calcite.rel.RelNode,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>colType</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;colType&#8203;(org.apache.calcite.rel.metadata.RelMetadataQuery&nbsp;mq,
org.apache.calcite.rel.RelNode&nbsp;rel,
int&nbsp;column)</pre>
</li>
</ul>
<a id="testCustomProvider()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testCustomProvider</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testCustomProvider()</pre>
</li>
</ul>
<a id="testCollation()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testCollation</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testCollation()</pre>
<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>
</li>
</ul>
<a id="checkCollation(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptTable,org.apache.calcite.plan.RelOptTable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkCollation</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkCollation&#8203;(org.apache.calcite.plan.RelOptCluster&nbsp;cluster,
org.apache.calcite.plan.RelOptTable&nbsp;empTable,
org.apache.calcite.plan.RelOptTable&nbsp;deptTable)</pre>
</li>
</ul>
<a id="testColumnUniquenessForValues()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testColumnUniquenessForValues</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testColumnUniquenessForValues()</pre>
<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>
</li>
</ul>
<a id="addRow(com.google.common.collect.ImmutableList.Builder,org.apache.calcite.rex.RexBuilder,java.lang.Object...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addRow</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;addRow&#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)</pre>
</li>
</ul>
<a id="testAverageRowSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAverageRowSize</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAverageRowSize()</pre>
<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>
</li>
</ul>
<a id="checkAverageRowSize(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptTable,org.apache.calcite.plan.RelOptTable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkAverageRowSize</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkAverageRowSize&#8203;(org.apache.calcite.plan.RelOptCluster&nbsp;cluster,
org.apache.calcite.plan.RelOptTable&nbsp;empTable,
org.apache.calcite.plan.RelOptTable&nbsp;deptTable)</pre>
</li>
</ul>
<a id="testPredicates()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPredicates</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testPredicates()</pre>
<div class="block">Unit test for
<code>RelMdPredicates.getPredicates(Join, RelMetadataQuery)</code>.</div>
</li>
</ul>
<a id="checkPredicates(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptTable,org.apache.calcite.plan.RelOptTable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkPredicates</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkPredicates&#8203;(org.apache.calcite.plan.RelOptCluster&nbsp;cluster,
org.apache.calcite.plan.RelOptTable&nbsp;empTable,
org.apache.calcite.plan.RelOptTable&nbsp;deptTable)</pre>
</li>
</ul>
<a id="testPullUpPredicatesFromAggregation()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPullUpPredicatesFromAggregation</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testPullUpPredicatesFromAggregation()</pre>
<div class="block">Unit test for
<code>RelMdPredicates.getPredicates(Aggregate, RelMetadataQuery)</code>.</div>
</li>
</ul>
<a id="testPullUpPredicatesForExprsItr()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPullUpPredicatesForExprsItr</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testPullUpPredicatesForExprsItr()</pre>
<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>. There are much less duplicates after
<a href="https://issues.apache.org/jira/browse/CALCITE-2205">[CALCITE-2205]</a>.
Since this is a performance problem, the test result does not
change, but takes over 15 minutes before the fix and 6 seconds after.</div>
</li>
</ul>
<a id="testPullUpPredicatesOnConstant()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPullUpPredicatesOnConstant</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testPullUpPredicatesOnConstant()</pre>
</li>
</ul>
<a id="testPullUpPredicatesOnNullableConstant()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPullUpPredicatesOnNullableConstant</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testPullUpPredicatesOnNullableConstant()</pre>
</li>
</ul>
<a id="testDistributionSimple()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDistributionSimple</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testDistributionSimple()</pre>
</li>
</ul>
<a id="testDistributionHash()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDistributionHash</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testDistributionHash()</pre>
</li>
</ul>
<a id="testDistributionHashEmpty()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDistributionHashEmpty</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testDistributionHashEmpty()</pre>
</li>
</ul>
<a id="testDistributionSingleton()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDistributionSingleton</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testDistributionSingleton()</pre>
</li>
</ul>
<a id="testLinear()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testLinear</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testLinear()</pre>
<div class="block">Unit test for <code>RelMdUtil.linear(int, int, int, double, double)</code>.</div>
</li>
</ul>
<a id="testExpressionLineageStar()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExpressionLineageStar</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testExpressionLineageStar()</pre>
</li>
</ul>
<a id="testExpressionLineageTwoColumns()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExpressionLineageTwoColumns</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testExpressionLineageTwoColumns()</pre>
</li>
</ul>
<a id="testExpressionLineageTwoColumnsSwapped()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExpressionLineageTwoColumnsSwapped</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testExpressionLineageTwoColumnsSwapped()</pre>
</li>
</ul>
<a id="testExpressionLineageCombineTwoColumns()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExpressionLineageCombineTwoColumns</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testExpressionLineageCombineTwoColumns()</pre>
</li>
</ul>
<a id="testExpressionLineageInnerJoinLeft()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExpressionLineageInnerJoinLeft</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testExpressionLineageInnerJoinLeft()</pre>
</li>
</ul>
<a id="testExpressionLineageInnerJoinRight()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExpressionLineageInnerJoinRight</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testExpressionLineageInnerJoinRight()</pre>
</li>
</ul>
<a id="testExpressionLineageLeftJoinLeft()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExpressionLineageLeftJoinLeft</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testExpressionLineageLeftJoinLeft()</pre>
</li>
</ul>
<a id="testExpressionLineageRightJoinRight()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExpressionLineageRightJoinRight</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testExpressionLineageRightJoinRight()</pre>
</li>
</ul>
<a id="testExpressionLineageSelfJoin()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExpressionLineageSelfJoin</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testExpressionLineageSelfJoin()</pre>
</li>
</ul>
<a id="testExpressionLineageOuterJoin()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExpressionLineageOuterJoin</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testExpressionLineageOuterJoin()</pre>
</li>
</ul>
<a id="testExpressionLineageFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExpressionLineageFilter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testExpressionLineageFilter()</pre>
</li>
</ul>
<a id="testExpressionLineageAggregateGroupColumn()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExpressionLineageAggregateGroupColumn</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testExpressionLineageAggregateGroupColumn()</pre>
</li>
</ul>
<a id="testExpressionLineageAggregateAggColumn()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExpressionLineageAggregateAggColumn</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testExpressionLineageAggregateAggColumn()</pre>
</li>
</ul>
<a id="testExpressionLineageUnion()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExpressionLineageUnion</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testExpressionLineageUnion()</pre>
</li>
</ul>
<a id="testExpressionLineageMultiUnion()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExpressionLineageMultiUnion</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testExpressionLineageMultiUnion()</pre>
</li>
</ul>
<a id="testExpressionLineageValues()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testExpressionLineageValues</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testExpressionLineageValues()</pre>
</li>
</ul>
<a id="testAllPredicates()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAllPredicates</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAllPredicates()</pre>
</li>
</ul>
<a id="checkAllPredicates(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptTable,org.apache.calcite.plan.RelOptTable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkAllPredicates</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkAllPredicates&#8203;(org.apache.calcite.plan.RelOptCluster&nbsp;cluster,
org.apache.calcite.plan.RelOptTable&nbsp;empTable,
org.apache.calcite.plan.RelOptTable&nbsp;deptTable)</pre>
</li>
</ul>
<a id="testAllPredicatesAggregate1()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAllPredicatesAggregate1</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAllPredicatesAggregate1()</pre>
</li>
</ul>
<a id="testAllPredicatesAggregate2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAllPredicatesAggregate2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAllPredicatesAggregate2()</pre>
</li>
</ul>
<a id="testAllPredicatesAggregate3()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAllPredicatesAggregate3</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAllPredicatesAggregate3()</pre>
</li>
</ul>
<a id="testAllPredicatesAndTablesJoin()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAllPredicatesAndTablesJoin</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAllPredicatesAndTablesJoin()</pre>
</li>
</ul>
<a id="testAllPredicatesAndTableUnion()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAllPredicatesAndTableUnion</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAllPredicatesAndTableUnion()</pre>
</li>
</ul>
<a id="testAllPredicatesCrossJoinMultiTable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAllPredicatesCrossJoinMultiTable</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAllPredicatesCrossJoinMultiTable()</pre>
</li>
</ul>
<a id="testTableReferencesJoinUnknownNode()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testTableReferencesJoinUnknownNode</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testTableReferencesJoinUnknownNode()</pre>
</li>
</ul>
<a id="testAllPredicatesUnionMultiTable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAllPredicatesUnionMultiTable</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAllPredicatesUnionMultiTable()</pre>
</li>
</ul>
<a id="testTableReferencesUnionUnknownNode()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testTableReferencesUnionUnknownNode</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testTableReferencesUnionUnknownNode()</pre>
</li>
</ul>
<a id="checkNodeTypeCount(java.lang.String,java.util.Map)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkNodeTypeCount</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkNodeTypeCount&#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)</pre>
</li>
</ul>
<a id="testNodeTypeCountEmp()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountEmp</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountEmp()</pre>
</li>
</ul>
<a id="testNodeTypeCountDept()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountDept</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountDept()</pre>
</li>
</ul>
<a id="testNodeTypeCountValues()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountValues</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountValues()</pre>
</li>
</ul>
<a id="testNodeTypeCountCartesian()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountCartesian</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountCartesian()</pre>
</li>
</ul>
<a id="testNodeTypeCountJoin()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountJoin</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountJoin()</pre>
</li>
</ul>
<a id="testNodeTypeCountJoinFinite()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountJoinFinite</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountJoinFinite()</pre>
</li>
</ul>
<a id="testNodeTypeCountJoinEmptyFinite()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountJoinEmptyFinite</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountJoinEmptyFinite()</pre>
</li>
</ul>
<a id="testNodeTypeCountLeftJoinEmptyFinite()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountLeftJoinEmptyFinite</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountLeftJoinEmptyFinite()</pre>
</li>
</ul>
<a id="testNodeTypeCountRightJoinEmptyFinite()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountRightJoinEmptyFinite</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountRightJoinEmptyFinite()</pre>
</li>
</ul>
<a id="testNodeTypeCountJoinFiniteEmpty()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountJoinFiniteEmpty</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountJoinFiniteEmpty()</pre>
</li>
</ul>
<a id="testNodeTypeCountJoinEmptyEmpty()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountJoinEmptyEmpty</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountJoinEmptyEmpty()</pre>
</li>
</ul>
<a id="testNodeTypeCountUnion()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountUnion</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountUnion()</pre>
</li>
</ul>
<a id="testNodeTypeCountUnionOnFinite()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountUnionOnFinite</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountUnionOnFinite()</pre>
</li>
</ul>
<a id="testNodeTypeCountMinusOnFinite()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountMinusOnFinite</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountMinusOnFinite()</pre>
</li>
</ul>
<a id="testNodeTypeCountFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountFilter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountFilter()</pre>
</li>
</ul>
<a id="testNodeTypeCountSort()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountSort</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountSort()</pre>
</li>
</ul>
<a id="testNodeTypeCountSortLimit()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountSortLimit</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountSortLimit()</pre>
</li>
</ul>
<a id="testNodeTypeCountSortLimitOffset()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountSortLimitOffset</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountSortLimitOffset()</pre>
</li>
</ul>
<a id="testNodeTypeCountSortLimitOffsetOnFinite()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountSortLimitOffsetOnFinite</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountSortLimitOffsetOnFinite()</pre>
</li>
</ul>
<a id="testNodeTypeCountAggregate()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountAggregate</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountAggregate()</pre>
</li>
</ul>
<a id="testNodeTypeCountAggregateGroupingSets()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountAggregateGroupingSets</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountAggregateGroupingSets()</pre>
</li>
</ul>
<a id="testNodeTypeCountAggregateEmptyKeyOnEmptyTable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountAggregateEmptyKeyOnEmptyTable</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountAggregateEmptyKeyOnEmptyTable()</pre>
</li>
</ul>
<a id="testNodeTypeCountFilterAggregateEmptyKey()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNodeTypeCountFilterAggregateEmptyKey</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNodeTypeCountFilterAggregateEmptyKey()</pre>
</li>
</ul>
<a id="testEmptyAggregateTableOrigin()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testEmptyAggregateTableOrigin</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testEmptyAggregateTableOrigin()</pre>
<div class="block">Tests calling <code>RelMetadataQuery.getTableOrigin(org.apache.calcite.rel.RelNode)</code> for
an aggregate with no columns. Previously threw.</div>
</li>
</ul>
<a id="testGetPredicatesForJoin()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testGetPredicatesForJoin</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testGetPredicatesForJoin()
throws java.lang.Exception</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="testGetPredicatesForFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testGetPredicatesForFilter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testGetPredicatesForFilter()
throws java.lang.Exception</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="sortsAs(java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>sortsAs</h4>
<pre class="methodSignature">static&nbsp;&lt;T&gt;&nbsp;org.hamcrest.Matcher&lt;java.lang.Iterable&lt;? extends T&gt;&gt;&nbsp;sortsAs&#8203;(java.lang.String&nbsp;value)</pre>
<div class="block">Matcher that succeeds for any collection that, when converted to strings
and sorted on those strings, matches the given reference string.
<p>Use it as an alternative to <code>CoreMatchers.is(T)</code> if items in your
list might occur in any order.
<p>For example:
<blockquote><pre>List&lt;Integer&gt; ints = Arrays.asList(2, 500, 12);
assertThat(ints, sortsAs("[12, 2, 500]");</pre></blockquote></div>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/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_bottom">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&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.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>