| <!DOCTYPE HTML> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc --> |
| <title>PlannerTest (Calcite 1.20.0 Test API)</title> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style"> |
| <script type="text/javascript" src="../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script> |
| <script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script> |
| <!--[if IE]> |
| <script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script> |
| <![endif]--> |
| <script type="text/javascript" src="../../../../jquery/jquery-3.3.1.js"></script> |
| <script type="text/javascript" src="../../../../jquery/jquery-migrate-3.0.1.js"></script> |
| <script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| try { |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="PlannerTest (Calcite 1.20.0 Test API)"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"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}; |
| var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; |
| var altColor = "altColor"; |
| var rowColor = "rowColor"; |
| var tableTab = "tableTab"; |
| var activeTableTab = "activeTableTab"; |
| var pathtoroot = "../../../../"; |
| var useModuleDirectories = true; |
| loadScripts(document, 'script');</script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <header role="banner"> |
| <nav role="navigation"> |
| <div class="fixedNav"> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a id="navbar.top"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> |
| <a id="navbar.top.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../index.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/PlannerTest.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 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: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li>Field | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor.detail">Constr</a> | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <a id="skip.navbar.top"> |
| <!-- --> |
| </a></div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| </div> |
| <div class="navPadding"> </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> <a href="package-summary.html">org.apache.calcite.tools</a></div> |
| <h2 title="Class PlannerTest" class="title">Class PlannerTest</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li>java.lang.Object</li> |
| <li> |
| <ul class="inheritance"> |
| <li>org.apache.calcite.tools.PlannerTest</li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <hr> |
| <pre>public class <span class="typeNameLabel">PlannerTest</span> |
| extends java.lang.Object</pre> |
| <div class="block">Unit tests for <code>Planner</code>.</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"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colSecond" scope="col">Class</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="PlannerTest.MockJdbcProjectRule.html" title="class in org.apache.calcite.tools">PlannerTest.MockJdbcProjectRule</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Rule to convert a |
| <code>EnumerableProject</code> to an |
| <code>JdbcRules.JdbcProject</code>.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="PlannerTest.MockJdbcTableRule.html" title="class in org.apache.calcite.tools">PlannerTest.MockJdbcTableRule</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Rule to convert a |
| <code>EnumerableTableScan</code> to an |
| <a href="PlannerTest.MockJdbcTableScan.html" title="class in org.apache.calcite.tools"><code>PlannerTest.MockJdbcTableScan</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="PlannerTest.MockJdbcTableScan.html" title="class in org.apache.calcite.tools">PlannerTest.MockJdbcTableScan</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Relational expression representing a "mock" scan of a table in a |
| JDBC data source.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="PlannerTest.MyCountAggFunction.html" title="class in org.apache.calcite.tools">PlannerTest.MyCountAggFunction</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">User-defined aggregate function.</div> |
| </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"> </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()">PlannerTest</a></span>()</code></th> |
| <td class="colLast"> </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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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="#checkBushy(java.lang.String,java.lang.String)">checkBushy</a></span>​(java.lang.String sql, |
| java.lang.String expected)</code></th> |
| <td class="colLast"> |
| <div class="block">Checks that a query returns a particular plan, using a planner with |
| MultiJoinOptimizeBushyRule enabled.</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="#checkHeuristic(java.lang.String,java.lang.String)">checkHeuristic</a></span>​(java.lang.String sql, |
| java.lang.String expected)</code></th> |
| <td class="colLast"> </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="#checkJoinNWay(int)">checkJoinNWay</a></span>​(int n)</code></th> |
| <td class="colLast"> </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="#checkMetadataPredicates(java.lang.String,java.lang.String)">checkMetadataPredicates</a></span>​(java.lang.String sql, |
| java.lang.String expectedPredicates)</code></th> |
| <td class="colLast"> |
| <div class="block">Helper method for testing <code>RelMetadataQuery.getPulledUpPredicates(org.apache.calcite.rel.RelNode)</code> |
| metadata.</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="#checkParseAndConvert(java.lang.String,java.lang.String,java.lang.String)">checkParseAndConvert</a></span>​(java.lang.String query, |
| java.lang.String queryFromParseTree, |
| java.lang.String expectedRelExpr)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code>java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkTpchQuery(java.lang.String)">checkTpchQuery</a></span>​(java.lang.String tpchTestQuery)</code></th> |
| <td class="colLast"> </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="#checkUnionPruning(java.lang.String,java.lang.String,org.apache.calcite.plan.RelOptRule...)">checkUnionPruning</a></span>​(java.lang.String sql, |
| java.lang.String plan, |
| org.apache.calcite.plan.RelOptRule... extraRules)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code>private void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkView(java.lang.String,org.hamcrest.Matcher)">checkView</a></span>​(java.lang.String sql, |
| org.hamcrest.Matcher<java.lang.String> matcher)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code>private void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#emptyUnions31(org.apache.calcite.rel.rules.UnionMergeRule...)">emptyUnions31</a></span>​(org.apache.calcite.rel.rules.UnionMergeRule... extraRules)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code>private void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#emptyUnions32(org.apache.calcite.rel.rules.UnionMergeRule...)">emptyUnions32</a></span>​(org.apache.calcite.rel.rules.UnionMergeRule... extraRules)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code>private org.apache.calcite.tools.Planner</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPlanner(java.util.List,org.apache.calcite.sql.parser.SqlParser.Config,org.apache.calcite.tools.Program...)">getPlanner</a></span>​(java.util.List<org.apache.calcite.plan.RelTraitDef> traitDefs, |
| org.apache.calcite.sql.parser.SqlParser.Config parserConfig, |
| org.apache.calcite.tools.Program... programs)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code>private org.apache.calcite.tools.Planner</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPlanner(java.util.List,org.apache.calcite.tools.Program...)">getPlanner</a></span>​(java.util.List<org.apache.calcite.plan.RelTraitDef> traitDefs, |
| org.apache.calcite.tools.Program... programs)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i12" class="altColor"> |
| <td class="colFirst"><code>private void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#runDuplicateSortCheck(java.lang.String,java.lang.String)">runDuplicateSortCheck</a></span>​(java.lang.String sql, |
| java.lang.String plan)</code></th> |
| <td class="colLast"> </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="#testAlmostBushy()">testAlmostBushy</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Plans a 3-table join query on the FoodMart schema.</div> |
| </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="#testBushy()">testBushy</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Plans a 4-table join query on the FoodMart schema.</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="#testBushy5()">testBushy5</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Plans a 5-table join query on the FoodMart schema.</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="#testBushyCrossJoin()">testBushyCrossJoin</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests the bushy join algorithm where one table does not join to |
| anything.</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="#testBushyCrossJoin2()">testBushyCrossJoin2</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests the bushy join algorithm against a query where not all tables have a |
| join condition to the others.</div> |
| </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="#testConvertWithoutValidateFails()">testConvertWithoutValidateFails</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests that planner throws an error if you pass to |
| <code>Planner.rel(org.apache.calcite.sql.SqlNode)</code> |
| a <code>SqlNode</code> that has been parsed but not |
| validated.</div> |
| </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="#testDuplicateSortPlan()">testDuplicateSortPlan</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Unit test that parses, validates, converts and |
| plans for query using two duplicate order by.</div> |
| </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="#testDuplicateSortPlanWithExpr()">testDuplicateSortPlanWithExpr</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Unit test that parses, validates, converts and |
| plans for query using two duplicate order by.</div> |
| </td> |
| </tr> |
| <tr id="i21" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testDuplicateSortPlanWithOver()">testDuplicateSortPlanWithOver</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests that outer order by is not removed since window function |
| might reorder the rows in-between</div> |
| </td> |
| </tr> |
| <tr id="i22" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testDuplicateSortPlanWithRemovedOver()">testDuplicateSortPlanWithRemovedOver</a></span>()</code></th> |
| <td class="colLast"> </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="#testDuplicateSortPlanWORemoveSortRule()">testDuplicateSortPlanWORemoveSortRule</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Unit test that parses, validates, converts and |
| plans for query using two duplicate order by.</div> |
| </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="#testHeuristicLeftJoin()">testHeuristicLeftJoin</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-435">[CALCITE-435] |
| LoptOptimizeJoinRule incorrectly re-orders outer joins</a>.</div> |
| </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="#testHeuristicPushInnerJoin()">testHeuristicPushInnerJoin</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">It would probably be OK to transform |
| <code>(emps right join depts) join dependents</code> |
| to |
| <code>(emps join dependents) right join depts</code> |
| but we do not currently allow it.</div> |
| </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="#testHeuristicRightJoin()">testHeuristicRightJoin</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests that a relation (dependents) that is on the null-generating side of |
| an outer join cannot be pushed into an inner join (emps join depts).</div> |
| </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="#testHiveDialect()">testHiveDialect</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests that Hive dialect does not generate "AS".</div> |
| </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="#testInsertSourceRelTypeWithNullValues()">testInsertSourceRelTypeWithNullValues</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-3029">[CALCITE-3029] |
| Java-oriented field type is wrongly forced to be NOT NULL after being converted to |
| SQL-oriented</a>.</div> |
| </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="#testMergeProjectForceMode()">testMergeProjectForceMode</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-648">[CALCITE-649] |
| Update ProjectMergeRule description for new naming convention</a>.</div> |
| </td> |
| </tr> |
| <tr id="i30" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testMetadataAggregatePredicates()">testMetadataAggregatePredicates</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests predicates that can be pulled-up from an Aggregate with |
| <code>GROUP BY ()</code>.</div> |
| </td> |
| </tr> |
| <tr id="i31" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testMetadataAggregatePredicates2()">testMetadataAggregatePredicates2</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests predicates that can be pulled-up from an Aggregate with a non-empty |
| group key.</div> |
| </td> |
| </tr> |
| <tr id="i32" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testMetadataAggregatePredicates3()">testMetadataAggregatePredicates3</a></span>()</code></th> |
| <td class="colLast"> </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="#testMetadataUnionPredicates()">testMetadataUnionPredicates</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests predicates that can be pulled-up from a UNION.</div> |
| </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="#testMetadataUnionPredicates2()">testMetadataUnionPredicates2</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-443">[CALCITE-443] |
| getPredicates from a union is not correct</a>.</div> |
| </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="#testMetadataUnionPredicates3()">testMetadataUnionPredicates3</a></span>()</code></th> |
| <td class="colLast"> </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="#testMetadataUnionPredicates4()">testMetadataUnionPredicates4</a></span>()</code></th> |
| <td class="colLast"> </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="#testMetadataUnionPredicates5()">testMetadataUnionPredicates5</a></span>()</code></th> |
| <td class="colLast"> </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="#testOldJoinStyleDeCorrelation()">testOldJoinStyleDeCorrelation</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test to determine whether de-correlation correctly removes Correlator.</div> |
| </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="#testOrderByNonSelectColumn()">testOrderByNonSelectColumn</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-569">[CALCITE-569] |
| ArrayIndexOutOfBoundsException when deducing collation</a>.</div> |
| </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="#testParseAndConvert()">testParseAndConvert</a></span>()</code></th> |
| <td class="colLast"> </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="#testParseAndConvertWithOrderByAndOffset()">testParseAndConvertWithOrderByAndOffset</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Unit test that parses, validates and converts the query using |
| order by and offset.</div> |
| </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="#testParseFails()">testParseFails</a></span>()</code></th> |
| <td class="colLast"> </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="#testParseIdentiferMaxLengthWithDefault()">testParseIdentiferMaxLengthWithDefault</a></span>()</code></th> |
| <td class="colLast"> </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="#testParseIdentiferMaxLengthWithIncreased()">testParseIdentiferMaxLengthWithIncreased</a></span>()</code></th> |
| <td class="colLast"> </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="#testPlan()">testPlan</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Unit test that parses, validates, converts and plans.</div> |
| </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="#testPlanNWayJoin()">testPlanNWayJoin</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Unit test that plans a query with a large number of joins.</div> |
| </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="#testPlanTransformTwice()">testPlanTransformTwice</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Unit test that calls <code>Planner.transform(int, org.apache.calcite.plan.RelTraitSet, org.apache.calcite.rel.RelNode)</code> twice.</div> |
| </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="#testPlanTransformWithDiffRuleSetAndConvention()">testPlanTransformWithDiffRuleSetAndConvention</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Unit test that calls <code>Planner.transform(int, org.apache.calcite.plan.RelTraitSet, org.apache.calcite.rel.RelNode)</code> twice, |
| with different rule sets, with different conventions.</div> |
| </td> |
| </tr> |
| <tr id="i49" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPlanTransformWithRuleNameConflicts()">testPlanTransformWithRuleNameConflicts</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Unit test that calls <code>Planner.transform(int, org.apache.calcite.plan.RelTraitSet, org.apache.calcite.rel.RelNode)</code> twice with |
| rule name conflicts</div> |
| </td> |
| </tr> |
| <tr id="i50" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPlanWithExplicitTraitDefs()">testPlanWithExplicitTraitDefs</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Unit test that parses, validates, converts and plans.</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="#testRedundantSortOnJoinPlan()">testRedundantSortOnJoinPlan</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-2554">[CALCITE-2554] |
| Enrich EnumerableHashJoin operator with order preserving information</a>.</div> |
| </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="#testSortPlan()">testSortPlan</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Unit test that parses, validates, converts and |
| plans for query using order by</div> |
| </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="#testTwoSortRemoveInnerSort()">testTwoSortRemoveInnerSort</a></span>()</code></th> |
| <td class="colLast"> </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="#testValidateFails()">testValidateFails</a></span>()</code></th> |
| <td class="colLast"> </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="#testValidateUserDefinedAggregate()">testValidateUserDefinedAggregate</a></span>()</code></th> |
| <td class="colLast"> </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="#testView()">testView</a></span>()</code></th> |
| <td class="colLast"> </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="#testViewOnView()">testViewOnView</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i58" class="altColor"> |
| <td class="colFirst"><code>private java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString(org.apache.calcite.rel.RelNode)">toString</a></span>​(org.apache.calcite.rel.RelNode rel)</code></th> |
| <td class="colLast"> </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="#trimEmptyUnion2()">trimEmptyUnion2</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Unit test that parses, validates, converts and plans.</div> |
| </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="#trimEmptyUnion31()">trimEmptyUnion31</a></span>()</code></th> |
| <td class="colLast"> </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="#trimEmptyUnion31withUnionMerge()">trimEmptyUnion31withUnionMerge</a></span>()</code></th> |
| <td class="colLast"> </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="#trimEmptyUnion32()">trimEmptyUnion32</a></span>()</code></th> |
| <td class="colLast"> </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="#trimEmptyUnion32viaRelBuidler()">trimEmptyUnion32viaRelBuidler</a></span>()</code></th> |
| <td class="colLast"> </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="#trimEmptyUnion32withUnionMerge()">trimEmptyUnion32withUnionMerge</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class 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"> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="constructor.detail"> |
| <!-- --> |
| </a> |
| <h3>Constructor Detail</h3> |
| <a id="<init>()"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>PlannerTest</h4> |
| <pre>public PlannerTest()</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="checkParseAndConvert(java.lang.String,java.lang.String,java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>checkParseAndConvert</h4> |
| <pre class="methodSignature">private void checkParseAndConvert​(java.lang.String query, |
| java.lang.String queryFromParseTree, |
| java.lang.String expectedRelExpr) |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testParseAndConvert()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testParseAndConvert</h4> |
| <pre class="methodSignature">public void testParseAndConvert() |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testParseIdentiferMaxLengthWithDefault()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testParseIdentiferMaxLengthWithDefault</h4> |
| <pre class="methodSignature">public void testParseIdentiferMaxLengthWithDefault() |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testParseIdentiferMaxLengthWithIncreased()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testParseIdentiferMaxLengthWithIncreased</h4> |
| <pre class="methodSignature">public void testParseIdentiferMaxLengthWithIncreased() |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testParseAndConvertWithOrderByAndOffset()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testParseAndConvertWithOrderByAndOffset</h4> |
| <pre class="methodSignature">public void testParseAndConvertWithOrderByAndOffset() |
| throws java.lang.Exception</pre> |
| <div class="block">Unit test that parses, validates and converts the query using |
| order by and offset.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="toString(org.apache.calcite.rel.RelNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>toString</h4> |
| <pre class="methodSignature">private java.lang.String toString​(org.apache.calcite.rel.RelNode rel)</pre> |
| </li> |
| </ul> |
| <a id="testParseFails()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testParseFails</h4> |
| <pre class="methodSignature">public void testParseFails() |
| throws org.apache.calcite.sql.parser.SqlParseException</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>org.apache.calcite.sql.parser.SqlParseException</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testValidateFails()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testValidateFails</h4> |
| <pre class="methodSignature">public void testValidateFails() |
| throws org.apache.calcite.sql.parser.SqlParseException</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>org.apache.calcite.sql.parser.SqlParseException</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testValidateUserDefinedAggregate()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testValidateUserDefinedAggregate</h4> |
| <pre class="methodSignature">public void testValidateUserDefinedAggregate() |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getPlanner(java.util.List,org.apache.calcite.tools.Program...)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getPlanner</h4> |
| <pre class="methodSignature">private org.apache.calcite.tools.Planner getPlanner​(java.util.List<org.apache.calcite.plan.RelTraitDef> traitDefs, |
| org.apache.calcite.tools.Program... programs)</pre> |
| </li> |
| </ul> |
| <a id="getPlanner(java.util.List,org.apache.calcite.sql.parser.SqlParser.Config,org.apache.calcite.tools.Program...)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getPlanner</h4> |
| <pre class="methodSignature">private org.apache.calcite.tools.Planner getPlanner​(java.util.List<org.apache.calcite.plan.RelTraitDef> traitDefs, |
| org.apache.calcite.sql.parser.SqlParser.Config parserConfig, |
| org.apache.calcite.tools.Program... programs)</pre> |
| </li> |
| </ul> |
| <a id="testConvertWithoutValidateFails()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testConvertWithoutValidateFails</h4> |
| <pre class="methodSignature">public void testConvertWithoutValidateFails() |
| throws java.lang.Exception</pre> |
| <div class="block">Tests that planner throws an error if you pass to |
| <code>Planner.rel(org.apache.calcite.sql.SqlNode)</code> |
| a <code>SqlNode</code> that has been parsed but not |
| validated.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="checkMetadataPredicates(java.lang.String,java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>checkMetadataPredicates</h4> |
| <pre class="methodSignature">private void checkMetadataPredicates​(java.lang.String sql, |
| java.lang.String expectedPredicates) |
| throws java.lang.Exception</pre> |
| <div class="block">Helper method for testing <code>RelMetadataQuery.getPulledUpPredicates(org.apache.calcite.rel.RelNode)</code> |
| metadata.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testMetadataUnionPredicates()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testMetadataUnionPredicates</h4> |
| <pre class="methodSignature">public void testMetadataUnionPredicates() |
| throws java.lang.Exception</pre> |
| <div class="block">Tests predicates that can be pulled-up from a UNION.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testMetadataUnionPredicates2()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testMetadataUnionPredicates2</h4> |
| <pre class="methodSignature">public void testMetadataUnionPredicates2() |
| throws java.lang.Exception</pre> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-443">[CALCITE-443] |
| getPredicates from a union is not correct</a>.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testMetadataUnionPredicates3()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testMetadataUnionPredicates3</h4> |
| <pre class="methodSignature">public void testMetadataUnionPredicates3() |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testMetadataUnionPredicates4()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testMetadataUnionPredicates4</h4> |
| <pre class="methodSignature">public void testMetadataUnionPredicates4() |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testMetadataUnionPredicates5()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testMetadataUnionPredicates5</h4> |
| <pre class="methodSignature">public void testMetadataUnionPredicates5() |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testMetadataAggregatePredicates()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testMetadataAggregatePredicates</h4> |
| <pre class="methodSignature">public void testMetadataAggregatePredicates() |
| throws java.lang.Exception</pre> |
| <div class="block">Tests predicates that can be pulled-up from an Aggregate with |
| <code>GROUP BY ()</code>. This form of Aggregate can convert an empty relation |
| to a single-row relation, so it is not valid to pull up the predicate |
| <code>false</code>.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testMetadataAggregatePredicates2()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testMetadataAggregatePredicates2</h4> |
| <pre class="methodSignature">public void testMetadataAggregatePredicates2() |
| throws java.lang.Exception</pre> |
| <div class="block">Tests predicates that can be pulled-up from an Aggregate with a non-empty |
| group key. The <code>false</code> predicate effectively means that the relation |
| is empty, because no row can satisfy <code>false</code>.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testMetadataAggregatePredicates3()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testMetadataAggregatePredicates3</h4> |
| <pre class="methodSignature">public void testMetadataAggregatePredicates3() |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testPlan()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPlan</h4> |
| <pre class="methodSignature">public void testPlan() |
| throws java.lang.Exception</pre> |
| <div class="block">Unit test that parses, validates, converts and plans.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="trimEmptyUnion2()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>trimEmptyUnion2</h4> |
| <pre class="methodSignature">public void trimEmptyUnion2() |
| throws java.lang.Exception</pre> |
| <div class="block">Unit test that parses, validates, converts and plans.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="trimEmptyUnion31()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>trimEmptyUnion31</h4> |
| <pre class="methodSignature">public void trimEmptyUnion31() |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="trimEmptyUnion31withUnionMerge()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>trimEmptyUnion31withUnionMerge</h4> |
| <pre class="methodSignature">public void trimEmptyUnion31withUnionMerge() |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="emptyUnions31(org.apache.calcite.rel.rules.UnionMergeRule...)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>emptyUnions31</h4> |
| <pre class="methodSignature">private void emptyUnions31​(org.apache.calcite.rel.rules.UnionMergeRule... extraRules) |
| throws org.apache.calcite.sql.parser.SqlParseException, |
| org.apache.calcite.tools.ValidationException, |
| org.apache.calcite.tools.RelConversionException</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>org.apache.calcite.sql.parser.SqlParseException</code></dd> |
| <dd><code>org.apache.calcite.tools.ValidationException</code></dd> |
| <dd><code>org.apache.calcite.tools.RelConversionException</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="trimEmptyUnion32()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>trimEmptyUnion32</h4> |
| <pre class="methodSignature">public void trimEmptyUnion32() |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="trimEmptyUnion32withUnionMerge()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>trimEmptyUnion32withUnionMerge</h4> |
| <pre class="methodSignature">public void trimEmptyUnion32withUnionMerge() |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="emptyUnions32(org.apache.calcite.rel.rules.UnionMergeRule...)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>emptyUnions32</h4> |
| <pre class="methodSignature">private void emptyUnions32​(org.apache.calcite.rel.rules.UnionMergeRule... extraRules) |
| throws org.apache.calcite.sql.parser.SqlParseException, |
| org.apache.calcite.tools.ValidationException, |
| org.apache.calcite.tools.RelConversionException</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>org.apache.calcite.sql.parser.SqlParseException</code></dd> |
| <dd><code>org.apache.calcite.tools.ValidationException</code></dd> |
| <dd><code>org.apache.calcite.tools.RelConversionException</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="checkUnionPruning(java.lang.String,java.lang.String,org.apache.calcite.plan.RelOptRule...)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>checkUnionPruning</h4> |
| <pre class="methodSignature">private void checkUnionPruning​(java.lang.String sql, |
| java.lang.String plan, |
| org.apache.calcite.plan.RelOptRule... extraRules) |
| throws org.apache.calcite.sql.parser.SqlParseException, |
| org.apache.calcite.tools.ValidationException, |
| org.apache.calcite.tools.RelConversionException</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>org.apache.calcite.sql.parser.SqlParseException</code></dd> |
| <dd><code>org.apache.calcite.tools.ValidationException</code></dd> |
| <dd><code>org.apache.calcite.tools.RelConversionException</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="trimEmptyUnion32viaRelBuidler()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>trimEmptyUnion32viaRelBuidler</h4> |
| <pre class="methodSignature">public void trimEmptyUnion32viaRelBuidler() |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testSortPlan()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testSortPlan</h4> |
| <pre class="methodSignature">public void testSortPlan() |
| throws java.lang.Exception</pre> |
| <div class="block">Unit test that parses, validates, converts and |
| plans for query using order by</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testRedundantSortOnJoinPlan()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testRedundantSortOnJoinPlan</h4> |
| <pre class="methodSignature">public void testRedundantSortOnJoinPlan() |
| throws java.lang.Exception</pre> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-2554">[CALCITE-2554] |
| Enrich EnumerableHashJoin operator with order preserving information</a>. |
| |
| <p>Since the left input to the join is sorted, and this join preserves |
| order, there shouldn't be any sort operator above the join.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testDuplicateSortPlan()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testDuplicateSortPlan</h4> |
| <pre class="methodSignature">public void testDuplicateSortPlan() |
| throws java.lang.Exception</pre> |
| <div class="block">Unit test that parses, validates, converts and |
| plans for query using two duplicate order by. |
| The duplicate order by should be removed by SqlToRelConverter.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testDuplicateSortPlanWithExpr()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testDuplicateSortPlanWithExpr</h4> |
| <pre class="methodSignature">public void testDuplicateSortPlanWithExpr() |
| throws java.lang.Exception</pre> |
| <div class="block">Unit test that parses, validates, converts and |
| plans for query using two duplicate order by. |
| The duplicate order by should be removed by SqlToRelConverter.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testTwoSortRemoveInnerSort()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testTwoSortRemoveInnerSort</h4> |
| <pre class="methodSignature">public void testTwoSortRemoveInnerSort() |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testDuplicateSortPlanWithOver()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testDuplicateSortPlanWithOver</h4> |
| <pre class="methodSignature">public void testDuplicateSortPlanWithOver() |
| throws java.lang.Exception</pre> |
| <div class="block">Tests that outer order by is not removed since window function |
| might reorder the rows in-between</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testDuplicateSortPlanWithRemovedOver()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testDuplicateSortPlanWithRemovedOver</h4> |
| <pre class="methodSignature">public void testDuplicateSortPlanWithRemovedOver() |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="runDuplicateSortCheck(java.lang.String,java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>runDuplicateSortCheck</h4> |
| <pre class="methodSignature">private void runDuplicateSortCheck​(java.lang.String sql, |
| java.lang.String plan) |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testDuplicateSortPlanWORemoveSortRule()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testDuplicateSortPlanWORemoveSortRule</h4> |
| <pre class="methodSignature">public void testDuplicateSortPlanWORemoveSortRule() |
| throws java.lang.Exception</pre> |
| <div class="block">Unit test that parses, validates, converts and |
| plans for query using two duplicate order by.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testInsertSourceRelTypeWithNullValues()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testInsertSourceRelTypeWithNullValues</h4> |
| <pre class="methodSignature">public void testInsertSourceRelTypeWithNullValues() |
| throws java.lang.Exception</pre> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-3029">[CALCITE-3029] |
| Java-oriented field type is wrongly forced to be NOT NULL after being converted to |
| SQL-oriented</a>.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testPlanWithExplicitTraitDefs()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPlanWithExplicitTraitDefs</h4> |
| <pre class="methodSignature">public void testPlanWithExplicitTraitDefs() |
| throws java.lang.Exception</pre> |
| <div class="block">Unit test that parses, validates, converts and plans. Planner is |
| provided with a list of RelTraitDefs to register.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testPlanTransformTwice()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPlanTransformTwice</h4> |
| <pre class="methodSignature">public void testPlanTransformTwice() |
| throws java.lang.Exception</pre> |
| <div class="block">Unit test that calls <code>Planner.transform(int, org.apache.calcite.plan.RelTraitSet, org.apache.calcite.rel.RelNode)</code> twice.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testPlanTransformWithRuleNameConflicts()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPlanTransformWithRuleNameConflicts</h4> |
| <pre class="methodSignature">public void testPlanTransformWithRuleNameConflicts() |
| throws java.lang.Exception</pre> |
| <div class="block">Unit test that calls <code>Planner.transform(int, org.apache.calcite.plan.RelTraitSet, org.apache.calcite.rel.RelNode)</code> twice with |
| rule name conflicts</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testHiveDialect()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testHiveDialect</h4> |
| <pre class="methodSignature">public void testHiveDialect() |
| throws org.apache.calcite.sql.parser.SqlParseException</pre> |
| <div class="block">Tests that Hive dialect does not generate "AS".</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>org.apache.calcite.sql.parser.SqlParseException</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testPlanTransformWithDiffRuleSetAndConvention()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPlanTransformWithDiffRuleSetAndConvention</h4> |
| <pre class="methodSignature">public void testPlanTransformWithDiffRuleSetAndConvention() |
| throws java.lang.Exception</pre> |
| <div class="block">Unit test that calls <code>Planner.transform(int, org.apache.calcite.plan.RelTraitSet, org.apache.calcite.rel.RelNode)</code> twice, |
| with different rule sets, with different conventions. |
| |
| <p><code>JdbcConvention</code> is different |
| from the typical convention in that it is not a singleton. Switching to |
| a different instance causes problems unless planner state is wiped clean |
| between calls to <code>Planner.transform(int, org.apache.calcite.plan.RelTraitSet, org.apache.calcite.rel.RelNode)</code>.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testPlanNWayJoin()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPlanNWayJoin</h4> |
| <pre class="methodSignature">public void testPlanNWayJoin() |
| throws java.lang.Exception</pre> |
| <div class="block">Unit test that plans a query with a large number of joins.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="checkJoinNWay(int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>checkJoinNWay</h4> |
| <pre class="methodSignature">private void checkJoinNWay​(int n) |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testHeuristicLeftJoin()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testHeuristicLeftJoin</h4> |
| <pre class="methodSignature">public void testHeuristicLeftJoin() |
| throws java.lang.Exception</pre> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-435">[CALCITE-435] |
| LoptOptimizeJoinRule incorrectly re-orders outer joins</a>. |
| |
| <p>Checks the |
| <code>LoptOptimizeJoinRule</code> on a query with a |
| left outer join. |
| |
| <p>Specifically, tests that a relation (dependents) in an inner join |
| cannot be pushed into an outer join (emps left join depts).</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testHeuristicPushInnerJoin()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testHeuristicPushInnerJoin</h4> |
| <pre class="methodSignature">public void testHeuristicPushInnerJoin() |
| throws java.lang.Exception</pre> |
| <div class="block">It would probably be OK to transform |
| <code>(emps right join depts) join dependents</code> |
| to |
| <code>(emps join dependents) right join depts</code> |
| but we do not currently allow it.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testHeuristicRightJoin()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testHeuristicRightJoin</h4> |
| <pre class="methodSignature">public void testHeuristicRightJoin() |
| throws java.lang.Exception</pre> |
| <div class="block">Tests that a relation (dependents) that is on the null-generating side of |
| an outer join cannot be pushed into an inner join (emps join depts).</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="checkHeuristic(java.lang.String,java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>checkHeuristic</h4> |
| <pre class="methodSignature">private void checkHeuristic​(java.lang.String sql, |
| java.lang.String expected) |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testAlmostBushy()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testAlmostBushy</h4> |
| <pre class="methodSignature">public void testAlmostBushy() |
| throws java.lang.Exception</pre> |
| <div class="block">Plans a 3-table join query on the FoodMart schema. The ideal plan is not |
| bushy, but nevertheless exercises the bushy-join heuristic optimizer.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testBushy()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testBushy</h4> |
| <pre class="methodSignature">public void testBushy() |
| throws java.lang.Exception</pre> |
| <div class="block">Plans a 4-table join query on the FoodMart schema. |
| |
| <p>The ideal plan is bushy: |
| customer x (product_class x product x sales) |
| which would be written |
| (customer x ((product_class x product) x sales)) |
| if you don't assume 'x' is left-associative.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testBushy5()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testBushy5</h4> |
| <pre class="methodSignature">public void testBushy5() |
| throws java.lang.Exception</pre> |
| <div class="block">Plans a 5-table join query on the FoodMart schema. The ideal plan is |
| bushy: store x (customer x (product_class x product x sales)).</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testBushyCrossJoin()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testBushyCrossJoin</h4> |
| <pre class="methodSignature">public void testBushyCrossJoin() |
| throws java.lang.Exception</pre> |
| <div class="block">Tests the bushy join algorithm where one table does not join to |
| anything.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testBushyCrossJoin2()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testBushyCrossJoin2</h4> |
| <pre class="methodSignature">public void testBushyCrossJoin2() |
| throws java.lang.Exception</pre> |
| <div class="block">Tests the bushy join algorithm against a query where not all tables have a |
| join condition to the others.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="checkBushy(java.lang.String,java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>checkBushy</h4> |
| <pre class="methodSignature">private void checkBushy​(java.lang.String sql, |
| java.lang.String expected) |
| throws java.lang.Exception</pre> |
| <div class="block">Checks that a query returns a particular plan, using a planner with |
| MultiJoinOptimizeBushyRule enabled.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testOldJoinStyleDeCorrelation()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testOldJoinStyleDeCorrelation</h4> |
| <pre class="methodSignature">public void testOldJoinStyleDeCorrelation() |
| throws java.lang.Exception</pre> |
| <div class="block">Test to determine whether de-correlation correctly removes Correlator.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="checkTpchQuery(java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>checkTpchQuery</h4> |
| <pre class="methodSignature">public java.lang.String checkTpchQuery​(java.lang.String tpchTestQuery) |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testOrderByNonSelectColumn()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testOrderByNonSelectColumn</h4> |
| <pre class="methodSignature">public void testOrderByNonSelectColumn() |
| throws java.lang.Exception</pre> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-569">[CALCITE-569] |
| ArrayIndexOutOfBoundsException when deducing collation</a>.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testMergeProjectForceMode()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testMergeProjectForceMode</h4> |
| <pre class="methodSignature">public void testMergeProjectForceMode() |
| throws java.lang.Exception</pre> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-648">[CALCITE-649] |
| Update ProjectMergeRule description for new naming convention</a>.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testView()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testView</h4> |
| <pre class="methodSignature">public void testView() |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="testViewOnView()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testViewOnView</h4> |
| <pre class="methodSignature">public void testViewOnView() |
| throws java.lang.Exception</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.Exception</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="checkView(java.lang.String,org.hamcrest.Matcher)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>checkView</h4> |
| <pre class="methodSignature">private void checkView​(java.lang.String sql, |
| org.hamcrest.Matcher<java.lang.String> matcher) |
| throws org.apache.calcite.sql.parser.SqlParseException, |
| org.apache.calcite.tools.ValidationException, |
| org.apache.calcite.tools.RelConversionException</pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>org.apache.calcite.sql.parser.SqlParseException</code></dd> |
| <dd><code>org.apache.calcite.tools.ValidationException</code></dd> |
| <dd><code>org.apache.calcite.tools.RelConversionException</code></dd> |
| </dl> |
| </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/PlannerTest.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 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: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li>Field | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor.detail">Constr</a> | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <a id="skip.navbar.bottom"> |
| <!-- --> |
| </a></div> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| </nav> |
| <p class="legalCopy"><small>Copyright © 2012–2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </footer> |
| </body> |
| </html> |