| <!DOCTYPE HTML> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc --> |
| <title>DruidAdapter2IT (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="DruidAdapter2IT (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":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,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":10,"i119":10,"i120":10,"i121":10,"i122":10,"i123":10,"i124":10,"i125":10,"i126":10,"i127":10,"i128":10,"i129":10,"i130":10,"i131":10,"i132":10,"i133":10,"i134":10,"i135":10,"i136":10,"i137":10,"i138":10,"i139":10,"i140":10,"i141":10,"i142":10,"i143":10,"i144":10,"i145":10,"i146":10,"i147":10,"i148":10,"i149":10,"i150":10,"i151":10,"i152":10,"i153":10,"i154":10,"i155":10,"i156":10,"i157":10,"i158":10,"i159":10,"i160":10,"i161":10,"i162":10,"i163":10,"i164":10,"i165":10,"i166":10,"i167":10,"i168":10,"i169":10,"i170":10,"i171":10,"i172":10,"i173":10,"i174":10,"i175":10,"i176":10,"i177":10,"i178":10,"i179":10,"i180":10,"i181":10,"i182":10,"i183":10,"i184":10,"i185":10,"i186":10,"i187":10,"i188":10,"i189":10,"i190":10,"i191":10,"i192":10,"i193":10,"i194":10,"i195":10,"i196":10,"i197":10,"i198":10,"i199":10,"i200":10,"i201":10,"i202":10,"i203":10,"i204":10,"i205":10,"i206":10,"i207":10,"i208":10,"i209":10,"i210":10,"i211":10,"i212":10,"i213":10,"i214":10,"i215":10,"i216":10,"i217":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/DruidAdapter2IT.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>Nested | </li> |
| <li><a href="#field.summary">Field</a> | </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><a href="#field.detail">Field</a> | </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.test</a></div> |
| <h2 title="Class DruidAdapter2IT" class="title">Class DruidAdapter2IT</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li>java.lang.Object</li> |
| <li> |
| <ul class="inheritance"> |
| <li>org.apache.calcite.test.DruidAdapter2IT</li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <hr> |
| <pre>public class <span class="typeNameLabel">DruidAdapter2IT</span> |
| extends java.lang.Object</pre> |
| <div class="block">Tests for the <code>org.apache.calcite.adapter.druid</code> package. |
| |
| <p>Before calling this test, you need to populate Druid, as follows: |
| |
| <blockquote><code> |
| git clone https://github.com/vlsi/calcite-test-dataset<br> |
| cd calcite-test-dataset<br> |
| mvn install |
| </code></blockquote> |
| |
| <p>This will create a virtual machine with Druid and test data set. |
| |
| <p>Features not yet implemented: |
| <ul> |
| <li>push LIMIT into "select" query</li> |
| <li>push SORT and/or LIMIT into "groupBy" query</li> |
| <li>push HAVING into "groupBy" query</li> |
| </ul> |
| |
| <p>These tests use TIMESTAMP type for the Druid timestamp column, instead |
| of TIMESTAMP WITH LOCAL TIME ZONE type as <a href="DruidAdapterIT.html" title="class in org.apache.calcite.test"><code>DruidAdapterIT</code></a>.</div> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- =========== 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"> </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>static java.net.URL</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FOODMART">FOODMART</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">URL of the "druid-foodmart" model.</div> |
| </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="#FOODMART_TABLE">FOODMART_TABLE</a></span></code></th> |
| <td class="colLast"> </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="#VARCHAR_TYPE">VARCHAR_TYPE</a></span></code></th> |
| <td class="colLast"> </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()">DruidAdapter2IT</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 <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="#approxQuery(java.net.URL,java.lang.String)">approxQuery</a></span>​(java.net.URL url, |
| java.lang.String sql)</code></th> |
| <td class="colLast"> </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="#checkGroupBySingleSortLimit(boolean)">checkGroupBySingleSortLimit</a></span>​(boolean approx)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code>protected boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#enabled()">enabled</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Whether to run this test.</div> |
| </td> |
| </tr> |
| <tr id="i3" 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="#foodmartApprox(java.lang.String)">foodmartApprox</a></span>​(java.lang.String sql)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a query against FOODMART with approximate parameters</div> |
| </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <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="#sql(java.lang.String)">sql</a></span>​(java.lang.String sql)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a query against the <a href="#FOODMART"><code>FOODMART</code></a> data set.</div> |
| </td> |
| </tr> |
| <tr id="i5" 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="#sql(java.lang.String,java.net.URL)">sql</a></span>​(java.lang.String sql, |
| java.net.URL url)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a query against a data set given by a map.</div> |
| </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testAggOnArithmeticProject()">testAggOnArithmeticProject</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testAggOnArithmeticProject2()">testAggOnArithmeticProject2</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testAggOnArithmeticProject3()">testAggOnArithmeticProject3</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testAggOnTimeExtractColumn2()">testAggOnTimeExtractColumn2</a></span>()</code></th> |
| <td class="colLast"> </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="#testAggOverStringToLong()">testAggOverStringToLong</a></span>()</code></th> |
| <td class="colLast"> </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="#testAggSameColumnMultipleTimes()">testAggSameColumnMultipleTimes</a></span>()</code></th> |
| <td class="colLast"> </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="#testAndCombinationOfComplexExpAndSimpleFilter()">testAndCombinationOfComplexExpAndSimpleFilter</a></span>()</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="#testAndCombinationOfExpAndSimpleFilter()">testAndCombinationOfExpAndSimpleFilter</a></span>()</code></th> |
| <td class="colLast"> </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="#testBetweenFilterWithCastOverNumeric()">testBetweenFilterWithCastOverNumeric</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test case for https://issues.apache.org/jira/browse/CALCITE-2123</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="#testBooleanFilterExpressions()">testBooleanFilterExpressions</a></span>()</code></th> |
| <td class="colLast"> </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="#testCastConcatOverPostAggregates()">testCastConcatOverPostAggregates</a></span>()</code></th> |
| <td class="colLast"> </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="#testCastLiteralToTimestamp()">testCastLiteralToTimestamp</a></span>()</code></th> |
| <td class="colLast"> </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="#testCastOverPostAggregates()">testCastOverPostAggregates</a></span>()</code></th> |
| <td class="colLast"> </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="#testCastPlusMathOps()">testCastPlusMathOps</a></span>()</code></th> |
| <td class="colLast"> </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="#testCastTimestamp1()">testCastTimestamp1</a></span>()</code></th> |
| <td class="colLast"> </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="#testCastTimestamp2()">testCastTimestamp2</a></span>()</code></th> |
| <td class="colLast"> </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="#testCeilFilterExpression()">testCeilFilterExpression</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="#testColumnAEqColumnB()">testColumnAEqColumnB</a></span>()</code></th> |
| <td class="colLast"> </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="#testColumnANotEqColumnB()">testColumnANotEqColumnB</a></span>()</code></th> |
| <td class="colLast"> </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="#testCombinationOfValidAndNotValidAndInterval()">testCombinationOfValidAndNotValidAndInterval</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-2122">[CALCITE-2122] |
| DateRangeRules issues</a>.</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="#testCombinationOfValidAndNotValidFilters()">testCombinationOfValidAndNotValidFilters</a></span>()</code></th> |
| <td class="colLast"> </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="#testComplexExpressionsIsNull()">testComplexExpressionsIsNull</a></span>()</code></th> |
| <td class="colLast"> </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="#testComplexMetricAlsoDimension()">testComplexMetricAlsoDimension</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test to make sure that if a complex metric is also a dimension, then |
| <code>DruidTable</code> should allow it to be used like any other |
| column.</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="#testComplexPushGroupBy()">testComplexPushGroupBy</a></span>()</code></th> |
| <td class="colLast"> </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="#testConstantPostAggregator()">testConstantPostAggregator</a></span>()</code></th> |
| <td class="colLast"> </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="#testCountGroupByEmpty()">testCountGroupByEmpty</a></span>()</code></th> |
| <td class="colLast"> </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="#testCountOnMetric()">testCountOnMetric</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test to ensure that a count on a metric does not get pushed into Druid</div> |
| </td> |
| </tr> |
| <tr id="i33" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testCountOnMetricRenamed()">testCountOnMetricRenamed</a></span>()</code></th> |
| <td class="colLast"> </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="#testCountOverVirtualColumn()">testCountOverVirtualColumn</a></span>()</code></th> |
| <td class="colLast"> </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="#testCountStar()">testCountStar</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test to ensure that count(*) is pushed into Druid</div> |
| </td> |
| </tr> |
| <tr id="i36" class="altColor"> |
| <td class="colFirst"><code>private void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testCountWithApproxDistinct(boolean,java.lang.String,java.lang.String)">testCountWithApproxDistinct</a></span>​(boolean approx, |
| java.lang.String sql, |
| java.lang.String expectedExplain)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i37" class="rowColor"> |
| <td class="colFirst"><code>private void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testCountWithApproxDistinct(boolean,java.lang.String,java.lang.String,java.lang.String)">testCountWithApproxDistinct</a></span>​(boolean approx, |
| java.lang.String sql, |
| java.lang.String expectedExplain, |
| java.lang.String expectedDruidQuery)</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="#testCountWithNonNull()">testCountWithNonNull</a></span>()</code></th> |
| <td class="colLast"> </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="#testDistinctCount()">testDistinctCount</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests that distinct-count is pushed down to Druid and evaluated using |
| "cardinality".</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="#testDistinctCountOnMetric()">testDistinctCountOnMetric</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="#testDistinctCountOnMetricRenamed()">testDistinctCountOnMetricRenamed</a></span>()</code></th> |
| <td class="colLast"> </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="#testDistinctCountWhenApproxResultsAccepted()">testDistinctCountWhenApproxResultsAccepted</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test to ensure that count(distinct ...) gets pushed to Druid when approximate results are |
| acceptable</div> |
| </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="#testDistinctCountWhenApproxResultsNotAccepted()">testDistinctCountWhenApproxResultsNotAccepted</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test to ensure that count(distinct ...) doesn't get pushed to Druid when approximate results |
| are not acceptable</div> |
| </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="#testDistinctLimit()">testDistinctLimit</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="#testDivideArithmeticOperation()">testDivideArithmeticOperation</a></span>()</code></th> |
| <td class="colLast"> </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="#testDivideByZeroDoubleTypeInfinity()">testDivideByZeroDoubleTypeInfinity</a></span>()</code></th> |
| <td class="colLast"> </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="#testDivideByZeroDoubleTypeNaN()">testDivideByZeroDoubleTypeNaN</a></span>()</code></th> |
| <td class="colLast"> </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="#testDivideByZeroDoubleTypeNegInfinity()">testDivideByZeroDoubleTypeNegInfinity</a></span>()</code></th> |
| <td class="colLast"> </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="#testDivideByZeroIntegerType()">testDivideByZeroIntegerType</a></span>()</code></th> |
| <td class="colLast"> </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="#testDruidTimeFloorAndTimeParseExpressions()">testDruidTimeFloorAndTimeParseExpressions</a></span>()</code></th> |
| <td class="colLast"> </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="#testDruidTimeFloorAndTimeParseExpressions2()">testDruidTimeFloorAndTimeParseExpressions2</a></span>()</code></th> |
| <td class="colLast"> </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="#testDuplicateReferenceOnPostAggregation()">testDuplicateReferenceOnPostAggregation</a></span>()</code></th> |
| <td class="colLast"> </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="#testExpressionFilterSimpleColumnAEqColumnB()">testExpressionFilterSimpleColumnAEqColumnB</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="#testExpressionsConcatFilter()">testExpressionsConcatFilter</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="#testExpressionsConcatFilterMultipleColumns()">testExpressionsConcatFilterMultipleColumns</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="#testExpressionsFilter()">testExpressionsFilter</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="#testExpressionsFilter2()">testExpressionsFilter2</a></span>()</code></th> |
| <td class="colLast"> </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="#testExpressionsFilterWithCast()">testExpressionsFilterWithCast</a></span>()</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="#testExpressionsFilterWithCastTimeToDateToChar()">testExpressionsFilterWithCastTimeToDateToChar</a></span>()</code></th> |
| <td class="colLast"> </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="#testExpressionsFilterWithExtract()">testExpressionsFilterWithExtract</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="#testExpressionsLikeFilter()">testExpressionsLikeFilter</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="#testExpressionsLowerFilterMatching()">testExpressionsLowerFilterMatching</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="#testExpressionsLowerFilterNotMatching()">testExpressionsLowerFilterNotMatching</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="#testExpressionsLowerUpperFilter()">testExpressionsLowerUpperFilter</a></span>()</code></th> |
| <td class="colLast"> </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="#testExpressionsNotNull()">testExpressionsNotNull</a></span>()</code></th> |
| <td class="colLast"> </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="#testExpressionsSTRLENFilter()">testExpressionsSTRLENFilter</a></span>()</code></th> |
| <td class="colLast"> </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="#testExpressionsUpperFilterMatching()">testExpressionsUpperFilterMatching</a></span>()</code></th> |
| <td class="colLast"> </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="#testExpressionsUpperFilterNotMatching()">testExpressionsUpperFilterNotMatching</a></span>()</code></th> |
| <td class="colLast"> </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="#testExpressionsUpperLowerFilter()">testExpressionsUpperLowerFilter</a></span>()</code></th> |
| <td class="colLast"> </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="#testExtractFilterWorkWithPostAggregations()">testExtractFilterWorkWithPostAggregations</a></span>()</code></th> |
| <td class="colLast"> </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="#testExtractFilterWorkWithPostAggregationsWithConstant()">testExtractFilterWorkWithPostAggregationsWithConstant</a></span>()</code></th> |
| <td class="colLast"> </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="#testExtractMonthFilterExpression()">testExtractMonthFilterExpression</a></span>()</code></th> |
| <td class="colLast"> </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="#testExtractQuarter()">testExtractQuarter</a></span>()</code></th> |
| <td class="colLast"> </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="#testExtractQuarterPlusDim()">testExtractQuarterPlusDim</a></span>()</code></th> |
| <td class="colLast"> </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="#testExtractYearFilterExpression()">testExtractYearFilterExpression</a></span>()</code></th> |
| <td class="colLast"> </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="#testFalseFilter()">testFalseFilter</a></span>()</code></th> |
| <td class="colLast"> </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="#testFalseFilterCaseConjectionWithTrue()">testFalseFilterCaseConjectionWithTrue</a></span>()</code></th> |
| <td class="colLast"> </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="#testFilter()">testFilter</a></span>()</code></th> |
| <td class="colLast"> </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="#testFilterClauseAlwaysFalseNotPushed()">testFilterClauseAlwaysFalseNotPushed</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests that an aggregate with a filter clause that is always false does not get pushed in</div> |
| </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="#testFilterClauseAlwaysFalseNotPushedWithFilter()">testFilterClauseAlwaysFalseNotPushedWithFilter</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests that an aggregate with a filter clause that is always false does not get pushed when |
| there is already an outer filter</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="#testFilterClauseAlwaysTrueGone()">testFilterClauseAlwaysTrueGone</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests whether filter clauses with filters that are always true disappear or not</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="#testFilterClauseAlwaysTrueWithAggGone1()">testFilterClauseAlwaysTrueWithAggGone1</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests whether filter clauses with filters that are always true disappear in the presence |
| of another aggregate without a filter clause</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="#testFilterClauseAlwaysTrueWithAggGone2()">testFilterClauseAlwaysTrueWithAggGone2</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests whether filter clauses with filters that are always true disappear in the presence |
| of another aggregate with a filter clause</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="#testFilterClauseFactoredOut()">testFilterClauseFactoredOut</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests whether an aggregate with a filter clause has it's filter factored out |
| when there is no outer filter</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="#testFilterClauseNotFactoredOut1()">testFilterClauseNotFactoredOut1</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test to ensure that an aggregate with a filter clause in the presence of another aggregate |
| without a filter clause does not have it's filter factored out into the outer filter</div> |
| </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="#testFilterClauseNotFactoredOut2()">testFilterClauseNotFactoredOut2</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test to ensure that an aggregate with a filter clause in the presence of another aggregate |
| without a filter clause, and an outer filter does not have it's |
| filter factored out into the outer filter</div> |
| </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="#testFilterClauseNotPushable()">testFilterClauseNotPushable</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test to ensure that aggregates with filter clauses that Druid cannot handle are not pushed in |
| as filtered aggregates.</div> |
| </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="#testFilterClauseSameAsOuterFilterGone()">testFilterClauseSameAsOuterFilterGone</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests that an aggregate with a filter clause that is the same as the outer filter has no |
| references to that filter, and that the original outer filter remains</div> |
| </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="#testFilterClausesFactoredForPruning1()">testFilterClausesFactoredForPruning1</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test to ensure that multiple aggregates with filter clauses have their filters extracted to |
| the outer filter field for data pruning</div> |
| </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="#testFilterClausesFactoredForPruning2()">testFilterClausesFactoredForPruning2</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test to ensure that multiple aggregates with filter clauses have their filters extracted to |
| the outer filter field for data pruning in the presence of an outer filter</div> |
| </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="#testFilterClauseWithMetricAndTimeAndAggregates()">testFilterClauseWithMetricAndTimeAndAggregates</a></span>()</code></th> |
| <td class="colLast"> </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="#testFilterClauseWithMetricRef()">testFilterClauseWithMetricRef</a></span>()</code></th> |
| <td class="colLast"> </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="#testFilterClauseWithMetricRefAndAggregates()">testFilterClauseWithMetricRefAndAggregates</a></span>()</code></th> |
| <td class="colLast"> </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="#testFilterClauseWithNoConjunction()">testFilterClauseWithNoConjunction</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test case for https://issues.apache.org/jira/browse/CALCITE-2098.</div> |
| </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="#testFilterDistinct()">testFilterDistinct</a></span>()</code></th> |
| <td class="colLast"> </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="#testFilterExtractionOnMonthWithBetween()">testFilterExtractionOnMonthWithBetween</a></span>()</code></th> |
| <td class="colLast"> </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="#testFilterExtractionOnMonthWithIn()">testFilterExtractionOnMonthWithIn</a></span>()</code></th> |
| <td class="colLast"> </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="#testFilterFloorOnMetricColumn()">testFilterFloorOnMetricColumn</a></span>()</code></th> |
| <td class="colLast"> </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="#testFilterOnDouble()">testFilterOnDouble</a></span>()</code></th> |
| <td class="colLast"> </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="#testFilterOutEverything()">testFilterOutEverything</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests a query whose filter removes all rows.</div> |
| </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="#testFilterSortDesc()">testFilterSortDesc</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests a query that contains no GROUP BY and is therefore executed as a |
| Druid "select" query.</div> |
| </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="#testFilterSortDescNumeric()">testFilterSortDescNumeric</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">As <a href="#testFilterSortDesc()"><code>testFilterSortDesc()</code></a> but the bounds are numeric.</div> |
| </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="#testFilterSwapped()">testFilterSwapped</a></span>()</code></th> |
| <td class="colLast"> </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="#testFilterTimestamp()">testFilterTimestamp</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests that conditions applied to time units extracted via the EXTRACT |
| function become ranges on the timestamp column</div> |
| </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="#testFilterUnionPlan()">testFilterUnionPlan</a></span>()</code></th> |
| <td class="colLast"> </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="#testFilterWithFloorOnTime()">testFilterWithFloorOnTime</a></span>()</code></th> |
| <td class="colLast"> </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="#testFloorQuarter()">testFloorQuarter</a></span>()</code></th> |
| <td class="colLast"> </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="#testFloorQuarterPlusDim()">testFloorQuarterPlusDim</a></span>()</code></th> |
| <td class="colLast"> </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="#testFloorToDateRangeWithTimeZone()">testFloorToDateRangeWithTimeZone</a></span>()</code></th> |
| <td class="colLast"> </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="#testGroupBy1()">testGroupBy1</a></span>()</code></th> |
| <td class="colLast"> </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="#testGroupByAvgSumCount()">testGroupByAvgSumCount</a></span>()</code></th> |
| <td class="colLast"> </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="#testGroupByDayGranularity()">testGroupByDayGranularity</a></span>()</code></th> |
| <td class="colLast"> </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="#testGroupByDaySortDescLimit()">testGroupByDaySortDescLimit</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1578">[CALCITE-1578] |
| Druid adapter: wrong semantics of groupBy query limit with granularity</a>.</div> |
| </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="#testGroupByDaySortDimension()">testGroupByDaySortDimension</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1580">[CALCITE-1580] |
| Druid adapter: Wrong semantics for ordering within groupBy queries</a>.</div> |
| </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="#testGroupByDaySortLimit()">testGroupByDaySortLimit</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1579">[CALCITE-1579] |
| Druid adapter: wrong semantics of groupBy query limit with |
| granularity</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="#testGroupByFloorTimeWithLimit()">testGroupByFloorTimeWithLimit</a></span>()</code></th> |
| <td class="colLast"> </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="#testGroupByFloorTimeWithoutLimit()">testGroupByFloorTimeWithoutLimit</a></span>()</code></th> |
| <td class="colLast"> </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="#testGroupByHaving()">testGroupByHaving</a></span>()</code></th> |
| <td class="colLast"> </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="#testGroupbyMetric()">testGroupbyMetric</a></span>()</code></th> |
| <td class="colLast"> </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="#testGroupByMetricAndExtractTime()">testGroupByMetricAndExtractTime</a></span>()</code></th> |
| <td class="colLast"> </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="#testGroupByMonthGranularity()">testGroupByMonthGranularity</a></span>()</code></th> |
| <td class="colLast"> </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="#testGroupByMonthGranularityFiltered()">testGroupByMonthGranularityFiltered</a></span>()</code></th> |
| <td class="colLast"> </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="#testGroupByMonthGranularitySort()">testGroupByMonthGranularitySort</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1577">[CALCITE-1577] |
| Druid adapter: Incorrect result - limit on timestamp disappears</a>.</div> |
| </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="#testGroupByMonthGranularitySortLimit()">testGroupByMonthGranularitySortLimit</a></span>()</code></th> |
| <td class="colLast"> </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="#testGroupByOneColumn()">testGroupByOneColumn</a></span>()</code></th> |
| <td class="colLast"> </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="#testGroupByOneColumnNotProjected()">testGroupByOneColumnNotProjected</a></span>()</code></th> |
| <td class="colLast"> </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="#testGroupByOneColumnReversed()">testGroupByOneColumnReversed</a></span>()</code></th> |
| <td class="colLast"> </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="#testGroupBySingleSortLimit()">testGroupBySingleSortLimit</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1587">[CALCITE-1587] |
| Druid adapter: topN returns approximate results</a>.</div> |
| </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="#testGroupBySingleSortLimitApprox()">testGroupBySingleSortLimitApprox</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">As <a href="#testGroupBySingleSortLimit()"><code>testGroupBySingleSortLimit()</code></a>, but allowing approximate results |
| due to <code>CalciteConnectionConfig.approximateDistinctCount()</code>.</div> |
| </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="#testGroupBySortLimit()">testGroupBySortLimit</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1578">[CALCITE-1578] |
| Druid adapter: wrong semantics of topN query limit with granularity</a>.</div> |
| </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="#testGroupByTimeAndOneColumnNotProjected()">testGroupByTimeAndOneColumnNotProjected</a></span>()</code></th> |
| <td class="colLast"> </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="#testGroupByTimeAndOneColumnNotProjectedWithLimit()">testGroupByTimeAndOneColumnNotProjectedWithLimit</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Unlike <a href="#testGroupByTimeAndOneColumnNotProjected()"><code>testGroupByTimeAndOneColumnNotProjected()</code></a>, we cannot use |
| "topN" because we have a global limit, and that requires |
| <code>granularity: all</code>.</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="#testGroupByTimeAndOneMetricNotProjected()">testGroupByTimeAndOneMetricNotProjected</a></span>()</code></th> |
| <td class="colLast"> </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="#testGroupByTimeSortOverMetrics()">testGroupByTimeSortOverMetrics</a></span>()</code></th> |
| <td class="colLast"> </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="#testGroupByVirtualColumn()">testGroupByVirtualColumn</a></span>()</code></th> |
| <td class="colLast"> </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="#testGroupByWeekExtract()">testGroupByWeekExtract</a></span>()</code></th> |
| <td class="colLast"> </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="#testGroupComposite()">testGroupComposite</a></span>()</code></th> |
| <td class="colLast"> </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="#testHavingSpecs()">testHavingSpecs</a></span>()</code></th> |
| <td class="colLast"> </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="#testHyperUniquePostAggregator()">testHyperUniquePostAggregator</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Turn on now count(distinct )</div> |
| </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="#testInterleaveBetweenAggregateAndGroupOrderByOnDimension()">testInterleaveBetweenAggregateAndGroupOrderByOnDimension</a></span>()</code></th> |
| <td class="colLast"> </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="#testInterleaveBetweenAggregateAndGroupOrderByOnMetrics()">testInterleaveBetweenAggregateAndGroupOrderByOnMetrics</a></span>()</code></th> |
| <td class="colLast"> </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="#testIsNotNull()">testIsNotNull</a></span>()</code></th> |
| <td class="colLast"> </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="#testIsNull()">testIsNull</a></span>()</code></th> |
| <td class="colLast"> </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="#testLimit()">testLimit</a></span>()</code></th> |
| <td class="colLast"> </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="#testMetadataColumns()">testMetadataColumns</a></span>()</code></th> |
| <td class="colLast"> </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="#testMinusArithmeticOperation()">testMinusArithmeticOperation</a></span>()</code></th> |
| <td class="colLast"> </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="#testMultipleFiltersFactoredOutWithOuterFilter()">testMultipleFiltersFactoredOutWithOuterFilter</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test to ensure that multiple aggregates with the same filter clause have them factored |
| out in the presence of an outer filter, and that they no longer refer to those filters</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="#testMultiplyArithmeticOperation()">testMultiplyArithmeticOperation</a></span>()</code></th> |
| <td class="colLast"> </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="#testNestedFilterClauseFactored()">testNestedFilterClauseFactored</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test to ensure that an aggregate with a nested filter clause has it's filter factored out</div> |
| </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="#testNestedFilterClauseInAggregates()">testNestedFilterClauseInAggregates</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test to ensure that aggregates with nested filters have their filters factored out |
| into the outer filter for data pruning while still holding a reference to the filter clause</div> |
| </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="#testNonPushableFilterSortDesc()">testNonPushableFilterSortDesc</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">As <a href="#testFilterSortDescNumeric()"><code>testFilterSortDescNumeric()</code></a> but with a filter that cannot |
| be pushed down to Druid.</div> |
| </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="#testNotFilterForm()">testNotFilterForm</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test to make sure the "not" filter has only 1 field, rather than an array of fields.</div> |
| </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="#testNotTrueSimpleFilter()">testNotTrueSimpleFilter</a></span>()</code></th> |
| <td class="colLast"> </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="#testNumericOrderingOfOrderByOperatorFullTime()">testNumericOrderingOfOrderByOperatorFullTime</a></span>()</code></th> |
| <td class="colLast"> </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="#testNumericOrderingOfOrderByOperatorStringDims()">testNumericOrderingOfOrderByOperatorStringDims</a></span>()</code></th> |
| <td class="colLast"> </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="#testNumericOrderingOfOrderByOperatorTimeExtract()">testNumericOrderingOfOrderByOperatorTimeExtract</a></span>()</code></th> |
| <td class="colLast"> </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="#testOffsetLimit()">testOffsetLimit</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i158" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testOrCombinationOfExpAndSimpleFilter()">testOrCombinationOfExpAndSimpleFilter</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i159" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testOrderByOneColumnNotProjected()">testOrderByOneColumnNotProjected</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i160" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testOrderByOnMetricsInSelectDruidQuery()">testOrderByOnMetricsInSelectDruidQuery</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i161" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testOuterFilterFalseAfterFactorSimplification()">testOuterFilterFalseAfterFactorSimplification</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests that when the resulting filter from factoring filter clauses out is always false, |
| that they are still pushed to Druid to handle.</div> |
| </td> |
| </tr> |
| <tr id="i162" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testOuterFilterRemainsWithAlwaysTrueClause()">testOuterFilterRemainsWithAlwaysTrueClause</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests whether an existing outer filter is untouched when an aggregate has a filter clause |
| that is always true</div> |
| </td> |
| </tr> |
| <tr id="i163" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPartiallyPostAggregation()">testPartiallyPostAggregation</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i164" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPlusArithmeticOperation()">testPlusArithmeticOperation</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i165" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testProject()">testProject</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests that projections of columns are pushed into the DruidQuery, and |
| projections of expressions that Druid cannot handle (in this case, a |
| literal 0) stay up.</div> |
| </td> |
| </tr> |
| <tr id="i166" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testProjectSameColumnMultipleTimes()">testProjectSameColumnMultipleTimes</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i167" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testProjectSameMetricsColumnMultipleTimes()">testProjectSameMetricsColumnMultipleTimes</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i168" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushAggregateOnTime()">testPushAggregateOnTime</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i169" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushAggregateOnTimeWithExtractDay()">testPushAggregateOnTimeWithExtractDay</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i170" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushAggregateOnTimeWithExtractHourOfDay()">testPushAggregateOnTimeWithExtractHourOfDay</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i171" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushAggregateOnTimeWithExtractMonth()">testPushAggregateOnTimeWithExtractMonth</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i172" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushAggregateOnTimeWithExtractWithOutRenaming()">testPushAggregateOnTimeWithExtractWithOutRenaming</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i173" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushAggregateOnTimeWithExtractYear()">testPushAggregateOnTimeWithExtractYear</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i174" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushAggregateOnTimeWithExtractYearMonthDay()">testPushAggregateOnTimeWithExtractYearMonthDay</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i175" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushAggregateOnTimeWithExtractYearMonthDayWithOutRenaming()">testPushAggregateOnTimeWithExtractYearMonthDayWithOutRenaming</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i176" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushCast()">testPushCast</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1770">[CALCITE-1770] |
| Druid adapter: CAST(NULL AS ...) gives NPE</a>.</div> |
| </td> |
| </tr> |
| <tr id="i177" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushCastNumeric()">testPushCastNumeric</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1769">[CALCITE-1769] |
| Druid adapter: Push down filters involving numeric cast of literals</a>.</div> |
| </td> |
| </tr> |
| <tr id="i178" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushComplexFilter()">testPushComplexFilter</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i179" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushEqualsCastDimension()">testPushEqualsCastDimension</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i180" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushFieldEqualsLiteral()">testPushFieldEqualsLiteral</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i181" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushNotEqualsCastDimension()">testPushNotEqualsCastDimension</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i182" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushOfFilterExtractionOnDayAndMonth()">testPushOfFilterExtractionOnDayAndMonth</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i183" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushOfFilterExtractionOnDayAndMonthAndYear()">testPushOfFilterExtractionOnDayAndMonthAndYear</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i184" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushofOrderByMetricWithYearMonthExtract()">testPushofOrderByMetricWithYearMonthExtract</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i185" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushOfOrderByWithMonthExtract()">testPushOfOrderByWithMonthExtract</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i186" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushofOrderByYearWithYearMonthExtract()">testPushofOrderByYearWithYearMonthExtract</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i187" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushOfSimpleColumnAPlusColumnB()">testPushOfSimpleColumnAPlusColumnB</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i188" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushOfSimpleMathOps()">testPushOfSimpleMathOps</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i189" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushSimpleGroupBy()">testPushSimpleGroupBy</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i190" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRecursiveArithmeticOperation()">testRecursiveArithmeticOperation</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i191" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSelectCount()">testSelectCount</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1281">[CALCITE-1281] |
| Druid adapter wrongly returns all numeric values as int or float</a>.</div> |
| </td> |
| </tr> |
| <tr id="i192" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSelectDistinct()">testSelectDistinct</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i193" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSelectExtractMonth()">testSelectExtractMonth</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i194" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSelectFloorOnTimeWithFilterOnFloorOnTime()">testSelectFloorOnTimeWithFilterOnFloorOnTime</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i195" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSelectGroupBySum()">testSelectGroupBySum</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i196" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSingleAverageFunction()">testSingleAverageFunction</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i197" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSort()">testSort</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i198" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSortLimit()">testSortLimit</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i199" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testStackedAggregateFilters()">testStackedAggregateFilters</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i200" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSubStringExpressionFilter()">testSubStringExpressionFilter</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i201" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSubStringOverPostAggregates()">testSubStringOverPostAggregates</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i202" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSubStringWithNonConstantIndex()">testSubStringWithNonConstantIndex</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i203" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSubStringWithNonConstantIndexes()">testSubStringWithNonConstantIndexes</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i204" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testTableauQueryExtractMonthDayYear()">testTableauQueryExtractMonthDayYear</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i205" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testTableauQueryMinutesSecondsExtract()">testTableauQueryMinutesSecondsExtract</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i206" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testTableauQuerySubStringHourMinutes()">testTableauQuerySubStringHourMinutes</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i207" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testTableMapReused()">testTableMapReused</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test to make sure that the mapping from a Table name to a Table returned from |
| <code>DruidSchema</code> is always the same Java object.</div> |
| </td> |
| </tr> |
| <tr id="i208" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testTableQueryExtractYearQuarter()">testTableQueryExtractYearQuarter</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i209" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testTimeExtractThatCannotBePushed()">testTimeExtractThatCannotBePushed</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1765">[CALCITE-1765] |
| Druid adapter: Gracefully handle granularity that cannot be pushed to |
| extraction function</a>.</div> |
| </td> |
| </tr> |
| <tr id="i210" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testTimeFloorExpressions()">testTimeFloorExpressions</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i211" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testTimeWithFilterOnFloorOnTimeAndCastToTimestamp()">testTimeWithFilterOnFloorOnTimeAndCastToTimestamp</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i212" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testTopNDayGranularityFiltered()">testTopNDayGranularityFiltered</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i213" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testTopNMonthGranularity()">testTopNMonthGranularity</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i214" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testTransposableHavingFilter()">testTransposableHavingFilter</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i215" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testTrigonometryMathFunctions()">testTrigonometryMathFunctions</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i216" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testTrueFilter()">testTrueFilter</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i217" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testUnionPlan()">testUnionPlan</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"> |
| <!-- ============ FIELD DETAIL =========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="field.detail"> |
| <!-- --> |
| </a> |
| <h3>Field Detail</h3> |
| <a id="FOODMART"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>FOODMART</h4> |
| <pre>public static final java.net.URL FOODMART</pre> |
| <div class="block">URL of the "druid-foodmart" model.</div> |
| </li> |
| </ul> |
| <a id="VARCHAR_TYPE"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>VARCHAR_TYPE</h4> |
| <pre>private static final java.lang.String VARCHAR_TYPE</pre> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../constant-values.html#org.apache.calcite.test.DruidAdapter2IT.VARCHAR_TYPE">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="FOODMART_TABLE"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>FOODMART_TABLE</h4> |
| <pre>private static final java.lang.String FOODMART_TABLE</pre> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../constant-values.html#org.apache.calcite.test.DruidAdapter2IT.FOODMART_TABLE">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="constructor.detail"> |
| <!-- --> |
| </a> |
| <h3>Constructor Detail</h3> |
| <a id="<init>()"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>DruidAdapter2IT</h4> |
| <pre>public DruidAdapter2IT()</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="enabled()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>enabled</h4> |
| <pre class="methodSignature">protected boolean enabled()</pre> |
| <div class="block">Whether to run this test.</div> |
| </li> |
| </ul> |
| <a id="foodmartApprox(java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>foodmartApprox</h4> |
| <pre class="methodSignature">private <a href="CalciteAssert.AssertQuery.html" title="class in org.apache.calcite.test">CalciteAssert.AssertQuery</a> foodmartApprox​(java.lang.String sql)</pre> |
| <div class="block">Creates a query against FOODMART with approximate parameters</div> |
| </li> |
| </ul> |
| <a id="approxQuery(java.net.URL,java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>approxQuery</h4> |
| <pre class="methodSignature">private <a href="CalciteAssert.AssertQuery.html" title="class in org.apache.calcite.test">CalciteAssert.AssertQuery</a> approxQuery​(java.net.URL url, |
| java.lang.String sql)</pre> |
| </li> |
| </ul> |
| <a id="sql(java.lang.String,java.net.URL)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>sql</h4> |
| <pre class="methodSignature">private <a href="CalciteAssert.AssertQuery.html" title="class in org.apache.calcite.test">CalciteAssert.AssertQuery</a> sql​(java.lang.String sql, |
| java.net.URL url)</pre> |
| <div class="block">Creates a query against a data set given by a map.</div> |
| </li> |
| </ul> |
| <a id="sql(java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>sql</h4> |
| <pre class="methodSignature">private <a href="CalciteAssert.AssertQuery.html" title="class in org.apache.calcite.test">CalciteAssert.AssertQuery</a> sql​(java.lang.String sql)</pre> |
| <div class="block">Creates a query against the <a href="#FOODMART"><code>FOODMART</code></a> data set.</div> |
| </li> |
| </ul> |
| <a id="testMetadataColumns()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testMetadataColumns</h4> |
| <pre class="methodSignature">public void testMetadataColumns() |
| 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="testSelectDistinct()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testSelectDistinct</h4> |
| <pre class="methodSignature">public void testSelectDistinct()</pre> |
| </li> |
| </ul> |
| <a id="testSelectGroupBySum()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testSelectGroupBySum</h4> |
| <pre class="methodSignature">public void testSelectGroupBySum()</pre> |
| </li> |
| </ul> |
| <a id="testGroupbyMetric()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupbyMetric</h4> |
| <pre class="methodSignature">public void testGroupbyMetric()</pre> |
| </li> |
| </ul> |
| <a id="testPushSimpleGroupBy()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushSimpleGroupBy</h4> |
| <pre class="methodSignature">public void testPushSimpleGroupBy()</pre> |
| </li> |
| </ul> |
| <a id="testComplexPushGroupBy()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testComplexPushGroupBy</h4> |
| <pre class="methodSignature">public void testComplexPushGroupBy()</pre> |
| </li> |
| </ul> |
| <a id="testSelectCount()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testSelectCount</h4> |
| <pre class="methodSignature">public void testSelectCount()</pre> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1281">[CALCITE-1281] |
| Druid adapter wrongly returns all numeric values as int or float</a>.</div> |
| </li> |
| </ul> |
| <a id="testSort()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testSort</h4> |
| <pre class="methodSignature">public void testSort()</pre> |
| </li> |
| </ul> |
| <a id="testSortLimit()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testSortLimit</h4> |
| <pre class="methodSignature">public void testSortLimit()</pre> |
| </li> |
| </ul> |
| <a id="testOffsetLimit()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testOffsetLimit</h4> |
| <pre class="methodSignature">public void testOffsetLimit()</pre> |
| </li> |
| </ul> |
| <a id="testLimit()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testLimit</h4> |
| <pre class="methodSignature">public void testLimit()</pre> |
| </li> |
| </ul> |
| <a id="testDistinctLimit()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testDistinctLimit</h4> |
| <pre class="methodSignature">public void testDistinctLimit()</pre> |
| </li> |
| </ul> |
| <a id="testGroupBySortLimit()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupBySortLimit</h4> |
| <pre class="methodSignature">public void testGroupBySortLimit()</pre> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1578">[CALCITE-1578] |
| Druid adapter: wrong semantics of topN query limit with granularity</a>.</div> |
| </li> |
| </ul> |
| <a id="testGroupBySingleSortLimit()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupBySingleSortLimit</h4> |
| <pre class="methodSignature">public void testGroupBySingleSortLimit()</pre> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1587">[CALCITE-1587] |
| Druid adapter: topN returns approximate results</a>.</div> |
| </li> |
| </ul> |
| <a id="testGroupBySingleSortLimitApprox()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupBySingleSortLimitApprox</h4> |
| <pre class="methodSignature">public void testGroupBySingleSortLimitApprox()</pre> |
| <div class="block">As <a href="#testGroupBySingleSortLimit()"><code>testGroupBySingleSortLimit()</code></a>, but allowing approximate results |
| due to <code>CalciteConnectionConfig.approximateDistinctCount()</code>. |
| Therefore we send a "topN" query to Druid.</div> |
| </li> |
| </ul> |
| <a id="checkGroupBySingleSortLimit(boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>checkGroupBySingleSortLimit</h4> |
| <pre class="methodSignature">private void checkGroupBySingleSortLimit​(boolean approx)</pre> |
| </li> |
| </ul> |
| <a id="testGroupByDaySortDescLimit()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByDaySortDescLimit</h4> |
| <pre class="methodSignature">public void testGroupByDaySortDescLimit()</pre> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1578">[CALCITE-1578] |
| Druid adapter: wrong semantics of groupBy query limit with granularity</a>. |
| |
| <p>Before CALCITE-1578 was fixed, this would use a "topN" query but return |
| the wrong results.</div> |
| </li> |
| </ul> |
| <a id="testGroupByDaySortLimit()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByDaySortLimit</h4> |
| <pre class="methodSignature">public void testGroupByDaySortLimit()</pre> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1579">[CALCITE-1579] |
| Druid adapter: wrong semantics of groupBy query limit with |
| granularity</a>. |
| |
| <p>Before CALCITE-1579 was fixed, this would use a "groupBy" query but |
| wrongly try to use a <code>limitSpec</code> to sort and filter. (A "topN" query |
| was not possible because the sort was <code>ASC</code>.)</div> |
| </li> |
| </ul> |
| <a id="testGroupByDaySortDimension()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByDaySortDimension</h4> |
| <pre class="methodSignature">public void testGroupByDaySortDimension()</pre> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1580">[CALCITE-1580] |
| Druid adapter: Wrong semantics for ordering within groupBy queries</a>.</div> |
| </li> |
| </ul> |
| <a id="testFilterSortDesc()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterSortDesc</h4> |
| <pre class="methodSignature">public void testFilterSortDesc()</pre> |
| <div class="block">Tests a query that contains no GROUP BY and is therefore executed as a |
| Druid "select" query.</div> |
| </li> |
| </ul> |
| <a id="testFilterSortDescNumeric()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterSortDescNumeric</h4> |
| <pre class="methodSignature">public void testFilterSortDescNumeric()</pre> |
| <div class="block">As <a href="#testFilterSortDesc()"><code>testFilterSortDesc()</code></a> but the bounds are numeric.</div> |
| </li> |
| </ul> |
| <a id="testFilterOutEverything()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterOutEverything</h4> |
| <pre class="methodSignature">public void testFilterOutEverything()</pre> |
| <div class="block">Tests a query whose filter removes all rows.</div> |
| </li> |
| </ul> |
| <a id="testNonPushableFilterSortDesc()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testNonPushableFilterSortDesc</h4> |
| <pre class="methodSignature">public void testNonPushableFilterSortDesc()</pre> |
| <div class="block">As <a href="#testFilterSortDescNumeric()"><code>testFilterSortDescNumeric()</code></a> but with a filter that cannot |
| be pushed down to Druid.</div> |
| </li> |
| </ul> |
| <a id="testUnionPlan()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testUnionPlan</h4> |
| <pre class="methodSignature">public void testUnionPlan()</pre> |
| </li> |
| </ul> |
| <a id="testFilterUnionPlan()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterUnionPlan</h4> |
| <pre class="methodSignature">public void testFilterUnionPlan()</pre> |
| </li> |
| </ul> |
| <a id="testCountGroupByEmpty()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testCountGroupByEmpty</h4> |
| <pre class="methodSignature">public void testCountGroupByEmpty()</pre> |
| </li> |
| </ul> |
| <a id="testGroupByOneColumnNotProjected()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByOneColumnNotProjected</h4> |
| <pre class="methodSignature">public void testGroupByOneColumnNotProjected()</pre> |
| </li> |
| </ul> |
| <a id="testGroupByTimeAndOneColumnNotProjectedWithLimit()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByTimeAndOneColumnNotProjectedWithLimit</h4> |
| <pre class="methodSignature">public void testGroupByTimeAndOneColumnNotProjectedWithLimit()</pre> |
| <div class="block">Unlike <a href="#testGroupByTimeAndOneColumnNotProjected()"><code>testGroupByTimeAndOneColumnNotProjected()</code></a>, we cannot use |
| "topN" because we have a global limit, and that requires |
| <code>granularity: all</code>.</div> |
| </li> |
| </ul> |
| <a id="testGroupByTimeAndOneMetricNotProjected()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByTimeAndOneMetricNotProjected</h4> |
| <pre class="methodSignature">public void testGroupByTimeAndOneMetricNotProjected()</pre> |
| </li> |
| </ul> |
| <a id="testGroupByTimeAndOneColumnNotProjected()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByTimeAndOneColumnNotProjected</h4> |
| <pre class="methodSignature">public void testGroupByTimeAndOneColumnNotProjected()</pre> |
| </li> |
| </ul> |
| <a id="testOrderByOneColumnNotProjected()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testOrderByOneColumnNotProjected</h4> |
| <pre class="methodSignature">public void testOrderByOneColumnNotProjected()</pre> |
| </li> |
| </ul> |
| <a id="testGroupByOneColumn()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByOneColumn</h4> |
| <pre class="methodSignature">public void testGroupByOneColumn()</pre> |
| </li> |
| </ul> |
| <a id="testGroupByOneColumnReversed()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByOneColumnReversed</h4> |
| <pre class="methodSignature">public void testGroupByOneColumnReversed()</pre> |
| </li> |
| </ul> |
| <a id="testGroupByAvgSumCount()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByAvgSumCount</h4> |
| <pre class="methodSignature">public void testGroupByAvgSumCount()</pre> |
| </li> |
| </ul> |
| <a id="testGroupByMonthGranularity()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByMonthGranularity</h4> |
| <pre class="methodSignature">public void testGroupByMonthGranularity()</pre> |
| </li> |
| </ul> |
| <a id="testGroupByMonthGranularitySort()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByMonthGranularitySort</h4> |
| <pre class="methodSignature">public void testGroupByMonthGranularitySort()</pre> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1577">[CALCITE-1577] |
| Druid adapter: Incorrect result - limit on timestamp disappears</a>.</div> |
| </li> |
| </ul> |
| <a id="testGroupByMonthGranularitySortLimit()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByMonthGranularitySortLimit</h4> |
| <pre class="methodSignature">public void testGroupByMonthGranularitySortLimit()</pre> |
| </li> |
| </ul> |
| <a id="testGroupByDayGranularity()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByDayGranularity</h4> |
| <pre class="methodSignature">public void testGroupByDayGranularity()</pre> |
| </li> |
| </ul> |
| <a id="testGroupByMonthGranularityFiltered()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByMonthGranularityFiltered</h4> |
| <pre class="methodSignature">public void testGroupByMonthGranularityFiltered()</pre> |
| </li> |
| </ul> |
| <a id="testTopNMonthGranularity()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testTopNMonthGranularity</h4> |
| <pre class="methodSignature">public void testTopNMonthGranularity()</pre> |
| </li> |
| </ul> |
| <a id="testTopNDayGranularityFiltered()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testTopNDayGranularityFiltered</h4> |
| <pre class="methodSignature">public void testTopNDayGranularityFiltered()</pre> |
| </li> |
| </ul> |
| <a id="testGroupByHaving()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByHaving</h4> |
| <pre class="methodSignature">public void testGroupByHaving()</pre> |
| </li> |
| </ul> |
| <a id="testGroupComposite()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupComposite</h4> |
| <pre class="methodSignature">public void testGroupComposite()</pre> |
| </li> |
| </ul> |
| <a id="testDistinctCount()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testDistinctCount</h4> |
| <pre class="methodSignature">public void testDistinctCount()</pre> |
| <div class="block">Tests that distinct-count is pushed down to Druid and evaluated using |
| "cardinality". The result is approximate, but gives the correct result in |
| this example when rounded down using FLOOR.</div> |
| </li> |
| </ul> |
| <a id="testProject()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testProject</h4> |
| <pre class="methodSignature">public void testProject()</pre> |
| <div class="block">Tests that projections of columns are pushed into the DruidQuery, and |
| projections of expressions that Druid cannot handle (in this case, a |
| literal 0) stay up.</div> |
| </li> |
| </ul> |
| <a id="testFilterDistinct()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterDistinct</h4> |
| <pre class="methodSignature">public void testFilterDistinct()</pre> |
| </li> |
| </ul> |
| <a id="testFilter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilter</h4> |
| <pre class="methodSignature">public void testFilter()</pre> |
| </li> |
| </ul> |
| <a id="testFilterTimestamp()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterTimestamp</h4> |
| <pre class="methodSignature">public void testFilterTimestamp()</pre> |
| <div class="block">Tests that conditions applied to time units extracted via the EXTRACT |
| function become ranges on the timestamp column |
| |
| <p>Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1334">[CALCITE-1334] |
| Convert predicates on EXTRACT function calls into date ranges</a>.</div> |
| </li> |
| </ul> |
| <a id="testFilterSwapped()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterSwapped</h4> |
| <pre class="methodSignature">public void testFilterSwapped()</pre> |
| </li> |
| </ul> |
| <a id="testGroupByMetricAndExtractTime()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByMetricAndExtractTime</h4> |
| <pre class="methodSignature">public void testGroupByMetricAndExtractTime()</pre> |
| </li> |
| </ul> |
| <a id="testFilterOnDouble()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterOnDouble</h4> |
| <pre class="methodSignature">public void testFilterOnDouble()</pre> |
| </li> |
| </ul> |
| <a id="testPushAggregateOnTime()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushAggregateOnTime</h4> |
| <pre class="methodSignature">public void testPushAggregateOnTime()</pre> |
| </li> |
| </ul> |
| <a id="testPushAggregateOnTimeWithExtractYear()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushAggregateOnTimeWithExtractYear</h4> |
| <pre class="methodSignature">public void testPushAggregateOnTimeWithExtractYear()</pre> |
| </li> |
| </ul> |
| <a id="testPushAggregateOnTimeWithExtractMonth()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushAggregateOnTimeWithExtractMonth</h4> |
| <pre class="methodSignature">public void testPushAggregateOnTimeWithExtractMonth()</pre> |
| </li> |
| </ul> |
| <a id="testPushAggregateOnTimeWithExtractDay()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushAggregateOnTimeWithExtractDay</h4> |
| <pre class="methodSignature">public void testPushAggregateOnTimeWithExtractDay()</pre> |
| </li> |
| </ul> |
| <a id="testPushAggregateOnTimeWithExtractHourOfDay()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushAggregateOnTimeWithExtractHourOfDay</h4> |
| <pre class="methodSignature">public void testPushAggregateOnTimeWithExtractHourOfDay()</pre> |
| </li> |
| </ul> |
| <a id="testPushAggregateOnTimeWithExtractYearMonthDay()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushAggregateOnTimeWithExtractYearMonthDay</h4> |
| <pre class="methodSignature">public void testPushAggregateOnTimeWithExtractYearMonthDay()</pre> |
| </li> |
| </ul> |
| <a id="testPushAggregateOnTimeWithExtractYearMonthDayWithOutRenaming()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushAggregateOnTimeWithExtractYearMonthDayWithOutRenaming</h4> |
| <pre class="methodSignature">public void testPushAggregateOnTimeWithExtractYearMonthDayWithOutRenaming()</pre> |
| </li> |
| </ul> |
| <a id="testPushAggregateOnTimeWithExtractWithOutRenaming()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushAggregateOnTimeWithExtractWithOutRenaming</h4> |
| <pre class="methodSignature">public void testPushAggregateOnTimeWithExtractWithOutRenaming()</pre> |
| </li> |
| </ul> |
| <a id="testPushComplexFilter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushComplexFilter</h4> |
| <pre class="methodSignature">public void testPushComplexFilter()</pre> |
| </li> |
| </ul> |
| <a id="testPushOfFilterExtractionOnDayAndMonth()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushOfFilterExtractionOnDayAndMonth</h4> |
| <pre class="methodSignature">public void testPushOfFilterExtractionOnDayAndMonth()</pre> |
| </li> |
| </ul> |
| <a id="testPushOfFilterExtractionOnDayAndMonthAndYear()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushOfFilterExtractionOnDayAndMonthAndYear</h4> |
| <pre class="methodSignature">public void testPushOfFilterExtractionOnDayAndMonthAndYear()</pre> |
| </li> |
| </ul> |
| <a id="testFilterExtractionOnMonthWithBetween()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterExtractionOnMonthWithBetween</h4> |
| <pre class="methodSignature">public void testFilterExtractionOnMonthWithBetween()</pre> |
| </li> |
| </ul> |
| <a id="testFilterExtractionOnMonthWithIn()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterExtractionOnMonthWithIn</h4> |
| <pre class="methodSignature">public void testFilterExtractionOnMonthWithIn()</pre> |
| </li> |
| </ul> |
| <a id="testPushOfOrderByWithMonthExtract()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushOfOrderByWithMonthExtract</h4> |
| <pre class="methodSignature">public void testPushOfOrderByWithMonthExtract()</pre> |
| </li> |
| </ul> |
| <a id="testGroupByFloorTimeWithoutLimit()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByFloorTimeWithoutLimit</h4> |
| <pre class="methodSignature">public void testGroupByFloorTimeWithoutLimit()</pre> |
| </li> |
| </ul> |
| <a id="testGroupByFloorTimeWithLimit()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByFloorTimeWithLimit</h4> |
| <pre class="methodSignature">public void testGroupByFloorTimeWithLimit()</pre> |
| </li> |
| </ul> |
| <a id="testPushofOrderByYearWithYearMonthExtract()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushofOrderByYearWithYearMonthExtract</h4> |
| <pre class="methodSignature">public void testPushofOrderByYearWithYearMonthExtract()</pre> |
| </li> |
| </ul> |
| <a id="testPushofOrderByMetricWithYearMonthExtract()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushofOrderByMetricWithYearMonthExtract</h4> |
| <pre class="methodSignature">public void testPushofOrderByMetricWithYearMonthExtract()</pre> |
| </li> |
| </ul> |
| <a id="testGroupByTimeSortOverMetrics()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByTimeSortOverMetrics</h4> |
| <pre class="methodSignature">public void testGroupByTimeSortOverMetrics()</pre> |
| </li> |
| </ul> |
| <a id="testNumericOrderingOfOrderByOperatorFullTime()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testNumericOrderingOfOrderByOperatorFullTime</h4> |
| <pre class="methodSignature">public void testNumericOrderingOfOrderByOperatorFullTime()</pre> |
| </li> |
| </ul> |
| <a id="testNumericOrderingOfOrderByOperatorTimeExtract()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testNumericOrderingOfOrderByOperatorTimeExtract</h4> |
| <pre class="methodSignature">public void testNumericOrderingOfOrderByOperatorTimeExtract()</pre> |
| </li> |
| </ul> |
| <a id="testNumericOrderingOfOrderByOperatorStringDims()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testNumericOrderingOfOrderByOperatorStringDims</h4> |
| <pre class="methodSignature">public void testNumericOrderingOfOrderByOperatorStringDims()</pre> |
| </li> |
| </ul> |
| <a id="testGroupByWeekExtract()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByWeekExtract</h4> |
| <pre class="methodSignature">public void testGroupByWeekExtract()</pre> |
| </li> |
| </ul> |
| <a id="testTimeExtractThatCannotBePushed()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testTimeExtractThatCannotBePushed</h4> |
| <pre class="methodSignature">public void testTimeExtractThatCannotBePushed()</pre> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1765">[CALCITE-1765] |
| Druid adapter: Gracefully handle granularity that cannot be pushed to |
| extraction function</a>.</div> |
| </li> |
| </ul> |
| <a id="testPushCast()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushCast</h4> |
| <pre class="methodSignature">public void testPushCast()</pre> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1770">[CALCITE-1770] |
| Druid adapter: CAST(NULL AS ...) gives NPE</a>.</div> |
| </li> |
| </ul> |
| <a id="testFalseFilter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFalseFilter</h4> |
| <pre class="methodSignature">public void testFalseFilter()</pre> |
| </li> |
| </ul> |
| <a id="testTrueFilter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testTrueFilter</h4> |
| <pre class="methodSignature">public void testTrueFilter()</pre> |
| </li> |
| </ul> |
| <a id="testFalseFilterCaseConjectionWithTrue()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFalseFilterCaseConjectionWithTrue</h4> |
| <pre class="methodSignature">public void testFalseFilterCaseConjectionWithTrue()</pre> |
| </li> |
| </ul> |
| <a id="testPushCastNumeric()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushCastNumeric</h4> |
| <pre class="methodSignature">public void testPushCastNumeric()</pre> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1769">[CALCITE-1769] |
| Druid adapter: Push down filters involving numeric cast of literals</a>.</div> |
| </li> |
| </ul> |
| <a id="testPushFieldEqualsLiteral()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushFieldEqualsLiteral</h4> |
| <pre class="methodSignature">public void testPushFieldEqualsLiteral()</pre> |
| </li> |
| </ul> |
| <a id="testPlusArithmeticOperation()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPlusArithmeticOperation</h4> |
| <pre class="methodSignature">public void testPlusArithmeticOperation()</pre> |
| </li> |
| </ul> |
| <a id="testDivideArithmeticOperation()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testDivideArithmeticOperation</h4> |
| <pre class="methodSignature">public void testDivideArithmeticOperation()</pre> |
| </li> |
| </ul> |
| <a id="testMultiplyArithmeticOperation()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testMultiplyArithmeticOperation</h4> |
| <pre class="methodSignature">public void testMultiplyArithmeticOperation()</pre> |
| </li> |
| </ul> |
| <a id="testMinusArithmeticOperation()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testMinusArithmeticOperation</h4> |
| <pre class="methodSignature">public void testMinusArithmeticOperation()</pre> |
| </li> |
| </ul> |
| <a id="testConstantPostAggregator()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testConstantPostAggregator</h4> |
| <pre class="methodSignature">public void testConstantPostAggregator()</pre> |
| </li> |
| </ul> |
| <a id="testRecursiveArithmeticOperation()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testRecursiveArithmeticOperation</h4> |
| <pre class="methodSignature">public void testRecursiveArithmeticOperation()</pre> |
| </li> |
| </ul> |
| <a id="testHyperUniquePostAggregator()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testHyperUniquePostAggregator</h4> |
| <pre class="methodSignature">public void testHyperUniquePostAggregator()</pre> |
| <div class="block">Turn on now count(distinct )</div> |
| </li> |
| </ul> |
| <a id="testExtractFilterWorkWithPostAggregations()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExtractFilterWorkWithPostAggregations</h4> |
| <pre class="methodSignature">public void testExtractFilterWorkWithPostAggregations()</pre> |
| </li> |
| </ul> |
| <a id="testExtractFilterWorkWithPostAggregationsWithConstant()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExtractFilterWorkWithPostAggregationsWithConstant</h4> |
| <pre class="methodSignature">public void testExtractFilterWorkWithPostAggregationsWithConstant()</pre> |
| </li> |
| </ul> |
| <a id="testSingleAverageFunction()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testSingleAverageFunction</h4> |
| <pre class="methodSignature">public void testSingleAverageFunction()</pre> |
| </li> |
| </ul> |
| <a id="testPartiallyPostAggregation()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPartiallyPostAggregation</h4> |
| <pre class="methodSignature">public void testPartiallyPostAggregation()</pre> |
| </li> |
| </ul> |
| <a id="testDuplicateReferenceOnPostAggregation()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testDuplicateReferenceOnPostAggregation</h4> |
| <pre class="methodSignature">public void testDuplicateReferenceOnPostAggregation()</pre> |
| </li> |
| </ul> |
| <a id="testDivideByZeroDoubleTypeInfinity()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testDivideByZeroDoubleTypeInfinity</h4> |
| <pre class="methodSignature">public void testDivideByZeroDoubleTypeInfinity()</pre> |
| </li> |
| </ul> |
| <a id="testDivideByZeroDoubleTypeNegInfinity()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testDivideByZeroDoubleTypeNegInfinity</h4> |
| <pre class="methodSignature">public void testDivideByZeroDoubleTypeNegInfinity()</pre> |
| </li> |
| </ul> |
| <a id="testDivideByZeroDoubleTypeNaN()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testDivideByZeroDoubleTypeNaN</h4> |
| <pre class="methodSignature">public void testDivideByZeroDoubleTypeNaN()</pre> |
| </li> |
| </ul> |
| <a id="testDivideByZeroIntegerType()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testDivideByZeroIntegerType</h4> |
| <pre class="methodSignature">public void testDivideByZeroIntegerType()</pre> |
| </li> |
| </ul> |
| <a id="testInterleaveBetweenAggregateAndGroupOrderByOnMetrics()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testInterleaveBetweenAggregateAndGroupOrderByOnMetrics</h4> |
| <pre class="methodSignature">public void testInterleaveBetweenAggregateAndGroupOrderByOnMetrics()</pre> |
| </li> |
| </ul> |
| <a id="testInterleaveBetweenAggregateAndGroupOrderByOnDimension()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testInterleaveBetweenAggregateAndGroupOrderByOnDimension</h4> |
| <pre class="methodSignature">public void testInterleaveBetweenAggregateAndGroupOrderByOnDimension()</pre> |
| </li> |
| </ul> |
| <a id="testOrderByOnMetricsInSelectDruidQuery()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testOrderByOnMetricsInSelectDruidQuery</h4> |
| <pre class="methodSignature">public void testOrderByOnMetricsInSelectDruidQuery()</pre> |
| </li> |
| </ul> |
| <a id="testFilterClauseFactoredOut()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterClauseFactoredOut</h4> |
| <pre class="methodSignature">public void testFilterClauseFactoredOut()</pre> |
| <div class="block">Tests whether an aggregate with a filter clause has it's filter factored out |
| when there is no outer filter</div> |
| </li> |
| </ul> |
| <a id="testFilterClauseAlwaysTrueGone()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterClauseAlwaysTrueGone</h4> |
| <pre class="methodSignature">public void testFilterClauseAlwaysTrueGone()</pre> |
| <div class="block">Tests whether filter clauses with filters that are always true disappear or not</div> |
| </li> |
| </ul> |
| <a id="testFilterClauseAlwaysTrueWithAggGone1()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterClauseAlwaysTrueWithAggGone1</h4> |
| <pre class="methodSignature">public void testFilterClauseAlwaysTrueWithAggGone1()</pre> |
| <div class="block">Tests whether filter clauses with filters that are always true disappear in the presence |
| of another aggregate without a filter clause</div> |
| </li> |
| </ul> |
| <a id="testFilterClauseAlwaysTrueWithAggGone2()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterClauseAlwaysTrueWithAggGone2</h4> |
| <pre class="methodSignature">public void testFilterClauseAlwaysTrueWithAggGone2()</pre> |
| <div class="block">Tests whether filter clauses with filters that are always true disappear in the presence |
| of another aggregate with a filter clause</div> |
| </li> |
| </ul> |
| <a id="testOuterFilterRemainsWithAlwaysTrueClause()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testOuterFilterRemainsWithAlwaysTrueClause</h4> |
| <pre class="methodSignature">public void testOuterFilterRemainsWithAlwaysTrueClause()</pre> |
| <div class="block">Tests whether an existing outer filter is untouched when an aggregate has a filter clause |
| that is always true</div> |
| </li> |
| </ul> |
| <a id="testFilterClauseAlwaysFalseNotPushed()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterClauseAlwaysFalseNotPushed</h4> |
| <pre class="methodSignature">public void testFilterClauseAlwaysFalseNotPushed()</pre> |
| <div class="block">Tests that an aggregate with a filter clause that is always false does not get pushed in</div> |
| </li> |
| </ul> |
| <a id="testFilterClauseAlwaysFalseNotPushedWithFilter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterClauseAlwaysFalseNotPushedWithFilter</h4> |
| <pre class="methodSignature">public void testFilterClauseAlwaysFalseNotPushedWithFilter()</pre> |
| <div class="block">Tests that an aggregate with a filter clause that is always false does not get pushed when |
| there is already an outer filter</div> |
| </li> |
| </ul> |
| <a id="testFilterClauseSameAsOuterFilterGone()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterClauseSameAsOuterFilterGone</h4> |
| <pre class="methodSignature">public void testFilterClauseSameAsOuterFilterGone()</pre> |
| <div class="block">Tests that an aggregate with a filter clause that is the same as the outer filter has no |
| references to that filter, and that the original outer filter remains</div> |
| </li> |
| </ul> |
| <a id="testFilterClauseNotFactoredOut1()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterClauseNotFactoredOut1</h4> |
| <pre class="methodSignature">public void testFilterClauseNotFactoredOut1()</pre> |
| <div class="block">Test to ensure that an aggregate with a filter clause in the presence of another aggregate |
| without a filter clause does not have it's filter factored out into the outer filter</div> |
| </li> |
| </ul> |
| <a id="testFilterClauseNotFactoredOut2()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterClauseNotFactoredOut2</h4> |
| <pre class="methodSignature">public void testFilterClauseNotFactoredOut2()</pre> |
| <div class="block">Test to ensure that an aggregate with a filter clause in the presence of another aggregate |
| without a filter clause, and an outer filter does not have it's |
| filter factored out into the outer filter</div> |
| </li> |
| </ul> |
| <a id="testFilterClausesFactoredForPruning1()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterClausesFactoredForPruning1</h4> |
| <pre class="methodSignature">public void testFilterClausesFactoredForPruning1()</pre> |
| <div class="block">Test to ensure that multiple aggregates with filter clauses have their filters extracted to |
| the outer filter field for data pruning</div> |
| </li> |
| </ul> |
| <a id="testFilterClausesFactoredForPruning2()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterClausesFactoredForPruning2</h4> |
| <pre class="methodSignature">public void testFilterClausesFactoredForPruning2()</pre> |
| <div class="block">Test to ensure that multiple aggregates with filter clauses have their filters extracted to |
| the outer filter field for data pruning in the presence of an outer filter</div> |
| </li> |
| </ul> |
| <a id="testMultipleFiltersFactoredOutWithOuterFilter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testMultipleFiltersFactoredOutWithOuterFilter</h4> |
| <pre class="methodSignature">public void testMultipleFiltersFactoredOutWithOuterFilter()</pre> |
| <div class="block">Test to ensure that multiple aggregates with the same filter clause have them factored |
| out in the presence of an outer filter, and that they no longer refer to those filters</div> |
| </li> |
| </ul> |
| <a id="testOuterFilterFalseAfterFactorSimplification()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testOuterFilterFalseAfterFactorSimplification</h4> |
| <pre class="methodSignature">public void testOuterFilterFalseAfterFactorSimplification()</pre> |
| <div class="block">Tests that when the resulting filter from factoring filter clauses out is always false, |
| that they are still pushed to Druid to handle.</div> |
| </li> |
| </ul> |
| <a id="testFilterClauseNotPushable()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterClauseNotPushable</h4> |
| <pre class="methodSignature">public void testFilterClauseNotPushable()</pre> |
| <div class="block">Test to ensure that aggregates with filter clauses that Druid cannot handle are not pushed in |
| as filtered aggregates.</div> |
| </li> |
| </ul> |
| <a id="testFilterClauseWithMetricRef()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterClauseWithMetricRef</h4> |
| <pre class="methodSignature">public void testFilterClauseWithMetricRef()</pre> |
| </li> |
| </ul> |
| <a id="testFilterClauseWithMetricRefAndAggregates()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterClauseWithMetricRefAndAggregates</h4> |
| <pre class="methodSignature">public void testFilterClauseWithMetricRefAndAggregates()</pre> |
| </li> |
| </ul> |
| <a id="testFilterClauseWithMetricAndTimeAndAggregates()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterClauseWithMetricAndTimeAndAggregates</h4> |
| <pre class="methodSignature">public void testFilterClauseWithMetricAndTimeAndAggregates()</pre> |
| </li> |
| </ul> |
| <a id="testNestedFilterClauseFactored()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testNestedFilterClauseFactored</h4> |
| <pre class="methodSignature">public void testNestedFilterClauseFactored()</pre> |
| <div class="block">Test to ensure that an aggregate with a nested filter clause has it's filter factored out</div> |
| </li> |
| </ul> |
| <a id="testNestedFilterClauseInAggregates()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testNestedFilterClauseInAggregates</h4> |
| <pre class="methodSignature">public void testNestedFilterClauseInAggregates()</pre> |
| <div class="block">Test to ensure that aggregates with nested filters have their filters factored out |
| into the outer filter for data pruning while still holding a reference to the filter clause</div> |
| </li> |
| </ul> |
| <a id="testCountWithNonNull()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testCountWithNonNull</h4> |
| <pre class="methodSignature">public void testCountWithNonNull()</pre> |
| </li> |
| </ul> |
| <a id="testNotFilterForm()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testNotFilterForm</h4> |
| <pre class="methodSignature">public void testNotFilterForm()</pre> |
| <div class="block">Test to make sure the "not" filter has only 1 field, rather than an array of fields.</div> |
| </li> |
| </ul> |
| <a id="testDistinctCountWhenApproxResultsAccepted()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testDistinctCountWhenApproxResultsAccepted</h4> |
| <pre class="methodSignature">public void testDistinctCountWhenApproxResultsAccepted()</pre> |
| <div class="block">Test to ensure that count(distinct ...) gets pushed to Druid when approximate results are |
| acceptable</div> |
| </li> |
| </ul> |
| <a id="testDistinctCountWhenApproxResultsNotAccepted()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testDistinctCountWhenApproxResultsNotAccepted</h4> |
| <pre class="methodSignature">public void testDistinctCountWhenApproxResultsNotAccepted()</pre> |
| <div class="block">Test to ensure that count(distinct ...) doesn't get pushed to Druid when approximate results |
| are not acceptable</div> |
| </li> |
| </ul> |
| <a id="testDistinctCountOnMetric()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testDistinctCountOnMetric</h4> |
| <pre class="methodSignature">public void testDistinctCountOnMetric()</pre> |
| </li> |
| </ul> |
| <a id="testCountOnMetric()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testCountOnMetric</h4> |
| <pre class="methodSignature">public void testCountOnMetric()</pre> |
| <div class="block">Test to ensure that a count on a metric does not get pushed into Druid</div> |
| </li> |
| </ul> |
| <a id="testCountStar()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testCountStar</h4> |
| <pre class="methodSignature">public void testCountStar()</pre> |
| <div class="block">Test to ensure that count(*) is pushed into Druid</div> |
| </li> |
| </ul> |
| <a id="testCountOnMetricRenamed()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testCountOnMetricRenamed</h4> |
| <pre class="methodSignature">public void testCountOnMetricRenamed()</pre> |
| </li> |
| </ul> |
| <a id="testDistinctCountOnMetricRenamed()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testDistinctCountOnMetricRenamed</h4> |
| <pre class="methodSignature">public void testDistinctCountOnMetricRenamed()</pre> |
| </li> |
| </ul> |
| <a id="testCountWithApproxDistinct(boolean,java.lang.String,java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testCountWithApproxDistinct</h4> |
| <pre class="methodSignature">private void testCountWithApproxDistinct​(boolean approx, |
| java.lang.String sql, |
| java.lang.String expectedExplain)</pre> |
| </li> |
| </ul> |
| <a id="testCountWithApproxDistinct(boolean,java.lang.String,java.lang.String,java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testCountWithApproxDistinct</h4> |
| <pre class="methodSignature">private void testCountWithApproxDistinct​(boolean approx, |
| java.lang.String sql, |
| java.lang.String expectedExplain, |
| java.lang.String expectedDruidQuery)</pre> |
| </li> |
| </ul> |
| <a id="testComplexMetricAlsoDimension()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testComplexMetricAlsoDimension</h4> |
| <pre class="methodSignature">public void testComplexMetricAlsoDimension()</pre> |
| <div class="block">Test to make sure that if a complex metric is also a dimension, then |
| <code>DruidTable</code> should allow it to be used like any other |
| column.</div> |
| </li> |
| </ul> |
| <a id="testTableMapReused()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testTableMapReused</h4> |
| <pre class="methodSignature">public void testTableMapReused()</pre> |
| <div class="block">Test to make sure that the mapping from a Table name to a Table returned from |
| <code>DruidSchema</code> is always the same Java object.</div> |
| </li> |
| </ul> |
| <a id="testPushEqualsCastDimension()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushEqualsCastDimension</h4> |
| <pre class="methodSignature">public void testPushEqualsCastDimension()</pre> |
| </li> |
| </ul> |
| <a id="testPushNotEqualsCastDimension()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushNotEqualsCastDimension</h4> |
| <pre class="methodSignature">public void testPushNotEqualsCastDimension()</pre> |
| </li> |
| </ul> |
| <a id="testIsNull()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testIsNull</h4> |
| <pre class="methodSignature">public void testIsNull()</pre> |
| </li> |
| </ul> |
| <a id="testIsNotNull()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testIsNotNull</h4> |
| <pre class="methodSignature">public void testIsNotNull()</pre> |
| </li> |
| </ul> |
| <a id="testFilterWithFloorOnTime()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterWithFloorOnTime</h4> |
| <pre class="methodSignature">public void testFilterWithFloorOnTime()</pre> |
| </li> |
| </ul> |
| <a id="testSelectFloorOnTimeWithFilterOnFloorOnTime()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testSelectFloorOnTimeWithFilterOnFloorOnTime</h4> |
| <pre class="methodSignature">public void testSelectFloorOnTimeWithFilterOnFloorOnTime()</pre> |
| </li> |
| </ul> |
| <a id="testTimeWithFilterOnFloorOnTimeAndCastToTimestamp()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testTimeWithFilterOnFloorOnTimeAndCastToTimestamp</h4> |
| <pre class="methodSignature">public void testTimeWithFilterOnFloorOnTimeAndCastToTimestamp()</pre> |
| </li> |
| </ul> |
| <a id="testCombinationOfValidAndNotValidAndInterval()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testCombinationOfValidAndNotValidAndInterval</h4> |
| <pre class="methodSignature">public void testCombinationOfValidAndNotValidAndInterval()</pre> |
| <div class="block">Test case for |
| <a href="https://issues.apache.org/jira/browse/CALCITE-2122">[CALCITE-2122] |
| DateRangeRules issues</a>.</div> |
| </li> |
| </ul> |
| <a id="testFloorToDateRangeWithTimeZone()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFloorToDateRangeWithTimeZone</h4> |
| <pre class="methodSignature">public void testFloorToDateRangeWithTimeZone()</pre> |
| </li> |
| </ul> |
| <a id="testExpressionsFilter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExpressionsFilter</h4> |
| <pre class="methodSignature">public void testExpressionsFilter()</pre> |
| </li> |
| </ul> |
| <a id="testExpressionsFilter2()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExpressionsFilter2</h4> |
| <pre class="methodSignature">public void testExpressionsFilter2()</pre> |
| </li> |
| </ul> |
| <a id="testExpressionsLikeFilter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExpressionsLikeFilter</h4> |
| <pre class="methodSignature">public void testExpressionsLikeFilter()</pre> |
| </li> |
| </ul> |
| <a id="testExpressionsSTRLENFilter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExpressionsSTRLENFilter</h4> |
| <pre class="methodSignature">public void testExpressionsSTRLENFilter()</pre> |
| </li> |
| </ul> |
| <a id="testExpressionsUpperLowerFilter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExpressionsUpperLowerFilter</h4> |
| <pre class="methodSignature">public void testExpressionsUpperLowerFilter()</pre> |
| </li> |
| </ul> |
| <a id="testExpressionsLowerUpperFilter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExpressionsLowerUpperFilter</h4> |
| <pre class="methodSignature">public void testExpressionsLowerUpperFilter()</pre> |
| </li> |
| </ul> |
| <a id="testExpressionsLowerFilterNotMatching()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExpressionsLowerFilterNotMatching</h4> |
| <pre class="methodSignature">public void testExpressionsLowerFilterNotMatching()</pre> |
| </li> |
| </ul> |
| <a id="testExpressionsLowerFilterMatching()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExpressionsLowerFilterMatching</h4> |
| <pre class="methodSignature">public void testExpressionsLowerFilterMatching()</pre> |
| </li> |
| </ul> |
| <a id="testExpressionsUpperFilterNotMatching()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExpressionsUpperFilterNotMatching</h4> |
| <pre class="methodSignature">public void testExpressionsUpperFilterNotMatching()</pre> |
| </li> |
| </ul> |
| <a id="testExpressionsUpperFilterMatching()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExpressionsUpperFilterMatching</h4> |
| <pre class="methodSignature">public void testExpressionsUpperFilterMatching()</pre> |
| </li> |
| </ul> |
| <a id="testExpressionsConcatFilter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExpressionsConcatFilter</h4> |
| <pre class="methodSignature">public void testExpressionsConcatFilter()</pre> |
| </li> |
| </ul> |
| <a id="testExpressionsNotNull()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExpressionsNotNull</h4> |
| <pre class="methodSignature">public void testExpressionsNotNull()</pre> |
| </li> |
| </ul> |
| <a id="testComplexExpressionsIsNull()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testComplexExpressionsIsNull</h4> |
| <pre class="methodSignature">public void testComplexExpressionsIsNull()</pre> |
| </li> |
| </ul> |
| <a id="testExpressionsConcatFilterMultipleColumns()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExpressionsConcatFilterMultipleColumns</h4> |
| <pre class="methodSignature">public void testExpressionsConcatFilterMultipleColumns()</pre> |
| </li> |
| </ul> |
| <a id="testAndCombinationOfExpAndSimpleFilter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testAndCombinationOfExpAndSimpleFilter</h4> |
| <pre class="methodSignature">public void testAndCombinationOfExpAndSimpleFilter()</pre> |
| </li> |
| </ul> |
| <a id="testOrCombinationOfExpAndSimpleFilter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testOrCombinationOfExpAndSimpleFilter</h4> |
| <pre class="methodSignature">public void testOrCombinationOfExpAndSimpleFilter()</pre> |
| </li> |
| </ul> |
| <a id="testColumnAEqColumnB()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testColumnAEqColumnB</h4> |
| <pre class="methodSignature">public void testColumnAEqColumnB()</pre> |
| </li> |
| </ul> |
| <a id="testColumnANotEqColumnB()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testColumnANotEqColumnB</h4> |
| <pre class="methodSignature">public void testColumnANotEqColumnB()</pre> |
| </li> |
| </ul> |
| <a id="testAndCombinationOfComplexExpAndSimpleFilter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testAndCombinationOfComplexExpAndSimpleFilter</h4> |
| <pre class="methodSignature">public void testAndCombinationOfComplexExpAndSimpleFilter()</pre> |
| </li> |
| </ul> |
| <a id="testExpressionsFilterWithCast()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExpressionsFilterWithCast</h4> |
| <pre class="methodSignature">public void testExpressionsFilterWithCast()</pre> |
| </li> |
| </ul> |
| <a id="testExpressionsFilterWithCastTimeToDateToChar()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExpressionsFilterWithCastTimeToDateToChar</h4> |
| <pre class="methodSignature">public void testExpressionsFilterWithCastTimeToDateToChar()</pre> |
| </li> |
| </ul> |
| <a id="testExpressionsFilterWithExtract()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExpressionsFilterWithExtract</h4> |
| <pre class="methodSignature">public void testExpressionsFilterWithExtract()</pre> |
| </li> |
| </ul> |
| <a id="testExtractYearFilterExpression()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExtractYearFilterExpression</h4> |
| <pre class="methodSignature">public void testExtractYearFilterExpression()</pre> |
| </li> |
| </ul> |
| <a id="testExtractMonthFilterExpression()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExtractMonthFilterExpression</h4> |
| <pre class="methodSignature">public void testExtractMonthFilterExpression()</pre> |
| </li> |
| </ul> |
| <a id="testTimeFloorExpressions()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testTimeFloorExpressions</h4> |
| <pre class="methodSignature">public void testTimeFloorExpressions()</pre> |
| </li> |
| </ul> |
| <a id="testDruidTimeFloorAndTimeParseExpressions()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testDruidTimeFloorAndTimeParseExpressions</h4> |
| <pre class="methodSignature">public void testDruidTimeFloorAndTimeParseExpressions()</pre> |
| </li> |
| </ul> |
| <a id="testDruidTimeFloorAndTimeParseExpressions2()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testDruidTimeFloorAndTimeParseExpressions2</h4> |
| <pre class="methodSignature">public void testDruidTimeFloorAndTimeParseExpressions2()</pre> |
| </li> |
| </ul> |
| <a id="testFilterFloorOnMetricColumn()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterFloorOnMetricColumn</h4> |
| <pre class="methodSignature">public void testFilterFloorOnMetricColumn()</pre> |
| </li> |
| </ul> |
| <a id="testExpressionFilterSimpleColumnAEqColumnB()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExpressionFilterSimpleColumnAEqColumnB</h4> |
| <pre class="methodSignature">public void testExpressionFilterSimpleColumnAEqColumnB()</pre> |
| </li> |
| </ul> |
| <a id="testCastPlusMathOps()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testCastPlusMathOps</h4> |
| <pre class="methodSignature">public void testCastPlusMathOps()</pre> |
| </li> |
| </ul> |
| <a id="testBooleanFilterExpressions()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testBooleanFilterExpressions</h4> |
| <pre class="methodSignature">public void testBooleanFilterExpressions()</pre> |
| </li> |
| </ul> |
| <a id="testCombinationOfValidAndNotValidFilters()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testCombinationOfValidAndNotValidFilters</h4> |
| <pre class="methodSignature">public void testCombinationOfValidAndNotValidFilters()</pre> |
| </li> |
| </ul> |
| <a id="testCeilFilterExpression()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testCeilFilterExpression</h4> |
| <pre class="methodSignature">public void testCeilFilterExpression()</pre> |
| </li> |
| </ul> |
| <a id="testSubStringExpressionFilter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testSubStringExpressionFilter</h4> |
| <pre class="methodSignature">public void testSubStringExpressionFilter()</pre> |
| </li> |
| </ul> |
| <a id="testSubStringWithNonConstantIndexes()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testSubStringWithNonConstantIndexes</h4> |
| <pre class="methodSignature">public void testSubStringWithNonConstantIndexes()</pre> |
| </li> |
| </ul> |
| <a id="testSubStringWithNonConstantIndex()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testSubStringWithNonConstantIndex</h4> |
| <pre class="methodSignature">public void testSubStringWithNonConstantIndex()</pre> |
| </li> |
| </ul> |
| <a id="testFilterClauseWithNoConjunction()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFilterClauseWithNoConjunction</h4> |
| <pre class="methodSignature">public void testFilterClauseWithNoConjunction()</pre> |
| <div class="block">Test case for https://issues.apache.org/jira/browse/CALCITE-2098. |
| Need to make sure that when there we have a valid filter with no conjunction we still push |
| all the valid filters.</div> |
| </li> |
| </ul> |
| <a id="testBetweenFilterWithCastOverNumeric()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testBetweenFilterWithCastOverNumeric</h4> |
| <pre class="methodSignature">public void testBetweenFilterWithCastOverNumeric()</pre> |
| <div class="block">Test case for https://issues.apache.org/jira/browse/CALCITE-2123</div> |
| </li> |
| </ul> |
| <a id="testTrigonometryMathFunctions()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testTrigonometryMathFunctions</h4> |
| <pre class="methodSignature">public void testTrigonometryMathFunctions()</pre> |
| </li> |
| </ul> |
| <a id="testCastLiteralToTimestamp()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testCastLiteralToTimestamp</h4> |
| <pre class="methodSignature">public void testCastLiteralToTimestamp()</pre> |
| </li> |
| </ul> |
| <a id="testNotTrueSimpleFilter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testNotTrueSimpleFilter</h4> |
| <pre class="methodSignature">public void testNotTrueSimpleFilter()</pre> |
| </li> |
| </ul> |
| <a id="testPushOfSimpleMathOps()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushOfSimpleMathOps</h4> |
| <pre class="methodSignature">public void testPushOfSimpleMathOps()</pre> |
| </li> |
| </ul> |
| <a id="testPushOfSimpleColumnAPlusColumnB()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testPushOfSimpleColumnAPlusColumnB</h4> |
| <pre class="methodSignature">public void testPushOfSimpleColumnAPlusColumnB()</pre> |
| </li> |
| </ul> |
| <a id="testSelectExtractMonth()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testSelectExtractMonth</h4> |
| <pre class="methodSignature">public void testSelectExtractMonth()</pre> |
| </li> |
| </ul> |
| <a id="testAggOnArithmeticProject()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testAggOnArithmeticProject</h4> |
| <pre class="methodSignature">public void testAggOnArithmeticProject()</pre> |
| </li> |
| </ul> |
| <a id="testAggOnArithmeticProject2()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testAggOnArithmeticProject2</h4> |
| <pre class="methodSignature">public void testAggOnArithmeticProject2()</pre> |
| </li> |
| </ul> |
| <a id="testAggOnArithmeticProject3()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testAggOnArithmeticProject3</h4> |
| <pre class="methodSignature">public void testAggOnArithmeticProject3()</pre> |
| </li> |
| </ul> |
| <a id="testGroupByVirtualColumn()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupByVirtualColumn</h4> |
| <pre class="methodSignature">public void testGroupByVirtualColumn()</pre> |
| </li> |
| </ul> |
| <a id="testCountOverVirtualColumn()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testCountOverVirtualColumn</h4> |
| <pre class="methodSignature">public void testCountOverVirtualColumn()</pre> |
| </li> |
| </ul> |
| <a id="testAggOverStringToLong()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testAggOverStringToLong</h4> |
| <pre class="methodSignature">public void testAggOverStringToLong()</pre> |
| </li> |
| </ul> |
| <a id="testAggOnTimeExtractColumn2()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testAggOnTimeExtractColumn2</h4> |
| <pre class="methodSignature">public void testAggOnTimeExtractColumn2()</pre> |
| </li> |
| </ul> |
| <a id="testStackedAggregateFilters()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testStackedAggregateFilters</h4> |
| <pre class="methodSignature">public void testStackedAggregateFilters()</pre> |
| </li> |
| </ul> |
| <a id="testCastOverPostAggregates()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testCastOverPostAggregates</h4> |
| <pre class="methodSignature">public void testCastOverPostAggregates()</pre> |
| </li> |
| </ul> |
| <a id="testSubStringOverPostAggregates()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testSubStringOverPostAggregates</h4> |
| <pre class="methodSignature">public void testSubStringOverPostAggregates()</pre> |
| </li> |
| </ul> |
| <a id="testTableQueryExtractYearQuarter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testTableQueryExtractYearQuarter</h4> |
| <pre class="methodSignature">public void testTableQueryExtractYearQuarter()</pre> |
| </li> |
| </ul> |
| <a id="testTableauQueryExtractMonthDayYear()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testTableauQueryExtractMonthDayYear</h4> |
| <pre class="methodSignature">public void testTableauQueryExtractMonthDayYear()</pre> |
| </li> |
| </ul> |
| <a id="testTableauQuerySubStringHourMinutes()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testTableauQuerySubStringHourMinutes</h4> |
| <pre class="methodSignature">public void testTableauQuerySubStringHourMinutes()</pre> |
| </li> |
| </ul> |
| <a id="testTableauQueryMinutesSecondsExtract()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testTableauQueryMinutesSecondsExtract</h4> |
| <pre class="methodSignature">public void testTableauQueryMinutesSecondsExtract()</pre> |
| </li> |
| </ul> |
| <a id="testCastConcatOverPostAggregates()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testCastConcatOverPostAggregates</h4> |
| <pre class="methodSignature">public void testCastConcatOverPostAggregates()</pre> |
| </li> |
| </ul> |
| <a id="testHavingSpecs()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testHavingSpecs</h4> |
| <pre class="methodSignature">public void testHavingSpecs()</pre> |
| </li> |
| </ul> |
| <a id="testTransposableHavingFilter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testTransposableHavingFilter</h4> |
| <pre class="methodSignature">public void testTransposableHavingFilter()</pre> |
| </li> |
| </ul> |
| <a id="testProjectSameColumnMultipleTimes()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testProjectSameColumnMultipleTimes</h4> |
| <pre class="methodSignature">public void testProjectSameColumnMultipleTimes()</pre> |
| </li> |
| </ul> |
| <a id="testProjectSameMetricsColumnMultipleTimes()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testProjectSameMetricsColumnMultipleTimes</h4> |
| <pre class="methodSignature">public void testProjectSameMetricsColumnMultipleTimes()</pre> |
| </li> |
| </ul> |
| <a id="testAggSameColumnMultipleTimes()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testAggSameColumnMultipleTimes</h4> |
| <pre class="methodSignature">public void testAggSameColumnMultipleTimes()</pre> |
| </li> |
| </ul> |
| <a id="testGroupBy1()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testGroupBy1</h4> |
| <pre class="methodSignature">public void testGroupBy1()</pre> |
| </li> |
| </ul> |
| <a id="testFloorQuarter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFloorQuarter</h4> |
| <pre class="methodSignature">public void testFloorQuarter()</pre> |
| </li> |
| </ul> |
| <a id="testFloorQuarterPlusDim()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testFloorQuarterPlusDim</h4> |
| <pre class="methodSignature">public void testFloorQuarterPlusDim()</pre> |
| </li> |
| </ul> |
| <a id="testExtractQuarterPlusDim()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExtractQuarterPlusDim</h4> |
| <pre class="methodSignature">public void testExtractQuarterPlusDim()</pre> |
| </li> |
| </ul> |
| <a id="testExtractQuarter()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testExtractQuarter</h4> |
| <pre class="methodSignature">public void testExtractQuarter()</pre> |
| </li> |
| </ul> |
| <a id="testCastTimestamp1()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>testCastTimestamp1</h4> |
| <pre class="methodSignature">public void testCastTimestamp1()</pre> |
| </li> |
| </ul> |
| <a id="testCastTimestamp2()"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>testCastTimestamp2</h4> |
| <pre class="methodSignature">public void testCastTimestamp2()</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/DruidAdapter2IT.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>Nested | </li> |
| <li><a href="#field.summary">Field</a> | </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><a href="#field.detail">Field</a> | </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> |