blob: 8a6de9faacebefd008abfe1e7590a08702fb9c39 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>MaterializationTest (Calcite 1.21.0 Test API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="MaterializationTest (Calcite 1.21.0 Test API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":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};
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/MaterializationTest.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 MaterializationTest" class="title">Class MaterializationTest</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.test.MaterializationTest</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">MaterializationTest</span>
extends java.lang.Object</pre>
<div class="block">Unit test for the materialized view rewrite mechanism. Each test has a
query and one or more materializations (what Oracle calls materialized views)
and checks that the materialization is used.</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="MaterializationTest.HrFKUKSchema.html" title="class in org.apache.calcite.test">MaterializationTest.HrFKUKSchema</a></span></code></th>
<td class="colLast">
<div class="block">Hr schema with FK-UK relationship.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="MaterializationTest.TableNameVisitor.html" title="class in org.apache.calcite.test">MaterializationTest.TableNameVisitor</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of RelVisitor to extract substituted table names.</div>
</td>
</tr>
</table>
</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 com.google.common.collect.Ordering&lt;java.lang.Iterable&lt;java.lang.String&gt;&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#CASE_INSENSITIVE_LIST_COMPARATOR">CASE_INSENSITIVE_LIST_COMPARATOR</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static com.google.common.collect.Ordering&lt;java.lang.Iterable&lt;java.util.List&lt;java.lang.String&gt;&gt;&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#CASE_INSENSITIVE_LIST_LIST_COMPARATOR">CASE_INSENSITIVE_LIST_LIST_COMPARATOR</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.util.function.Consumer&lt;java.sql.ResultSet&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#CONTAINS_LOCATIONS">CONTAINS_LOCATIONS</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.util.function.Consumer&lt;java.sql.ResultSet&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#CONTAINS_M0">CONTAINS_M0</a></span></code></th>
<td class="colLast">&nbsp;</td>
</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="#HR_FKUK_MODEL">HR_FKUK_MODEL</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="#HR_FKUK_SCHEMA">HR_FKUK_SCHEMA</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private org.apache.calcite.rex.RexBuilder</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private org.apache.calcite.rex.RexSimplify</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#simplify">simplify</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) org.apache.calcite.jdbc.JavaTypeFactoryImpl</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#typeFactory">typeFactory</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&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()">MaterializationTest</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="#checkMaterialize(java.lang.String,java.lang.String)">checkMaterialize</a></span>&#8203;(java.lang.String&nbsp;materialize,
java.lang.String&nbsp;query)</code></th>
<td class="colLast">
<div class="block">Checks that a given query can use a materialized view with a given
definition.</div>
</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="#checkMaterialize(java.lang.String,java.lang.String,java.lang.String,java.util.function.Consumer)">checkMaterialize</a></span>&#8203;(java.lang.String&nbsp;materialize,
java.lang.String&nbsp;query,
java.lang.String&nbsp;model,
java.util.function.Consumer&lt;java.sql.ResultSet&gt;&nbsp;explainChecker)</code></th>
<td class="colLast">
<div class="block">Checks that a given query can use a materialized view with a given
definition.</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="#checkMaterialize(java.lang.String,java.lang.String,java.lang.String,java.util.function.Consumer,org.apache.calcite.tools.RuleSet)">checkMaterialize</a></span>&#8203;(java.lang.String&nbsp;materialize,
java.lang.String&nbsp;query,
java.lang.String&nbsp;model,
java.util.function.Consumer&lt;java.sql.ResultSet&gt;&nbsp;explainChecker,
org.apache.calcite.tools.RuleSet&nbsp;rules)</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="#checkMaterializeWithRules(java.lang.String,java.lang.String,org.apache.calcite.tools.RuleSet)">checkMaterializeWithRules</a></span>&#8203;(java.lang.String&nbsp;materialize,
java.lang.String&nbsp;query,
org.apache.calcite.tools.RuleSet&nbsp;rules)</code></th>
<td class="colLast">
<div class="block">Checks that a given query can use a materialized view with a given
definition.</div>
</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="#checkNoMaterialize(java.lang.String,java.lang.String,java.lang.String)">checkNoMaterialize</a></span>&#8203;(java.lang.String&nbsp;materialize,
java.lang.String&nbsp;query,
java.lang.String&nbsp;model)</code></th>
<td class="colLast">
<div class="block">Checks that a given query CAN NOT use a materialized view with a given
definition.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkNotSatisfiable(org.apache.calcite.rex.RexNode)">checkNotSatisfiable</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;e)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkSatisfiable(org.apache.calcite.rex.RexNode,java.lang.String)">checkSatisfiable</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;e,
java.lang.String&nbsp;s)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>private <a href="CalciteAssert.AssertQuery.html" title="class in org.apache.calcite.test">CalciteAssert.AssertQuery</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkThatMaterialize(java.lang.String,java.lang.String,java.lang.String,boolean,java.lang.String,java.util.function.Consumer,org.apache.calcite.tools.RuleSet)">checkThatMaterialize</a></span>&#8203;(java.lang.String&nbsp;materialize,
java.lang.String&nbsp;query,
java.lang.String&nbsp;name,
boolean&nbsp;existing,
java.lang.String&nbsp;model,
java.util.function.Consumer&lt;java.sql.ResultSet&gt;&nbsp;explainChecker,
org.apache.calcite.tools.RuleSet&nbsp;rules)</code></th>
<td class="colLast">
<div class="block">Checks that a given query can use a materialized view with a given
definition.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>private static &lt;E&gt;&nbsp;java.util.List&lt;java.util.List&lt;E&gt;&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#list2(E%5B%5D%5B%5D)">list2</a></span>&#8203;(E[][]&nbsp;as)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>private static &lt;E&gt;&nbsp;java.util.List&lt;java.util.List&lt;java.util.List&lt;E&gt;&gt;&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#list3(E%5B%5D%5B%5D%5B%5D)">list3</a></span>&#8203;(E[][][]&nbsp;as)</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="#testAggregate0()">testAggregate0</a></span>()</code></th>
<td class="colLast">
<div class="block">Aggregation query at same level of aggregation as aggregation
materialization.</div>
</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="#testAggregate1()">testAggregate1</a></span>()</code></th>
<td class="colLast">
<div class="block">Aggregation query at same level of aggregation as aggregation
materialization but with different row types.</div>
</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="#testAggregate2()">testAggregate2</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="#testAggregate3()">testAggregate3</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="#testAggregateGroupSets1()">testAggregateGroupSets1</a></span>()</code></th>
<td class="colLast">
<div class="block">Aggregation query at same level of aggregation as aggregation
materialization with grouping sets.</div>
</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="#testAggregateGroupSets2()">testAggregateGroupSets2</a></span>()</code></th>
<td class="colLast">
<div class="block">Aggregation query with different grouping sets, should not
do materialization.</div>
</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="#testAggregateGroupSetsRollUp()">testAggregateGroupSetsRollUp</a></span>()</code></th>
<td class="colLast">
<div class="block">Aggregation query with groupSets at coarser level of aggregation than
aggregation materialization.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testAggregateGroupSetsRollUp2()">testAggregateGroupSetsRollUp2</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testAggregateMaterializationAggregateFuncs1()">testAggregateMaterializationAggregateFuncs1</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testAggregateMaterializationAggregateFuncs10()">testAggregateMaterializationAggregateFuncs10</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testAggregateMaterializationAggregateFuncs11()">testAggregateMaterializationAggregateFuncs11</a></span>()</code></th>
<td class="colLast">&nbsp;</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="#testAggregateMaterializationAggregateFuncs12()">testAggregateMaterializationAggregateFuncs12</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="#testAggregateMaterializationAggregateFuncs13()">testAggregateMaterializationAggregateFuncs13</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="#testAggregateMaterializationAggregateFuncs14()">testAggregateMaterializationAggregateFuncs14</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="#testAggregateMaterializationAggregateFuncs15()">testAggregateMaterializationAggregateFuncs15</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="#testAggregateMaterializationAggregateFuncs16()">testAggregateMaterializationAggregateFuncs16</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="#testAggregateMaterializationAggregateFuncs17()">testAggregateMaterializationAggregateFuncs17</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="#testAggregateMaterializationAggregateFuncs18()">testAggregateMaterializationAggregateFuncs18</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="#testAggregateMaterializationAggregateFuncs19()">testAggregateMaterializationAggregateFuncs19</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="#testAggregateMaterializationAggregateFuncs2()">testAggregateMaterializationAggregateFuncs2</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testAggregateMaterializationAggregateFuncs3()">testAggregateMaterializationAggregateFuncs3</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="#testAggregateMaterializationAggregateFuncs4()">testAggregateMaterializationAggregateFuncs4</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testAggregateMaterializationAggregateFuncs5()">testAggregateMaterializationAggregateFuncs5</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="#testAggregateMaterializationAggregateFuncs6()">testAggregateMaterializationAggregateFuncs6</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="#testAggregateMaterializationAggregateFuncs7()">testAggregateMaterializationAggregateFuncs7</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="#testAggregateMaterializationAggregateFuncs8()">testAggregateMaterializationAggregateFuncs8</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="#testAggregateMaterializationAggregateFuncs9()">testAggregateMaterializationAggregateFuncs9</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="#testAggregateMaterializationNoAggregateFuncs1()">testAggregateMaterializationNoAggregateFuncs1</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="#testAggregateMaterializationNoAggregateFuncs2()">testAggregateMaterializationNoAggregateFuncs2</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="#testAggregateMaterializationNoAggregateFuncs3()">testAggregateMaterializationNoAggregateFuncs3</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="#testAggregateMaterializationNoAggregateFuncs4()">testAggregateMaterializationNoAggregateFuncs4</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="#testAggregateMaterializationNoAggregateFuncs5()">testAggregateMaterializationNoAggregateFuncs5</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="#testAggregateMaterializationNoAggregateFuncs6()">testAggregateMaterializationNoAggregateFuncs6</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="#testAggregateMaterializationNoAggregateFuncs7()">testAggregateMaterializationNoAggregateFuncs7</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="#testAggregateMaterializationNoAggregateFuncs8()">testAggregateMaterializationNoAggregateFuncs8</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="#testAggregateMaterializationNoAggregateFuncs9()">testAggregateMaterializationNoAggregateFuncs9</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="#testAggregateMaterializationOnCountDistinctQuery1()">testAggregateMaterializationOnCountDistinctQuery1</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="#testAggregateMaterializationOnCountDistinctQuery2()">testAggregateMaterializationOnCountDistinctQuery2</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="#testAggregateMaterializationOnCountDistinctQuery3()">testAggregateMaterializationOnCountDistinctQuery3</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testAggregateMaterializationOnCountDistinctQuery4()">testAggregateMaterializationOnCountDistinctQuery4</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="#testAggregateOnProject1()">testAggregateOnProject1</a></span>()</code></th>
<td class="colLast">
<div class="block">Test case for
<a href="https://issues.apache.org/jira/browse/CALCITE-3087">[CALCITE-3087]
AggregateOnProjectToAggregateUnifyRule ignores Project incorrectly when its
Mapping breaks ordering</a>.</div>
</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="#testAggregateOnProject2()">testAggregateOnProject2</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="#testAggregateOnProject3()">testAggregateOnProject3</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="#testAggregateOnProject4()">testAggregateOnProject4</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="#testAggregateProject()">testAggregateProject</a></span>()</code></th>
<td class="colLast">
<div class="block">Aggregation materialization with a project.</div>
</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="#testAggregateRollUp()">testAggregateRollUp</a></span>()</code></th>
<td class="colLast">
<div class="block">Aggregation query at coarser level of aggregation than aggregation
materialization.</div>
</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="#testAlias()">testAlias</a></span>()</code></th>
<td class="colLast">
<div class="block">As <a href="#testFilterQueryOnFilterView13()"><code>testFilterQueryOnFilterView13()</code></a> but using alias
and condition of query is stronger.</div>
</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="#testDifferentColumnNames()">testDifferentColumnNames</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testDifferentType()">testDifferentType</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="#testFilter()">testFilter</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="#testFilterGroupQueryOnStar()">testFilterGroupQueryOnStar</a></span>()</code></th>
<td class="colLast">
<div class="block">Tests a complicated star-join query on a complicated materialized
star-join query.</div>
</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="#testFilterQueryOnFilterView()">testFilterQueryOnFilterView</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="#testFilterQueryOnFilterView10()">testFilterQueryOnFilterView10</a></span>()</code></th>
<td class="colLast">
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition currently
has unsupported type being checked on query.</div>
</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="#testFilterQueryOnFilterView11()">testFilterQueryOnFilterView11</a></span>()</code></th>
<td class="colLast">
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition is weaker in
query and columns selected are subset of columns in materialized view.</div>
</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="#testFilterQueryOnFilterView12()">testFilterQueryOnFilterView12</a></span>()</code></th>
<td class="colLast">
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition of
query is stronger but is on the column not present in MV (salary).</div>
</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="#testFilterQueryOnFilterView13()">testFilterQueryOnFilterView13</a></span>()</code></th>
<td class="colLast">
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition is weaker in
query and columns selected are subset of columns in materialized view.</div>
</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="#testFilterQueryOnFilterView14()">testFilterQueryOnFilterView14</a></span>()</code></th>
<td class="colLast">
<div class="block">As <a href="#testFilterQueryOnFilterView7()"><code>testFilterQueryOnFilterView7()</code></a> but columns in materialized
view are a permutation of columns in the query.</div>
</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="#testFilterQueryOnFilterView2()">testFilterQueryOnFilterView2</a></span>()</code></th>
<td class="colLast">
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition is stronger in
query.</div>
</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="#testFilterQueryOnFilterView3()">testFilterQueryOnFilterView3</a></span>()</code></th>
<td class="colLast">
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition is weaker in
view.</div>
</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="#testFilterQueryOnFilterView4()">testFilterQueryOnFilterView4</a></span>()</code></th>
<td class="colLast">
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition is stronger in
query.</div>
</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="#testFilterQueryOnFilterView5()">testFilterQueryOnFilterView5</a></span>()</code></th>
<td class="colLast">
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition is stronger in
query and columns selected are subset of columns in materialized view.</div>
</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="#testFilterQueryOnFilterView6()">testFilterQueryOnFilterView6</a></span>()</code></th>
<td class="colLast">
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition is stronger in
query and columns selected are subset of columns in materialized view.</div>
</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="#testFilterQueryOnFilterView7()">testFilterQueryOnFilterView7</a></span>()</code></th>
<td class="colLast">
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition is stronger in
query and columns selected are subset of columns in materialized view.</div>
</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="#testFilterQueryOnFilterView8()">testFilterQueryOnFilterView8</a></span>()</code></th>
<td class="colLast">
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition is stronger in
query.</div>
</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="#testFilterQueryOnFilterView9()">testFilterQueryOnFilterView9</a></span>()</code></th>
<td class="colLast">
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition is weaker in
query.</div>
</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="#testFilterQueryOnProjectView()">testFilterQueryOnProjectView</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="#testFilterQueryOnProjectView0()">testFilterQueryOnProjectView0</a></span>()</code></th>
<td class="colLast">
<div class="block">Runs the same test as <a href="#testFilterQueryOnProjectView()"><code>testFilterQueryOnProjectView()</code></a> but more
concisely.</div>
</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="#testFilterQueryOnProjectView1()">testFilterQueryOnProjectView1</a></span>()</code></th>
<td class="colLast">
<div class="block">As <a href="#testFilterQueryOnProjectView()"><code>testFilterQueryOnProjectView()</code></a> but with extra column in
materialized view.</div>
</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="#testFilterQueryOnProjectView2()">testFilterQueryOnProjectView2</a></span>()</code></th>
<td class="colLast">
<div class="block">As <a href="#testFilterQueryOnProjectView()"><code>testFilterQueryOnProjectView()</code></a> but with extra column in both
materialized view and query.</div>
</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="#testFilterQueryOnProjectView3()">testFilterQueryOnProjectView3</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="#testFilterQueryOnProjectView4()">testFilterQueryOnProjectView4</a></span>()</code></th>
<td class="colLast">
<div class="block">As <a href="#testFilterQueryOnProjectView3()"><code>testFilterQueryOnProjectView3()</code></a> but materialized view cannot
be used because it does not contain required expression.</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="#testFilterQueryOnProjectView5()">testFilterQueryOnProjectView5</a></span>()</code></th>
<td class="colLast">
<div class="block">As <a href="#testFilterQueryOnProjectView3()"><code>testFilterQueryOnProjectView3()</code></a> but also contains an
expression column.</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="#testFilterQueryOnProjectView6()">testFilterQueryOnProjectView6</a></span>()</code></th>
<td class="colLast">
<div class="block">Cannot materialize because "name" is not projected in the MV.</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="#testFilterQueryOnProjectView7()">testFilterQueryOnProjectView7</a></span>()</code></th>
<td class="colLast">
<div class="block">As <a href="#testFilterQueryOnProjectView3()"><code>testFilterQueryOnProjectView3()</code></a> but also contains an
expression column.</div>
</td>
</tr>
<tr id="i84" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testFilterQueryOnProjectView8()">testFilterQueryOnProjectView8</a></span>()</code></th>
<td class="colLast">
<div class="block">Test case for
<a href="https://issues.apache.org/jira/browse/CALCITE-988">[CALCITE-988]
FilterToProjectUnifyRule.invert(MutableRel, MutableRel, MutableProject)
works incorrectly</a>.</div>
</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="#testFilterToProject0()">testFilterToProject0</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="#testFilterToProject1()">testFilterToProject1</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="#testJoinAggregateMaterializationAggregateFuncs1()">testJoinAggregateMaterializationAggregateFuncs1</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="#testJoinAggregateMaterializationAggregateFuncs10()">testJoinAggregateMaterializationAggregateFuncs10</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="#testJoinAggregateMaterializationAggregateFuncs11()">testJoinAggregateMaterializationAggregateFuncs11</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="#testJoinAggregateMaterializationAggregateFuncs12()">testJoinAggregateMaterializationAggregateFuncs12</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="#testJoinAggregateMaterializationAggregateFuncs13()">testJoinAggregateMaterializationAggregateFuncs13</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="#testJoinAggregateMaterializationAggregateFuncs14()">testJoinAggregateMaterializationAggregateFuncs14</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="#testJoinAggregateMaterializationAggregateFuncs2()">testJoinAggregateMaterializationAggregateFuncs2</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="#testJoinAggregateMaterializationAggregateFuncs3()">testJoinAggregateMaterializationAggregateFuncs3</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="#testJoinAggregateMaterializationAggregateFuncs4()">testJoinAggregateMaterializationAggregateFuncs4</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="#testJoinAggregateMaterializationAggregateFuncs5()">testJoinAggregateMaterializationAggregateFuncs5</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="#testJoinAggregateMaterializationAggregateFuncs6()">testJoinAggregateMaterializationAggregateFuncs6</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="#testJoinAggregateMaterializationAggregateFuncs7()">testJoinAggregateMaterializationAggregateFuncs7</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="#testJoinAggregateMaterializationAggregateFuncs8()">testJoinAggregateMaterializationAggregateFuncs8</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="#testJoinAggregateMaterializationAggregateFuncs9()">testJoinAggregateMaterializationAggregateFuncs9</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="#testJoinAggregateMaterializationNoAggregateFuncs1()">testJoinAggregateMaterializationNoAggregateFuncs1</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="#testJoinAggregateMaterializationNoAggregateFuncs10()">testJoinAggregateMaterializationNoAggregateFuncs10</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="#testJoinAggregateMaterializationNoAggregateFuncs2()">testJoinAggregateMaterializationNoAggregateFuncs2</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="#testJoinAggregateMaterializationNoAggregateFuncs3()">testJoinAggregateMaterializationNoAggregateFuncs3</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="#testJoinAggregateMaterializationNoAggregateFuncs4()">testJoinAggregateMaterializationNoAggregateFuncs4</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="#testJoinAggregateMaterializationNoAggregateFuncs5()">testJoinAggregateMaterializationNoAggregateFuncs5</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="#testJoinAggregateMaterializationNoAggregateFuncs6()">testJoinAggregateMaterializationNoAggregateFuncs6</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="#testJoinAggregateMaterializationNoAggregateFuncs7()">testJoinAggregateMaterializationNoAggregateFuncs7</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="#testJoinAggregateMaterializationNoAggregateFuncs8()">testJoinAggregateMaterializationNoAggregateFuncs8</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="#testJoinAggregateMaterializationNoAggregateFuncs9()">testJoinAggregateMaterializationNoAggregateFuncs9</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="#testJoinMaterialization()">testJoinMaterialization</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="#testJoinMaterialization10()">testJoinMaterialization10</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="#testJoinMaterialization11()">testJoinMaterialization11</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="#testJoinMaterialization12()">testJoinMaterialization12</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="#testJoinMaterialization2()">testJoinMaterialization2</a></span>()</code></th>
<td class="colLast">
<div class="block">Test case for
<a href="https://issues.apache.org/jira/browse/CALCITE-891">[CALCITE-891]
TableScan without Project cannot be substituted by any projected
materialization</a>.</div>
</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="#testJoinMaterialization3()">testJoinMaterialization3</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i117" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testJoinMaterialization4()">testJoinMaterialization4</a></span>()</code></th>
<td class="colLast">&nbsp;</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="#testJoinMaterialization5()">testJoinMaterialization5</a></span>()</code></th>
<td class="colLast">&nbsp;</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="#testJoinMaterialization6()">testJoinMaterialization6</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="#testJoinMaterialization7()">testJoinMaterialization7</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="#testJoinMaterialization8()">testJoinMaterialization8</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="#testJoinMaterialization9()">testJoinMaterialization9</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="#testJoinMaterializationUKFK1()">testJoinMaterializationUKFK1</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="#testJoinMaterializationUKFK2()">testJoinMaterializationUKFK2</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="#testJoinMaterializationUKFK3()">testJoinMaterializationUKFK3</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="#testJoinMaterializationUKFK4()">testJoinMaterializationUKFK4</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="#testJoinMaterializationUKFK5()">testJoinMaterializationUKFK5</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="#testJoinMaterializationUKFK6()">testJoinMaterializationUKFK6</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="#testJoinMaterializationUKFK7()">testJoinMaterializationUKFK7</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="#testJoinMaterializationUKFK8()">testJoinMaterializationUKFK8</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="#testJoinMaterializationUKFK9()">testJoinMaterializationUKFK9</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="#testJoinOnUnionMaterialization()">testJoinOnUnionMaterialization</a></span>()</code></th>
<td class="colLast">
<div class="block">A materialization that is a join of a union cannot at present be converted
to a star table and therefore cannot be recognized.</div>
</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="#testMaterializationAfterTrimingOfUnusedFields()">testMaterializationAfterTrimingOfUnusedFields</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="#testMaterializationOnJoinQuery()">testMaterializationOnJoinQuery</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="#testMaterializationReferencesTableInOtherSchema()">testMaterializationReferencesTableInOtherSchema</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="#testMaterializationSubstitution()">testMaterializationSubstitution</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="#testMaterializationSubstitution2()">testMaterializationSubstitution2</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="#testMultiMaterializationMultiUsage()">testMultiMaterializationMultiUsage</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="#testMultiMaterializationOnJoinQuery()">testMultiMaterializationOnJoinQuery</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="#testNonDisjointUnion()">testNonDisjointUnion</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="#testOrderByQueryOnOrderByView()">testOrderByQueryOnOrderByView</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="#testOrderByQueryOnProjectView()">testOrderByQueryOnProjectView</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="#testPartialUnion()">testPartialUnion</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="#testPermutationError()">testPermutationError</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="#testPrePopulated()">testPrePopulated</a></span>()</code></th>
<td class="colLast">
<div class="block">Test case for
<a href="https://issues.apache.org/jira/browse/CALCITE-761">[CALCITE-761]
Pre-populated materializations</a>.</div>
</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="#testQueryOnStar()">testQueryOnStar</a></span>()</code></th>
<td class="colLast">
<div class="block">Simpler than <a href="#testFilterGroupQueryOnStar()"><code>testFilterGroupQueryOnStar()</code></a>, tests a query on a
materialization that is just a join.</div>
</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="#testSatisfiable()">testSatisfiable</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit test for logic functions
<code>SubstitutionVisitor.mayBeSatisfiable(org.apache.calcite.rex.RexNode)</code> and
<code>RexUtil.simplify(org.apache.calcite.rex.RexBuilder, org.apache.calcite.rex.RexNode)</code>.</div>
</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="#testScan()">testScan</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="#testSingleMaterializationMultiUsage()">testSingleMaterializationMultiUsage</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="#testSplitFilter()">testSplitFilter</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="#testSubQuery()">testSubQuery</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="#testSwapJoin()">testSwapJoin</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="#testTableModify()">testTableModify</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="#testUnionAll()">testUnionAll</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="#testUnionToUnion()">testUnionToUnion</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="#testViewMaterialization()">testViewMaterialization</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i157" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testViewSchemaPath()">testViewSchemaPath</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<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="CONTAINS_M0">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONTAINS_M0</h4>
<pre>private static final&nbsp;java.util.function.Consumer&lt;java.sql.ResultSet&gt; CONTAINS_M0</pre>
</li>
</ul>
<a id="CONTAINS_LOCATIONS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONTAINS_LOCATIONS</h4>
<pre>private static final&nbsp;java.util.function.Consumer&lt;java.sql.ResultSet&gt; CONTAINS_LOCATIONS</pre>
</li>
</ul>
<a id="CASE_INSENSITIVE_LIST_COMPARATOR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CASE_INSENSITIVE_LIST_COMPARATOR</h4>
<pre>private static final&nbsp;com.google.common.collect.Ordering&lt;java.lang.Iterable&lt;java.lang.String&gt;&gt; CASE_INSENSITIVE_LIST_COMPARATOR</pre>
</li>
</ul>
<a id="CASE_INSENSITIVE_LIST_LIST_COMPARATOR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CASE_INSENSITIVE_LIST_LIST_COMPARATOR</h4>
<pre>private static final&nbsp;com.google.common.collect.Ordering&lt;java.lang.Iterable&lt;java.util.List&lt;java.lang.String&gt;&gt;&gt; CASE_INSENSITIVE_LIST_LIST_COMPARATOR</pre>
</li>
</ul>
<a id="HR_FKUK_SCHEMA">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HR_FKUK_SCHEMA</h4>
<pre>private static final&nbsp;java.lang.String HR_FKUK_SCHEMA</pre>
</li>
</ul>
<a id="HR_FKUK_MODEL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HR_FKUK_MODEL</h4>
<pre>private static final&nbsp;java.lang.String HR_FKUK_MODEL</pre>
</li>
</ul>
<a id="typeFactory">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>typeFactory</h4>
<pre>final&nbsp;org.apache.calcite.jdbc.JavaTypeFactoryImpl typeFactory</pre>
</li>
</ul>
<a id="rexBuilder">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rexBuilder</h4>
<pre>private final&nbsp;org.apache.calcite.rex.RexBuilder rexBuilder</pre>
</li>
</ul>
<a id="simplify">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>simplify</h4>
<pre>private final&nbsp;org.apache.calcite.rex.RexSimplify simplify</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>MaterializationTest</h4>
<pre>public&nbsp;MaterializationTest()</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="testScan()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testScan</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testScan()</pre>
</li>
</ul>
<a id="testFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilter()</pre>
</li>
</ul>
<a id="testFilterToProject0()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterToProject0</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterToProject0()</pre>
</li>
</ul>
<a id="testFilterToProject1()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterToProject1</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterToProject1()</pre>
</li>
</ul>
<a id="testFilterQueryOnProjectView()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnProjectView</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnProjectView()</pre>
</li>
</ul>
<a id="checkMaterialize(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkMaterialize</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkMaterialize&#8203;(java.lang.String&nbsp;materialize,
java.lang.String&nbsp;query)</pre>
<div class="block">Checks that a given query can use a materialized view with a given
definition.</div>
</li>
</ul>
<a id="checkMaterializeWithRules(java.lang.String,java.lang.String,org.apache.calcite.tools.RuleSet)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkMaterializeWithRules</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkMaterializeWithRules&#8203;(java.lang.String&nbsp;materialize,
java.lang.String&nbsp;query,
org.apache.calcite.tools.RuleSet&nbsp;rules)</pre>
<div class="block">Checks that a given query can use a materialized view with a given
definition.</div>
</li>
</ul>
<a id="checkMaterialize(java.lang.String,java.lang.String,java.lang.String,java.util.function.Consumer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkMaterialize</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkMaterialize&#8203;(java.lang.String&nbsp;materialize,
java.lang.String&nbsp;query,
java.lang.String&nbsp;model,
java.util.function.Consumer&lt;java.sql.ResultSet&gt;&nbsp;explainChecker)</pre>
<div class="block">Checks that a given query can use a materialized view with a given
definition.</div>
</li>
</ul>
<a id="checkMaterialize(java.lang.String,java.lang.String,java.lang.String,java.util.function.Consumer,org.apache.calcite.tools.RuleSet)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkMaterialize</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkMaterialize&#8203;(java.lang.String&nbsp;materialize,
java.lang.String&nbsp;query,
java.lang.String&nbsp;model,
java.util.function.Consumer&lt;java.sql.ResultSet&gt;&nbsp;explainChecker,
org.apache.calcite.tools.RuleSet&nbsp;rules)</pre>
</li>
</ul>
<a id="checkThatMaterialize(java.lang.String,java.lang.String,java.lang.String,boolean,java.lang.String,java.util.function.Consumer,org.apache.calcite.tools.RuleSet)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkThatMaterialize</h4>
<pre class="methodSignature">private&nbsp;<a href="CalciteAssert.AssertQuery.html" title="class in org.apache.calcite.test">CalciteAssert.AssertQuery</a>&nbsp;checkThatMaterialize&#8203;(java.lang.String&nbsp;materialize,
java.lang.String&nbsp;query,
java.lang.String&nbsp;name,
boolean&nbsp;existing,
java.lang.String&nbsp;model,
java.util.function.Consumer&lt;java.sql.ResultSet&gt;&nbsp;explainChecker,
org.apache.calcite.tools.RuleSet&nbsp;rules)</pre>
<div class="block">Checks that a given query can use a materialized view with a given
definition.</div>
</li>
</ul>
<a id="checkNoMaterialize(java.lang.String,java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkNoMaterialize</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkNoMaterialize&#8203;(java.lang.String&nbsp;materialize,
java.lang.String&nbsp;query,
java.lang.String&nbsp;model)</pre>
<div class="block">Checks that a given query CAN NOT use a materialized view with a given
definition.</div>
</li>
</ul>
<a id="testFilterQueryOnProjectView0()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnProjectView0</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnProjectView0()</pre>
<div class="block">Runs the same test as <a href="#testFilterQueryOnProjectView()"><code>testFilterQueryOnProjectView()</code></a> but more
concisely.</div>
</li>
</ul>
<a id="testFilterQueryOnProjectView1()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnProjectView1</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnProjectView1()</pre>
<div class="block">As <a href="#testFilterQueryOnProjectView()"><code>testFilterQueryOnProjectView()</code></a> but with extra column in
materialized view.</div>
</li>
</ul>
<a id="testFilterQueryOnProjectView2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnProjectView2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnProjectView2()</pre>
<div class="block">As <a href="#testFilterQueryOnProjectView()"><code>testFilterQueryOnProjectView()</code></a> but with extra column in both
materialized view and query.</div>
</li>
</ul>
<a id="testFilterQueryOnProjectView3()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnProjectView3</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnProjectView3()</pre>
</li>
</ul>
<a id="testFilterQueryOnProjectView4()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnProjectView4</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnProjectView4()</pre>
<div class="block">As <a href="#testFilterQueryOnProjectView3()"><code>testFilterQueryOnProjectView3()</code></a> but materialized view cannot
be used because it does not contain required expression.</div>
</li>
</ul>
<a id="testFilterQueryOnProjectView5()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnProjectView5</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnProjectView5()</pre>
<div class="block">As <a href="#testFilterQueryOnProjectView3()"><code>testFilterQueryOnProjectView3()</code></a> but also contains an
expression column.</div>
</li>
</ul>
<a id="testFilterQueryOnProjectView6()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnProjectView6</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnProjectView6()</pre>
<div class="block">Cannot materialize because "name" is not projected in the MV.</div>
</li>
</ul>
<a id="testFilterQueryOnProjectView7()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnProjectView7</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnProjectView7()</pre>
<div class="block">As <a href="#testFilterQueryOnProjectView3()"><code>testFilterQueryOnProjectView3()</code></a> but also contains an
expression column.</div>
</li>
</ul>
<a id="testFilterQueryOnProjectView8()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnProjectView8</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnProjectView8()</pre>
<div class="block">Test case for
<a href="https://issues.apache.org/jira/browse/CALCITE-988">[CALCITE-988]
FilterToProjectUnifyRule.invert(MutableRel, MutableRel, MutableProject)
works incorrectly</a>.</div>
</li>
</ul>
<a id="testFilterQueryOnFilterView()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnFilterView</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnFilterView()</pre>
</li>
</ul>
<a id="testFilterQueryOnFilterView2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnFilterView2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnFilterView2()</pre>
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition is stronger in
query.</div>
</li>
</ul>
<a id="testFilterQueryOnFilterView3()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnFilterView3</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnFilterView3()</pre>
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition is weaker in
view.</div>
</li>
</ul>
<a id="testFilterQueryOnFilterView4()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnFilterView4</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnFilterView4()</pre>
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition is stronger in
query.</div>
</li>
</ul>
<a id="testFilterQueryOnFilterView5()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnFilterView5</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnFilterView5()</pre>
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition is stronger in
query and columns selected are subset of columns in materialized view.</div>
</li>
</ul>
<a id="testFilterQueryOnFilterView6()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnFilterView6</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnFilterView6()</pre>
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition is stronger in
query and columns selected are subset of columns in materialized view.</div>
</li>
</ul>
<a id="testFilterQueryOnFilterView7()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnFilterView7</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnFilterView7()</pre>
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition is stronger in
query and columns selected are subset of columns in materialized view.
Condition here is complex.</div>
</li>
</ul>
<a id="testFilterQueryOnFilterView8()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnFilterView8</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnFilterView8()</pre>
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition is stronger in
query. However, columns selected are not present in columns of materialized
view, Hence should not use materialized view.</div>
</li>
</ul>
<a id="testFilterQueryOnFilterView9()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnFilterView9</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnFilterView9()</pre>
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition is weaker in
query.</div>
</li>
</ul>
<a id="testFilterQueryOnFilterView10()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnFilterView10</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnFilterView10()</pre>
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition currently
has unsupported type being checked on query.</div>
</li>
</ul>
<a id="testFilterQueryOnFilterView11()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnFilterView11</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnFilterView11()</pre>
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition is weaker in
query and columns selected are subset of columns in materialized view.
Condition here is complex.</div>
</li>
</ul>
<a id="testFilterQueryOnFilterView12()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnFilterView12</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnFilterView12()</pre>
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition of
query is stronger but is on the column not present in MV (salary).</div>
</li>
</ul>
<a id="testFilterQueryOnFilterView13()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnFilterView13</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnFilterView13()</pre>
<div class="block">As <a href="#testFilterQueryOnFilterView()"><code>testFilterQueryOnFilterView()</code></a> but condition is weaker in
query and columns selected are subset of columns in materialized view.
Condition here is complex.</div>
</li>
</ul>
<a id="testFilterQueryOnFilterView14()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterQueryOnFilterView14</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterQueryOnFilterView14()</pre>
<div class="block">As <a href="#testFilterQueryOnFilterView7()"><code>testFilterQueryOnFilterView7()</code></a> but columns in materialized
view are a permutation of columns in the query.</div>
</li>
</ul>
<a id="testAlias()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAlias</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAlias()</pre>
<div class="block">As <a href="#testFilterQueryOnFilterView13()"><code>testFilterQueryOnFilterView13()</code></a> but using alias
and condition of query is stronger.</div>
</li>
</ul>
<a id="testAggregate0()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregate0</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregate0()</pre>
<div class="block">Aggregation query at same level of aggregation as aggregation
materialization.</div>
</li>
</ul>
<a id="testAggregate1()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregate1</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregate1()</pre>
<div class="block">Aggregation query at same level of aggregation as aggregation
materialization but with different row types.</div>
</li>
</ul>
<a id="testAggregate2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregate2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregate2()</pre>
</li>
</ul>
<a id="testAggregate3()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregate3</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregate3()</pre>
</li>
</ul>
<a id="testAggregateGroupSets1()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateGroupSets1</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateGroupSets1()</pre>
<div class="block">Aggregation query at same level of aggregation as aggregation
materialization with grouping sets.</div>
</li>
</ul>
<a id="testAggregateGroupSets2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateGroupSets2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateGroupSets2()</pre>
<div class="block">Aggregation query with different grouping sets, should not
do materialization.</div>
</li>
</ul>
<a id="testAggregateRollUp()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateRollUp</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateRollUp()</pre>
<div class="block">Aggregation query at coarser level of aggregation than aggregation
materialization. Requires an additional aggregate to roll up. Note that
COUNT is rolled up using SUM0.</div>
</li>
</ul>
<a id="testAggregateGroupSetsRollUp()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateGroupSetsRollUp</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateGroupSetsRollUp()</pre>
<div class="block">Aggregation query with groupSets at coarser level of aggregation than
aggregation materialization. Requires an additional aggregate to roll up.
Note that COUNT is rolled up using SUM0.</div>
</li>
</ul>
<a id="testAggregateGroupSetsRollUp2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateGroupSetsRollUp2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateGroupSetsRollUp2()</pre>
</li>
</ul>
<a id="testAggregateProject()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateProject</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateProject()</pre>
<div class="block">Aggregation materialization with a project.</div>
</li>
</ul>
<a id="testAggregateOnProject1()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateOnProject1</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateOnProject1()</pre>
<div class="block">Test case for
<a href="https://issues.apache.org/jira/browse/CALCITE-3087">[CALCITE-3087]
AggregateOnProjectToAggregateUnifyRule ignores Project incorrectly when its
Mapping breaks ordering</a>.</div>
</li>
</ul>
<a id="testAggregateOnProject2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateOnProject2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateOnProject2()</pre>
</li>
</ul>
<a id="testAggregateOnProject3()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateOnProject3</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateOnProject3()</pre>
</li>
</ul>
<a id="testAggregateOnProject4()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateOnProject4</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateOnProject4()</pre>
</li>
</ul>
<a id="testPermutationError()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPermutationError</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testPermutationError()</pre>
</li>
</ul>
<a id="testSwapJoin()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSwapJoin</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSwapJoin()</pre>
</li>
</ul>
<a id="testOrderByQueryOnProjectView()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testOrderByQueryOnProjectView</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testOrderByQueryOnProjectView()</pre>
</li>
</ul>
<a id="testOrderByQueryOnOrderByView()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testOrderByQueryOnOrderByView</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testOrderByQueryOnOrderByView()</pre>
</li>
</ul>
<a id="testDifferentColumnNames()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDifferentColumnNames</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testDifferentColumnNames()</pre>
</li>
</ul>
<a id="testDifferentType()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDifferentType</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testDifferentType()</pre>
</li>
</ul>
<a id="testPartialUnion()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPartialUnion</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testPartialUnion()</pre>
</li>
</ul>
<a id="testNonDisjointUnion()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNonDisjointUnion</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNonDisjointUnion()</pre>
</li>
</ul>
<a id="testMaterializationReferencesTableInOtherSchema()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMaterializationReferencesTableInOtherSchema</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testMaterializationReferencesTableInOtherSchema()</pre>
</li>
</ul>
<a id="testSatisfiable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSatisfiable</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSatisfiable()</pre>
<div class="block">Unit test for logic functions
<code>SubstitutionVisitor.mayBeSatisfiable(org.apache.calcite.rex.RexNode)</code> and
<code>RexUtil.simplify(org.apache.calcite.rex.RexBuilder, org.apache.calcite.rex.RexNode)</code>.</div>
</li>
</ul>
<a id="checkNotSatisfiable(org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkNotSatisfiable</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkNotSatisfiable&#8203;(org.apache.calcite.rex.RexNode&nbsp;e)</pre>
</li>
</ul>
<a id="checkSatisfiable(org.apache.calcite.rex.RexNode,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkSatisfiable</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkSatisfiable&#8203;(org.apache.calcite.rex.RexNode&nbsp;e,
java.lang.String&nbsp;s)</pre>
</li>
</ul>
<a id="testSplitFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSplitFilter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSplitFilter()</pre>
</li>
</ul>
<a id="testFilterGroupQueryOnStar()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testFilterGroupQueryOnStar</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testFilterGroupQueryOnStar()</pre>
<div class="block">Tests a complicated star-join query on a complicated materialized
star-join query. Some of the features:
<ol>
<li>query joins in different order;
<li>query's join conditions are in where clause;
<li>query does not use all join tables (safe to omit them because they are
many-to-mandatory-one joins);
<li>query is at higher granularity, therefore needs to roll up;
<li>query has a condition on one of the materialization's grouping columns.
</ol></div>
</li>
</ul>
<a id="testQueryOnStar()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testQueryOnStar</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testQueryOnStar()</pre>
<div class="block">Simpler than <a href="#testFilterGroupQueryOnStar()"><code>testFilterGroupQueryOnStar()</code></a>, tests a query on a
materialization that is just a join.</div>
</li>
</ul>
<a id="testJoinOnUnionMaterialization()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinOnUnionMaterialization</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinOnUnionMaterialization()</pre>
<div class="block">A materialization that is a join of a union cannot at present be converted
to a star table and therefore cannot be recognized. This test checks that
nothing unpleasant happens.</div>
</li>
</ul>
<a id="testJoinMaterialization()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterialization</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterialization()</pre>
</li>
</ul>
<a id="testJoinMaterialization2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterialization2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterialization2()</pre>
<div class="block">Test case for
<a href="https://issues.apache.org/jira/browse/CALCITE-891">[CALCITE-891]
TableScan without Project cannot be substituted by any projected
materialization</a>.</div>
</li>
</ul>
<a id="testJoinMaterialization3()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterialization3</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterialization3()</pre>
</li>
</ul>
<a id="testUnionAll()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testUnionAll</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testUnionAll()</pre>
</li>
</ul>
<a id="testAggregateMaterializationNoAggregateFuncs1()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationNoAggregateFuncs1</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationNoAggregateFuncs1()</pre>
</li>
</ul>
<a id="testAggregateMaterializationNoAggregateFuncs2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationNoAggregateFuncs2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationNoAggregateFuncs2()</pre>
</li>
</ul>
<a id="testAggregateMaterializationNoAggregateFuncs3()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationNoAggregateFuncs3</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationNoAggregateFuncs3()</pre>
</li>
</ul>
<a id="testAggregateMaterializationNoAggregateFuncs4()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationNoAggregateFuncs4</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationNoAggregateFuncs4()</pre>
</li>
</ul>
<a id="testAggregateMaterializationNoAggregateFuncs5()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationNoAggregateFuncs5</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationNoAggregateFuncs5()</pre>
</li>
</ul>
<a id="testAggregateMaterializationNoAggregateFuncs6()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationNoAggregateFuncs6</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationNoAggregateFuncs6()</pre>
</li>
</ul>
<a id="testAggregateMaterializationNoAggregateFuncs7()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationNoAggregateFuncs7</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationNoAggregateFuncs7()</pre>
</li>
</ul>
<a id="testAggregateMaterializationNoAggregateFuncs8()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationNoAggregateFuncs8</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationNoAggregateFuncs8()</pre>
</li>
</ul>
<a id="testAggregateMaterializationNoAggregateFuncs9()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationNoAggregateFuncs9</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationNoAggregateFuncs9()</pre>
</li>
</ul>
<a id="testAggregateMaterializationAggregateFuncs1()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationAggregateFuncs1</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationAggregateFuncs1()</pre>
</li>
</ul>
<a id="testAggregateMaterializationAggregateFuncs2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationAggregateFuncs2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationAggregateFuncs2()</pre>
</li>
</ul>
<a id="testAggregateMaterializationAggregateFuncs3()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationAggregateFuncs3</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationAggregateFuncs3()</pre>
</li>
</ul>
<a id="testAggregateMaterializationAggregateFuncs4()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationAggregateFuncs4</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationAggregateFuncs4()</pre>
</li>
</ul>
<a id="testAggregateMaterializationAggregateFuncs5()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationAggregateFuncs5</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationAggregateFuncs5()</pre>
</li>
</ul>
<a id="testAggregateMaterializationAggregateFuncs6()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationAggregateFuncs6</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationAggregateFuncs6()</pre>
</li>
</ul>
<a id="testAggregateMaterializationAggregateFuncs7()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationAggregateFuncs7</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationAggregateFuncs7()</pre>
</li>
</ul>
<a id="testAggregateMaterializationAggregateFuncs8()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationAggregateFuncs8</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationAggregateFuncs8()</pre>
</li>
</ul>
<a id="testAggregateMaterializationAggregateFuncs9()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationAggregateFuncs9</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationAggregateFuncs9()</pre>
</li>
</ul>
<a id="testAggregateMaterializationAggregateFuncs10()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationAggregateFuncs10</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationAggregateFuncs10()</pre>
</li>
</ul>
<a id="testAggregateMaterializationAggregateFuncs11()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationAggregateFuncs11</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationAggregateFuncs11()</pre>
</li>
</ul>
<a id="testAggregateMaterializationAggregateFuncs12()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationAggregateFuncs12</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationAggregateFuncs12()</pre>
</li>
</ul>
<a id="testAggregateMaterializationAggregateFuncs13()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationAggregateFuncs13</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationAggregateFuncs13()</pre>
</li>
</ul>
<a id="testAggregateMaterializationAggregateFuncs14()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationAggregateFuncs14</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationAggregateFuncs14()</pre>
</li>
</ul>
<a id="testAggregateMaterializationAggregateFuncs15()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationAggregateFuncs15</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationAggregateFuncs15()</pre>
</li>
</ul>
<a id="testAggregateMaterializationAggregateFuncs16()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationAggregateFuncs16</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationAggregateFuncs16()</pre>
</li>
</ul>
<a id="testAggregateMaterializationAggregateFuncs17()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationAggregateFuncs17</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationAggregateFuncs17()</pre>
</li>
</ul>
<a id="testAggregateMaterializationAggregateFuncs18()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationAggregateFuncs18</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationAggregateFuncs18()</pre>
</li>
</ul>
<a id="testAggregateMaterializationAggregateFuncs19()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationAggregateFuncs19</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationAggregateFuncs19()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationNoAggregateFuncs1()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationNoAggregateFuncs1</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationNoAggregateFuncs1()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationNoAggregateFuncs2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationNoAggregateFuncs2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationNoAggregateFuncs2()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationNoAggregateFuncs3()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationNoAggregateFuncs3</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationNoAggregateFuncs3()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationNoAggregateFuncs4()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationNoAggregateFuncs4</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationNoAggregateFuncs4()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationNoAggregateFuncs5()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationNoAggregateFuncs5</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationNoAggregateFuncs5()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationNoAggregateFuncs6()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationNoAggregateFuncs6</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationNoAggregateFuncs6()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationNoAggregateFuncs7()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationNoAggregateFuncs7</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationNoAggregateFuncs7()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationNoAggregateFuncs8()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationNoAggregateFuncs8</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationNoAggregateFuncs8()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationNoAggregateFuncs9()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationNoAggregateFuncs9</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationNoAggregateFuncs9()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationNoAggregateFuncs10()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationNoAggregateFuncs10</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationNoAggregateFuncs10()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationAggregateFuncs1()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationAggregateFuncs1</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationAggregateFuncs1()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationAggregateFuncs2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationAggregateFuncs2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationAggregateFuncs2()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationAggregateFuncs3()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationAggregateFuncs3</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationAggregateFuncs3()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationAggregateFuncs4()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationAggregateFuncs4</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationAggregateFuncs4()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationAggregateFuncs5()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationAggregateFuncs5</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationAggregateFuncs5()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationAggregateFuncs6()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationAggregateFuncs6</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationAggregateFuncs6()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationAggregateFuncs7()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationAggregateFuncs7</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationAggregateFuncs7()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationAggregateFuncs8()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationAggregateFuncs8</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationAggregateFuncs8()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationAggregateFuncs9()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationAggregateFuncs9</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationAggregateFuncs9()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationAggregateFuncs10()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationAggregateFuncs10</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationAggregateFuncs10()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationAggregateFuncs11()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationAggregateFuncs11</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationAggregateFuncs11()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationAggregateFuncs12()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationAggregateFuncs12</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationAggregateFuncs12()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationAggregateFuncs13()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationAggregateFuncs13</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationAggregateFuncs13()</pre>
</li>
</ul>
<a id="testJoinAggregateMaterializationAggregateFuncs14()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinAggregateMaterializationAggregateFuncs14</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinAggregateMaterializationAggregateFuncs14()</pre>
</li>
</ul>
<a id="testJoinMaterialization4()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterialization4</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterialization4()</pre>
</li>
</ul>
<a id="testJoinMaterialization5()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterialization5</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterialization5()</pre>
</li>
</ul>
<a id="testJoinMaterialization6()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterialization6</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterialization6()</pre>
</li>
</ul>
<a id="testJoinMaterialization7()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterialization7</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterialization7()</pre>
</li>
</ul>
<a id="testJoinMaterialization8()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterialization8</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterialization8()</pre>
</li>
</ul>
<a id="testJoinMaterialization9()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterialization9</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterialization9()</pre>
</li>
</ul>
<a id="testJoinMaterialization10()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterialization10</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterialization10()</pre>
</li>
</ul>
<a id="testJoinMaterialization11()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterialization11</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterialization11()</pre>
</li>
</ul>
<a id="testJoinMaterialization12()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterialization12</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterialization12()</pre>
</li>
</ul>
<a id="testJoinMaterializationUKFK1()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterializationUKFK1</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterializationUKFK1()</pre>
</li>
</ul>
<a id="testJoinMaterializationUKFK2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterializationUKFK2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterializationUKFK2()</pre>
</li>
</ul>
<a id="testJoinMaterializationUKFK3()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterializationUKFK3</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterializationUKFK3()</pre>
</li>
</ul>
<a id="testJoinMaterializationUKFK4()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterializationUKFK4</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterializationUKFK4()</pre>
</li>
</ul>
<a id="testJoinMaterializationUKFK5()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterializationUKFK5</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterializationUKFK5()</pre>
</li>
</ul>
<a id="testJoinMaterializationUKFK6()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterializationUKFK6</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterializationUKFK6()</pre>
</li>
</ul>
<a id="testJoinMaterializationUKFK7()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterializationUKFK7</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterializationUKFK7()</pre>
</li>
</ul>
<a id="testJoinMaterializationUKFK8()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterializationUKFK8</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterializationUKFK8()</pre>
</li>
</ul>
<a id="testJoinMaterializationUKFK9()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testJoinMaterializationUKFK9</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testJoinMaterializationUKFK9()</pre>
</li>
</ul>
<a id="testViewMaterialization()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testViewMaterialization</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testViewMaterialization()</pre>
</li>
</ul>
<a id="testSubQuery()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSubQuery</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSubQuery()</pre>
</li>
</ul>
<a id="testTableModify()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testTableModify</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testTableModify()</pre>
</li>
</ul>
<a id="testPrePopulated()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPrePopulated</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testPrePopulated()</pre>
<div class="block">Test case for
<a href="https://issues.apache.org/jira/browse/CALCITE-761">[CALCITE-761]
Pre-populated materializations</a>.</div>
</li>
</ul>
<a id="testViewSchemaPath()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testViewSchemaPath</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testViewSchemaPath()</pre>
</li>
</ul>
<a id="testSingleMaterializationMultiUsage()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSingleMaterializationMultiUsage</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSingleMaterializationMultiUsage()</pre>
</li>
</ul>
<a id="testMultiMaterializationMultiUsage()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMultiMaterializationMultiUsage</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testMultiMaterializationMultiUsage()</pre>
</li>
</ul>
<a id="testMaterializationOnJoinQuery()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMaterializationOnJoinQuery</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testMaterializationOnJoinQuery()</pre>
</li>
</ul>
<a id="testMultiMaterializationOnJoinQuery()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMultiMaterializationOnJoinQuery</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testMultiMaterializationOnJoinQuery()</pre>
</li>
</ul>
<a id="testAggregateMaterializationOnCountDistinctQuery1()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationOnCountDistinctQuery1</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationOnCountDistinctQuery1()</pre>
</li>
</ul>
<a id="testAggregateMaterializationOnCountDistinctQuery2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationOnCountDistinctQuery2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationOnCountDistinctQuery2()</pre>
</li>
</ul>
<a id="testAggregateMaterializationOnCountDistinctQuery3()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationOnCountDistinctQuery3</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationOnCountDistinctQuery3()</pre>
</li>
</ul>
<a id="testAggregateMaterializationOnCountDistinctQuery4()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testAggregateMaterializationOnCountDistinctQuery4</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testAggregateMaterializationOnCountDistinctQuery4()</pre>
</li>
</ul>
<a id="testMaterializationSubstitution()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMaterializationSubstitution</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testMaterializationSubstitution()</pre>
</li>
</ul>
<a id="testMaterializationSubstitution2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMaterializationSubstitution2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testMaterializationSubstitution2()</pre>
</li>
</ul>
<a id="testMaterializationAfterTrimingOfUnusedFields()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMaterializationAfterTrimingOfUnusedFields</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testMaterializationAfterTrimingOfUnusedFields()</pre>
</li>
</ul>
<a id="testUnionToUnion()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testUnionToUnion</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testUnionToUnion()</pre>
</li>
</ul>
<a id="list3(java.lang.Object[][][][][][])">
<!-- -->
</a><a id="list3(E[][][])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>list3</h4>
<pre class="methodSignature">private static&nbsp;&lt;E&gt;&nbsp;java.util.List&lt;java.util.List&lt;java.util.List&lt;E&gt;&gt;&gt;&nbsp;list3&#8203;(E[][][]&nbsp;as)</pre>
</li>
</ul>
<a id="list2(java.lang.Object[][][])">
<!-- -->
</a><a id="list2(E[][])">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>list2</h4>
<pre class="methodSignature">private static&nbsp;&lt;E&gt;&nbsp;java.util.List&lt;java.util.List&lt;E&gt;&gt;&nbsp;list2&#8203;(E[][]&nbsp;as)</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/MaterializationTest.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>