blob: c728caa45f2ec0146564cfd4ed823db3d6074f19 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>HepPlannerTest (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="HepPlannerTest (Calcite 1.20.0 Test API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10};
var tabs = {65535:["t0","All 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/HepPlannerTest.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 HepPlannerTest" class="title">Class HepPlannerTest</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><a href="RelOptTestBase.html" title="class in org.apache.calcite.test">org.apache.calcite.test.RelOptTestBase</a></li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.test.HepPlannerTest</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">HepPlannerTest</span>
extends <a href="RelOptTestBase.html" title="class in org.apache.calcite.test">RelOptTestBase</a></pre>
<div class="block">HepPlannerTest is a unit test for <code>HepPlanner</code>. See
<a href="RelOptRulesTest.html" title="class in org.apache.calcite.test"><code>RelOptRulesTest</code></a> for an explanation of how to add tests; the tests in
this class are targeted at exercising the planner, and use specific rules for
convenience only, whereas the tests in that class are targeted at exercising
specific rules, and use the planner for convenience only. Hence the split.</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>private class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="HepPlannerTest.HepTestListener.html" title="class in org.apache.calcite.test">HepPlannerTest.HepTestListener</a></span></code></th>
<td class="colLast">
<div class="block">Listener for HepPlannerTest; counts how many times rules fire.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.calcite.test.RelOptTestBase">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.calcite.test.<a href="RelOptTestBase.html" title="class in org.apache.calcite.test">RelOptTestBase</a></h3>
<code><a href="RelOptTestBase.Sql.html" title="class in org.apache.calcite.test">RelOptTestBase.Sql</a></code></li>
</ul>
<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 java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#COMPLEX_UNION_TREE">COMPLEX_UNION_TREE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#UNION_TREE">UNION_TREE</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()">HepPlannerTest</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="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="#assertIncludesExactlyOnce(java.lang.String,java.lang.String,java.lang.String)">assertIncludesExactlyOnce</a></span>&#8203;(java.lang.String&nbsp;message,
java.lang.String&nbsp;digest,
java.lang.String&nbsp;substring)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>private long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkRuleApplyCount(org.apache.calcite.plan.hep.HepMatchOrder)">checkRuleApplyCount</a></span>&#8203;(org.apache.calcite.plan.hep.HepMatchOrder&nbsp;matchOrder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected <a href="DiffRepository.html" title="class in org.apache.calcite.test">DiffRepository</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDiffRepos()">getDiffRepos</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the default diff repository for this test, or null if there is
no repository.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#relDigestLength()">relDigestLength</a></span>()</code></th>
<td class="colLast">
<div class="block">Ensures <code>AbstractRelNode</code> digest does not include
full digest tree.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testCommonSubExpression()">testCommonSubExpression</a></span>()</code></th>
<td class="colLast">
<div class="block">Tests that if two relational expressions are equivalent, the planner
notices, and only applies the rule once.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testGC()">testGC</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testGroup()">testGroup</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testMatchLimitOneBottomUp()">testMatchLimitOneBottomUp</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testMatchLimitOneTopDown()">testMatchLimitOneTopDown</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testMatchUntilFixpoint()">testMatchUntilFixpoint</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testMaterialization()">testMaterialization</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRelNodeCacheWithDigest()">testRelNodeCacheWithDigest</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testReplaceCommonSubexpression()">testReplaceCommonSubexpression</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRuleApplyCount()">testRuleApplyCount</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRuleClass()">testRuleClass</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRuleDescription()">testRuleDescription</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSubprogram()">testSubprogram</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.RelOptTestBase">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.calcite.test.<a href="RelOptTestBase.html" title="class in org.apache.calcite.test">RelOptTestBase</a></h3>
<code><a href="RelOptTestBase.html#checkPlanning(org.apache.calcite.plan.hep.HepProgram,java.lang.String)">checkPlanning</a>, <a href="RelOptTestBase.html#checkPlanning(org.apache.calcite.plan.RelOptPlanner,java.lang.String)">checkPlanning</a>, <a href="RelOptTestBase.html#checkPlanning(org.apache.calcite.plan.RelOptRule,java.lang.String)">checkPlanning</a>, <a href="RelOptTestBase.html#checkPlanning(org.apache.calcite.test.SqlToRelTestBase.Tester,org.apache.calcite.plan.hep.HepProgram,org.apache.calcite.plan.RelOptPlanner,java.lang.String)">checkPlanning</a>, <a href="RelOptTestBase.html#checkPlanning(org.apache.calcite.test.SqlToRelTestBase.Tester,org.apache.calcite.plan.hep.HepProgram,org.apache.calcite.plan.RelOptPlanner,java.lang.String,boolean)">checkPlanning</a>, <a href="RelOptTestBase.html#checkPlanningDynamic(java.lang.String)">checkPlanningDynamic</a>, <a href="RelOptTestBase.html#checkPlanningDynamic(org.apache.calcite.plan.RelOptRule,java.lang.String)">checkPlanningDynamic</a>, <a href="RelOptTestBase.html#checkPlanUnchanged(org.apache.calcite.plan.RelOptPlanner,java.lang.String)">checkPlanUnchanged</a>, <a href="RelOptTestBase.html#createDynamicTester()">createDynamicTester</a>, <a href="RelOptTestBase.html#createTester()">createTester</a>, <a href="RelOptTestBase.html#sql(java.lang.String)">sql</a></code></li>
</ul>
<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(org.apache.calcite.sql.validate.SqlConformance)">createTester</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="UNION_TREE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>UNION_TREE</h4>
<pre>private static final&nbsp;java.lang.String UNION_TREE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.calcite.test.HepPlannerTest.UNION_TREE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="COMPLEX_UNION_TREE">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>COMPLEX_UNION_TREE</h4>
<pre>private static final&nbsp;java.lang.String COMPLEX_UNION_TREE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.calcite.test.HepPlannerTest.COMPLEX_UNION_TREE">Constant Field Values</a></dd>
</dl>
</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>HepPlannerTest</h4>
<pre>public&nbsp;HepPlannerTest()</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="getDiffRepos()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDiffRepos</h4>
<pre class="methodSignature">protected&nbsp;<a href="DiffRepository.html" title="class in org.apache.calcite.test">DiffRepository</a>&nbsp;getDiffRepos()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="SqlToRelTestBase.html#getDiffRepos()">SqlToRelTestBase</a></code></span></div>
<div class="block">Returns the default diff repository for this test, or null if there is
no repository.
<p>The default implementation returns null.
<p>Sub-classes that want to use a diff repository can override.
Sub-sub-classes can override again, inheriting test cases and overriding
selected test results.
<p>And individual test cases can override by providing a different
tester object.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="SqlToRelTestBase.html#getDiffRepos()">getDiffRepos</a></code>&nbsp;in class&nbsp;<code><a href="SqlToRelTestBase.html" title="class in org.apache.calcite.test">SqlToRelTestBase</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Diff repository</dd>
</dl>
</li>
</ul>
<a id="testRuleClass()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRuleClass</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRuleClass()
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="testRuleDescription()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRuleDescription</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRuleDescription()
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="relDigestLength()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>relDigestLength</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;relDigestLength()</pre>
<div class="block">Ensures <code>AbstractRelNode</code> digest does not include
full digest tree.</div>
</li>
</ul>
<a id="assertIncludesExactlyOnce(java.lang.String,java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>assertIncludesExactlyOnce</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;assertIncludesExactlyOnce&#8203;(java.lang.String&nbsp;message,
java.lang.String&nbsp;digest,
java.lang.String&nbsp;substring)</pre>
</li>
</ul>
<a id="testMatchLimitOneTopDown()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMatchLimitOneTopDown</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testMatchLimitOneTopDown()
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="testMatchLimitOneBottomUp()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMatchLimitOneBottomUp</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testMatchLimitOneBottomUp()
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="testMatchUntilFixpoint()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMatchUntilFixpoint</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testMatchUntilFixpoint()
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="testReplaceCommonSubexpression()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testReplaceCommonSubexpression</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testReplaceCommonSubexpression()
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="testCommonSubExpression()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testCommonSubExpression</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testCommonSubExpression()</pre>
<div class="block">Tests that if two relational expressions are equivalent, the planner
notices, and only applies the rule once.</div>
</li>
</ul>
<a id="testSubprogram()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSubprogram</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSubprogram()
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="testGroup()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testGroup</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testGroup()
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="testGC()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testGC</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testGC()
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="testRelNodeCacheWithDigest()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRelNodeCacheWithDigest</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRelNodeCacheWithDigest()</pre>
</li>
</ul>
<a id="testRuleApplyCount()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRuleApplyCount</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRuleApplyCount()</pre>
</li>
</ul>
<a id="testMaterialization()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMaterialization</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testMaterialization()
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="checkRuleApplyCount(org.apache.calcite.plan.hep.HepMatchOrder)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>checkRuleApplyCount</h4>
<pre class="methodSignature">private&nbsp;long&nbsp;checkRuleApplyCount&#8203;(org.apache.calcite.plan.hep.HepMatchOrder&nbsp;matchOrder)</pre>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/HepPlannerTest.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>