<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>SqlTester (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="SqlTester (Calcite 1.21.0 Test API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/SqlTester.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.sql.test</a></div>
<h2 title="Interface SqlTester" class="title">Interface SqlTester</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code>java.lang.AutoCloseable</code>, <code><a href="../../test/SqlValidatorTestCase.Tester.html" title="interface in org.apache.calcite.test">SqlValidatorTestCase.Tester</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="AbstractSqlTester.html" title="class in org.apache.calcite.sql.test">AbstractSqlTester</a></code>, <code><a href="SqlOperatorBaseTest.TesterImpl.html" title="class in org.apache.calcite.sql.test">SqlOperatorBaseTest.TesterImpl</a></code>, <code><a href="SqlRuntimeTester.html" title="class in org.apache.calcite.sql.test">SqlRuntimeTester</a></code>, <code><a href="SqlValidatorTester.html" title="class in org.apache.calcite.sql.test">SqlValidatorTester</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">SqlTester</span>
extends java.lang.AutoCloseable, <a href="../../test/SqlValidatorTestCase.Tester.html" title="interface in org.apache.calcite.test">SqlValidatorTestCase.Tester</a></pre>
<div class="block">SqlTester defines a callback for testing SQL queries and expressions.

 <p>The idea is that when you define an operator (or another piece of SQL
 functionality), you can define the logical behavior of that operator once, as
 part of that operator. Later you can define one or more physical
 implementations of that operator, and test them all using the same set of
 tests.

 <p>Specific implementations of <code>SqlTester</code> might evaluate the
 queries in different ways, for example, using a C++ versus Java calculator.
 An implementation might even ignore certain calls altogether.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlTester.ParameterChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.ParameterChecker</a></span></code></th>
<td class="colLast">
<div class="block">Parameter checker.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlTester.ResultChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.ResultChecker</a></span></code></th>
<td class="colLast">
<div class="block">Result checker.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlTester.TypeChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.TypeChecker</a></span></code></th>
<td class="colLast">
<div class="block">Type checker.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlTester.VmName.html" title="enum in org.apache.calcite.sql.test">SqlTester.VmName</a></span></code></th>
<td class="colLast">
<div class="block">Name of a virtual machine that can potentially implement an operator.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#check(java.lang.String,org.apache.calcite.sql.test.SqlTester.TypeChecker,java.lang.Object,double)">check</a></span>&#8203;(java.lang.String&nbsp;query,
     <a href="SqlTester.TypeChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.TypeChecker</a>&nbsp;typeChecker,
     java.lang.Object&nbsp;result,
     double&nbsp;delta)</code></th>
<td class="colLast">
<div class="block">Tests that a SQL query returns a single column with the given type.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#check(java.lang.String,org.apache.calcite.sql.test.SqlTester.TypeChecker,org.apache.calcite.sql.test.SqlTester.ParameterChecker,org.apache.calcite.sql.test.SqlTester.ResultChecker)">check</a></span>&#8203;(java.lang.String&nbsp;query,
     <a href="SqlTester.TypeChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.TypeChecker</a>&nbsp;typeChecker,
     <a href="SqlTester.ParameterChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.ParameterChecker</a>&nbsp;parameterChecker,
     <a href="SqlTester.ResultChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.ResultChecker</a>&nbsp;resultChecker)</code></th>
<td class="colLast">
<div class="block">Tests that a SQL query returns a result of expected type and value.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkAgg(java.lang.String,java.lang.String%5B%5D,java.lang.Object,double)">checkAgg</a></span>&#8203;(java.lang.String&nbsp;expr,
        java.lang.String[]&nbsp;inputValues,
        java.lang.Object&nbsp;result,
        double&nbsp;delta)</code></th>
<td class="colLast">
<div class="block">Checks that an aggregate expression returns the expected result.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkAggWithMultipleArgs(java.lang.String,java.lang.String%5B%5D%5B%5D,java.lang.Object,double)">checkAggWithMultipleArgs</a></span>&#8203;(java.lang.String&nbsp;expr,
                        java.lang.String[][]&nbsp;inputValues,
                        java.lang.Object&nbsp;result,
                        double&nbsp;delta)</code></th>
<td class="colLast">
<div class="block">Checks that an aggregate expression with multiple args returns the expected
 result.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkBoolean(java.lang.String,java.lang.Boolean)">checkBoolean</a></span>&#8203;(java.lang.String&nbsp;expression,
            java.lang.Boolean&nbsp;result)</code></th>
<td class="colLast">
<div class="block">Tests that a scalar SQL expression returns the expected boolean result.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkColumnType(java.lang.String,java.lang.String)">checkColumnType</a></span>&#8203;(java.lang.String&nbsp;sql,
               java.lang.String&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Checks that a query returns one column of an expected type.</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="#checkFails(java.lang.String,java.lang.String,boolean)">checkFails</a></span>&#8203;(java.lang.String&nbsp;expression,
          java.lang.String&nbsp;expectedError,
          boolean&nbsp;runtime)</code></th>
<td class="colLast">
<div class="block">Tests that a scalar SQL expression fails at run time.</div>
</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="#checkMonotonic(java.lang.String,org.apache.calcite.sql.validate.SqlMonotonicity)">checkMonotonic</a></span>&#8203;(java.lang.String&nbsp;query,
              org.apache.calcite.sql.validate.SqlMonotonicity&nbsp;expectedMonotonicity)</code></th>
<td class="colLast">
<div class="block">Tests that the first column of a SQL query has a given monotonicity.</div>
</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="#checkNull(java.lang.String)">checkNull</a></span>&#8203;(java.lang.String&nbsp;expression)</code></th>
<td class="colLast">
<div class="block">Tests that a SQL expression returns the SQL NULL value.</div>
</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="#checkQuery(java.lang.String)">checkQuery</a></span>&#8203;(java.lang.String&nbsp;sql)</code></th>
<td class="colLast">
<div class="block">Tests that a SQL query succeeds at prepare time.</div>
</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="#checkQueryFails(java.lang.String,java.lang.String)">checkQueryFails</a></span>&#8203;(java.lang.String&nbsp;sql,
               java.lang.String&nbsp;expectedError)</code></th>
<td class="colLast">
<div class="block">Tests that a SQL query fails at prepare time.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkScalar(java.lang.String,java.lang.Object,java.lang.String)">checkScalar</a></span>&#8203;(java.lang.String&nbsp;expression,
           java.lang.Object&nbsp;result,
           java.lang.String&nbsp;resultType)</code></th>
<td class="colLast">
<div class="block">Tests that a scalar SQL expression returns the expected result and the
 expected type.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkScalarApprox(java.lang.String,java.lang.String,double,double)">checkScalarApprox</a></span>&#8203;(java.lang.String&nbsp;expression,
                 java.lang.String&nbsp;expectedType,
                 double&nbsp;expectedResult,
                 double&nbsp;delta)</code></th>
<td class="colLast">
<div class="block">Tests that a scalar SQL expression returns expected appoximate numeric
 result.</div>
</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="#checkScalarExact(java.lang.String,java.lang.String)">checkScalarExact</a></span>&#8203;(java.lang.String&nbsp;expression,
                java.lang.String&nbsp;result)</code></th>
<td class="colLast">
<div class="block">Tests that a scalar SQL expression returns the expected exact numeric
 result as an integer.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkScalarExact(java.lang.String,java.lang.String,java.lang.String)">checkScalarExact</a></span>&#8203;(java.lang.String&nbsp;expression,
                java.lang.String&nbsp;expectedType,
                java.lang.String&nbsp;result)</code></th>
<td class="colLast">
<div class="block">Tests that a scalar SQL expression returns the expected exact numeric
 result.</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="#checkString(java.lang.String,java.lang.String,java.lang.String)">checkString</a></span>&#8203;(java.lang.String&nbsp;expression,
           java.lang.String&nbsp;result,
           java.lang.String&nbsp;resultType)</code></th>
<td class="colLast">
<div class="block">Tests that a scalar SQL expression returns the expected string result.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkType(java.lang.String,java.lang.String)">checkType</a></span>&#8203;(java.lang.String&nbsp;expression,
         java.lang.String&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Tests that a SQL expression has a given type.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkWinAgg(java.lang.String,java.lang.String%5B%5D,java.lang.String,java.lang.String,java.lang.Object,double)">checkWinAgg</a></span>&#8203;(java.lang.String&nbsp;expr,
           java.lang.String[]&nbsp;inputValues,
           java.lang.String&nbsp;windowSpec,
           java.lang.String&nbsp;type,
           java.lang.Object&nbsp;result,
           double&nbsp;delta)</code></th>
<td class="colLast">
<div class="block">Checks that a windowed aggregate expression returns the expected result.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#enableTypeCoercion(boolean)">enableTypeCoercion</a></span>&#8203;(boolean&nbsp;enabled)</code></th>
<td class="colLast">
<div class="block">Returns a tester that tests with implicit type coercion on/off.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="SqlTestFactory.html" title="class in org.apache.calcite.sql.test">SqlTestFactory</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFactory()">getFactory</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setFor(org.apache.calcite.sql.SqlOperator,org.apache.calcite.sql.test.SqlTester.VmName...)">setFor</a></span>&#8203;(org.apache.calcite.sql.SqlOperator&nbsp;operator,
      <a href="SqlTester.VmName.html" title="enum in org.apache.calcite.sql.test">SqlTester.VmName</a>...&nbsp;unimplementedVmNames)</code></th>
<td class="colLast">
<div class="block">Declares that this test is for a given operator.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withCaseSensitive(boolean)">withCaseSensitive</a></span>&#8203;(boolean&nbsp;sensitive)</code></th>
<td class="colLast">
<div class="block">Returns a tester that matches identifiers by case-sensitive or
 case-insensitive.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withConformance(org.apache.calcite.sql.validate.SqlConformance)">withConformance</a></span>&#8203;(org.apache.calcite.sql.validate.SqlConformance&nbsp;conformance)</code></th>
<td class="colLast">
<div class="block">Returns a tester that tests conformance to a particular SQL language
 version.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withConnectionFactory(org.apache.calcite.test.CalciteAssert.ConnectionFactory)">withConnectionFactory</a></span>&#8203;(<a href="../../test/CalciteAssert.ConnectionFactory.html" title="class in org.apache.calcite.test">CalciteAssert.ConnectionFactory</a>&nbsp;connectionFactory)</code></th>
<td class="colLast">
<div class="block">Returns a tester that gets connections from a given factory.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withLex(org.apache.calcite.config.Lex)">withLex</a></span>&#8203;(org.apache.calcite.config.Lex&nbsp;lex)</code></th>
<td class="colLast">
<div class="block">Returns a tester that follows a lex policy.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withOperatorTable(org.apache.calcite.sql.SqlOperatorTable)">withOperatorTable</a></span>&#8203;(org.apache.calcite.sql.SqlOperatorTable&nbsp;operatorTable)</code></th>
<td class="colLast">
<div class="block">Returns a tester that uses a given operator table.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withQuotedCasing(org.apache.calcite.avatica.util.Casing)">withQuotedCasing</a></span>&#8203;(org.apache.calcite.avatica.util.Casing&nbsp;casing)</code></th>
<td class="colLast">
<div class="block">Returns a tester that applies a given casing policy to quoted
 identifiers.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withQuoting(org.apache.calcite.avatica.util.Quoting)">withQuoting</a></span>&#8203;(org.apache.calcite.avatica.util.Quoting&nbsp;quoting)</code></th>
<td class="colLast">
<div class="block">Returns a tester that tests a given SQL quoting style.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withUnquotedCasing(org.apache.calcite.avatica.util.Casing)">withUnquotedCasing</a></span>&#8203;(org.apache.calcite.avatica.util.Casing&nbsp;casing)</code></th>
<td class="colLast">
<div class="block">Returns a tester that applies a given casing policy to unquoted
 identifiers.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.AutoCloseable">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;java.lang.AutoCloseable</h3>
<code>close</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.calcite.test.SqlValidatorTestCase.Tester">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.calcite.test.<a href="../../test/SqlValidatorTestCase.Tester.html" title="interface in org.apache.calcite.test">SqlValidatorTestCase.Tester</a></h3>
<code><a href="../../test/SqlValidatorTestCase.Tester.html#assertExceptionIsThrown(java.lang.String,java.lang.String)">assertExceptionIsThrown</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#checkCharset(java.lang.String,java.nio.charset.Charset)">checkCharset</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#checkCollation(java.lang.String,java.lang.String,org.apache.calcite.sql.SqlCollation.Coercibility)">checkCollation</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#checkFieldOrigin(java.lang.String,java.lang.String)">checkFieldOrigin</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#checkIntervalConv(java.lang.String,java.lang.String)">checkIntervalConv</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#checkResultType(java.lang.String,java.lang.String)">checkResultType</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#checkRewrite(org.apache.calcite.sql.validate.SqlValidator,java.lang.String,java.lang.String)">checkRewrite</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#getColumnType(java.lang.String)">getColumnType</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#getConformance()">getConformance</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#getMonotonicity(java.lang.String)">getMonotonicity</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#getResultType(java.lang.String)">getResultType</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#getValidator()">getValidator</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#parseAndValidate(org.apache.calcite.sql.validate.SqlValidator,java.lang.String)">parseAndValidate</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#parseQuery(java.lang.String)">parseQuery</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="getFactory()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFactory</h4>
<pre class="methodSignature"><a href="SqlTestFactory.html" title="class in org.apache.calcite.sql.test">SqlTestFactory</a>&nbsp;getFactory()</pre>
</li>
</ul>
<a id="withQuoting(org.apache.calcite.avatica.util.Quoting)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withQuoting</h4>
<pre class="methodSignature"><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;withQuoting&#8203;(org.apache.calcite.avatica.util.Quoting&nbsp;quoting)</pre>
<div class="block">Returns a tester that tests a given SQL quoting style.</div>
</li>
</ul>
<a id="withQuotedCasing(org.apache.calcite.avatica.util.Casing)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withQuotedCasing</h4>
<pre class="methodSignature"><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;withQuotedCasing&#8203;(org.apache.calcite.avatica.util.Casing&nbsp;casing)</pre>
<div class="block">Returns a tester that applies a given casing policy to quoted
 identifiers.</div>
</li>
</ul>
<a id="withUnquotedCasing(org.apache.calcite.avatica.util.Casing)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withUnquotedCasing</h4>
<pre class="methodSignature"><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;withUnquotedCasing&#8203;(org.apache.calcite.avatica.util.Casing&nbsp;casing)</pre>
<div class="block">Returns a tester that applies a given casing policy to unquoted
 identifiers.</div>
</li>
</ul>
<a id="withCaseSensitive(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withCaseSensitive</h4>
<pre class="methodSignature"><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;withCaseSensitive&#8203;(boolean&nbsp;sensitive)</pre>
<div class="block">Returns a tester that matches identifiers by case-sensitive or
 case-insensitive.</div>
</li>
</ul>
<a id="withLex(org.apache.calcite.config.Lex)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withLex</h4>
<pre class="methodSignature"><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;withLex&#8203;(org.apache.calcite.config.Lex&nbsp;lex)</pre>
<div class="block">Returns a tester that follows a lex policy.</div>
</li>
</ul>
<a id="withConformance(org.apache.calcite.sql.validate.SqlConformance)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withConformance</h4>
<pre class="methodSignature"><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;withConformance&#8203;(org.apache.calcite.sql.validate.SqlConformance&nbsp;conformance)</pre>
<div class="block">Returns a tester that tests conformance to a particular SQL language
 version.</div>
</li>
</ul>
<a id="enableTypeCoercion(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enableTypeCoercion</h4>
<pre class="methodSignature"><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;enableTypeCoercion&#8203;(boolean&nbsp;enabled)</pre>
<div class="block">Returns a tester that tests with implicit type coercion on/off.</div>
</li>
</ul>
<a id="withConnectionFactory(org.apache.calcite.test.CalciteAssert.ConnectionFactory)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withConnectionFactory</h4>
<pre class="methodSignature"><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;withConnectionFactory&#8203;(<a href="../../test/CalciteAssert.ConnectionFactory.html" title="class in org.apache.calcite.test">CalciteAssert.ConnectionFactory</a>&nbsp;connectionFactory)</pre>
<div class="block">Returns a tester that gets connections from a given factory.</div>
</li>
</ul>
<a id="withOperatorTable(org.apache.calcite.sql.SqlOperatorTable)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withOperatorTable</h4>
<pre class="methodSignature"><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;withOperatorTable&#8203;(org.apache.calcite.sql.SqlOperatorTable&nbsp;operatorTable)</pre>
<div class="block">Returns a tester that uses a given operator table.</div>
</li>
</ul>
<a id="checkScalar(java.lang.String,java.lang.Object,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkScalar</h4>
<pre class="methodSignature">void&nbsp;checkScalar&#8203;(java.lang.String&nbsp;expression,
                 java.lang.Object&nbsp;result,
                 java.lang.String&nbsp;resultType)</pre>
<div class="block">Tests that a scalar SQL expression returns the expected result and the
 expected type. For example,

 <blockquote>
 <pre>checkScalar("1.1 + 2.9", "4.0", "DECIMAL(2, 1) NOT NULL");</pre>
 </blockquote></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - Scalar expression</dd>
<dd><code>result</code> - Expected result</dd>
<dd><code>resultType</code> - Expected result type</dd>
</dl>
</li>
</ul>
<a id="checkScalarExact(java.lang.String,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkScalarExact</h4>
<pre class="methodSignature">void&nbsp;checkScalarExact&#8203;(java.lang.String&nbsp;expression,
                      java.lang.String&nbsp;result)</pre>
<div class="block">Tests that a scalar SQL expression returns the expected exact numeric
 result as an integer. For example,

 <blockquote>
 <pre>checkScalarExact("1 + 2", "3");</pre>
 </blockquote></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - Scalar expression</dd>
<dd><code>result</code> - Expected result</dd>
</dl>
</li>
</ul>
<a id="checkScalarExact(java.lang.String,java.lang.String,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkScalarExact</h4>
<pre class="methodSignature">void&nbsp;checkScalarExact&#8203;(java.lang.String&nbsp;expression,
                      java.lang.String&nbsp;expectedType,
                      java.lang.String&nbsp;result)</pre>
<div class="block">Tests that a scalar SQL expression returns the expected exact numeric
 result. For example,

 <blockquote>
 <pre>checkScalarExact("1 + 2", "3");</pre>
 </blockquote></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - Scalar expression</dd>
<dd><code>expectedType</code> - Type we expect the result to have, including
                     nullability, precision and scale, for example
                     <code>DECIMAL(2, 1) NOT NULL</code>.</dd>
<dd><code>result</code> - Expected result</dd>
</dl>
</li>
</ul>
<a id="checkScalarApprox(java.lang.String,java.lang.String,double,double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkScalarApprox</h4>
<pre class="methodSignature">void&nbsp;checkScalarApprox&#8203;(java.lang.String&nbsp;expression,
                       java.lang.String&nbsp;expectedType,
                       double&nbsp;expectedResult,
                       double&nbsp;delta)</pre>
<div class="block">Tests that a scalar SQL expression returns expected appoximate numeric
 result. For example,

 <blockquote>
 <pre>checkScalarApprox("1.0 + 2.1", "3.1");</pre>
 </blockquote></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - Scalar expression</dd>
<dd><code>expectedType</code> - Type we expect the result to have, including
                       nullability, precision and scale, for example
                       <code>DECIMAL(2, 1) NOT NULL</code>.</dd>
<dd><code>expectedResult</code> - Expected result</dd>
<dd><code>delta</code> - Allowed margin of error between expected and actual
                       result</dd>
</dl>
</li>
</ul>
<a id="checkBoolean(java.lang.String,java.lang.Boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkBoolean</h4>
<pre class="methodSignature">void&nbsp;checkBoolean&#8203;(java.lang.String&nbsp;expression,
                  java.lang.Boolean&nbsp;result)</pre>
<div class="block">Tests that a scalar SQL expression returns the expected boolean result.
 For example,

 <blockquote>
 <pre>checkScalarExact("TRUE AND FALSE", Boolean.TRUE);</pre>
 </blockquote>

 <p>The expected result can be null:

 <blockquote>
 <pre>checkScalarExact("NOT UNKNOWN", null);</pre>
 </blockquote></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - Scalar expression</dd>
<dd><code>result</code> - Expected result (null signifies NULL).</dd>
</dl>
</li>
</ul>
<a id="checkString(java.lang.String,java.lang.String,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkString</h4>
<pre class="methodSignature">void&nbsp;checkString&#8203;(java.lang.String&nbsp;expression,
                 java.lang.String&nbsp;result,
                 java.lang.String&nbsp;resultType)</pre>
<div class="block">Tests that a scalar SQL expression returns the expected string result.
 For example,

 <blockquote>
 <pre>checkScalarExact("'ab' || 'c'", "abc");</pre>
 </blockquote></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - Scalar expression</dd>
<dd><code>result</code> - Expected result</dd>
<dd><code>resultType</code> - Expected result type</dd>
</dl>
</li>
</ul>
<a id="checkNull(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkNull</h4>
<pre class="methodSignature">void&nbsp;checkNull&#8203;(java.lang.String&nbsp;expression)</pre>
<div class="block">Tests that a SQL expression returns the SQL NULL value. For example,

 <blockquote>
 <pre>checkNull("CHAR_LENGTH(CAST(NULL AS VARCHAR(3))");</pre>
 </blockquote></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - Scalar expression</dd>
</dl>
</li>
</ul>
<a id="checkType(java.lang.String,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkType</h4>
<pre class="methodSignature">void&nbsp;checkType&#8203;(java.lang.String&nbsp;expression,
               java.lang.String&nbsp;type)</pre>
<div class="block">Tests that a SQL expression has a given type. For example,

 <blockquote>
 <code>checkType("SUBSTR('hello' FROM 1 FOR 3)",
 "VARCHAR(3) NOT NULL");</code>
 </blockquote>

 <p>This method checks length/precision, scale, and whether the type allows
 NULL values, so is more precise than the type-checking done by methods
 such as <a href="#checkScalarExact(java.lang.String,java.lang.String)"><code>checkScalarExact(java.lang.String, java.lang.String)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - Scalar expression</dd>
<dd><code>type</code> - Type string</dd>
</dl>
</li>
</ul>
<a id="checkColumnType(java.lang.String,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkColumnType</h4>
<pre class="methodSignature">void&nbsp;checkColumnType&#8203;(java.lang.String&nbsp;sql,
                     java.lang.String&nbsp;type)</pre>
<div class="block">Checks that a query returns one column of an expected type. For example,
 <code>checkType("VALUES (1 + 2)", "INTEGER NOT NULL")</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../test/SqlValidatorTestCase.Tester.html#checkColumnType(java.lang.String,java.lang.String)">checkColumnType</a></code>&nbsp;in interface&nbsp;<code><a href="../../test/SqlValidatorTestCase.Tester.html" title="interface in org.apache.calcite.test">SqlValidatorTestCase.Tester</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sql</code> - Query expression</dd>
<dd><code>type</code> - Type string</dd>
</dl>
</li>
</ul>
<a id="check(java.lang.String,org.apache.calcite.sql.test.SqlTester.TypeChecker,java.lang.Object,double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>check</h4>
<pre class="methodSignature">void&nbsp;check&#8203;(java.lang.String&nbsp;query,
           <a href="SqlTester.TypeChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.TypeChecker</a>&nbsp;typeChecker,
           java.lang.Object&nbsp;result,
           double&nbsp;delta)</pre>
<div class="block">Tests that a SQL query returns a single column with the given type. For
 example,

 <blockquote>
 <pre>check("VALUES (1 + 2)", "3", SqlTypeName.Integer);</pre>
 </blockquote>

 <p>If <code>result</code> is null, the expression must yield the SQL NULL
 value. If <code>result</code> is a <code>Pattern</code>, the
 result must match that pattern.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>query</code> - SQL query</dd>
<dd><code>typeChecker</code> - Checks whether the result is the expected type; must
                    not be null</dd>
<dd><code>result</code> - Expected result</dd>
<dd><code>delta</code> - The acceptable tolerance between the expected and actual</dd>
</dl>
</li>
</ul>
<a id="check(java.lang.String,org.apache.calcite.sql.test.SqlTester.TypeChecker,org.apache.calcite.sql.test.SqlTester.ParameterChecker,org.apache.calcite.sql.test.SqlTester.ResultChecker)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>check</h4>
<pre class="methodSignature">void&nbsp;check&#8203;(java.lang.String&nbsp;query,
           <a href="SqlTester.TypeChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.TypeChecker</a>&nbsp;typeChecker,
           <a href="SqlTester.ParameterChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.ParameterChecker</a>&nbsp;parameterChecker,
           <a href="SqlTester.ResultChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.ResultChecker</a>&nbsp;resultChecker)</pre>
<div class="block">Tests that a SQL query returns a result of expected type and value.
 Checking of type and value are abstracted using <a href="SqlTester.TypeChecker.html" title="interface in org.apache.calcite.sql.test"><code>SqlTester.TypeChecker</code></a>
 and <a href="SqlTester.ResultChecker.html" title="interface in org.apache.calcite.sql.test"><code>SqlTester.ResultChecker</code></a> functors.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>query</code> - SQL query</dd>
<dd><code>typeChecker</code> - Checks whether the result is the expected type; must
                      not be null</dd>
<dd><code>parameterChecker</code> - Checks whether the parameters are of expected
                      types</dd>
<dd><code>resultChecker</code> - Checks whether the result has the expected value;
                      must not be null</dd>
</dl>
</li>
</ul>
<a id="checkMonotonic(java.lang.String,org.apache.calcite.sql.validate.SqlMonotonicity)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkMonotonic</h4>
<pre class="methodSignature">void&nbsp;checkMonotonic&#8203;(java.lang.String&nbsp;query,
                    org.apache.calcite.sql.validate.SqlMonotonicity&nbsp;expectedMonotonicity)</pre>
<div class="block">Tests that the first column of a SQL query has a given monotonicity.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expectedMonotonicity</code> - Expected monotonicity</dd>
<dd><code>query</code> - SQL query</dd>
</dl>
</li>
</ul>
<a id="setFor(org.apache.calcite.sql.SqlOperator,org.apache.calcite.sql.test.SqlTester.VmName...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFor</h4>
<pre class="methodSignature">void&nbsp;setFor&#8203;(org.apache.calcite.sql.SqlOperator&nbsp;operator,
            <a href="SqlTester.VmName.html" title="enum in org.apache.calcite.sql.test">SqlTester.VmName</a>...&nbsp;unimplementedVmNames)</pre>
<div class="block">Declares that this test is for a given operator. So we can check that all
 operators are tested.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>operator</code> - Operator</dd>
<dd><code>unimplementedVmNames</code> - Names of virtual machines for which this</dd>
</dl>
</li>
</ul>
<a id="checkAgg(java.lang.String,java.lang.String[],java.lang.Object,double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkAgg</h4>
<pre class="methodSignature">void&nbsp;checkAgg&#8203;(java.lang.String&nbsp;expr,
              java.lang.String[]&nbsp;inputValues,
              java.lang.Object&nbsp;result,
              double&nbsp;delta)</pre>
<div class="block">Checks that an aggregate expression returns the expected result.

 <p>For example, <code>checkAgg("AVG(DISTINCT x)", new String[] {"2", "3",
 null, "3" }, new Double(2.5), 0);</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expr</code> - Aggregate expression, e.g. <code>SUM(DISTINCT x)</code></dd>
<dd><code>inputValues</code> - Array of input values, e.g. <code>["1", null,
                    "2"]</code>.</dd>
<dd><code>result</code> - Expected result</dd>
<dd><code>delta</code> - Allowable variance from expected result</dd>
</dl>
</li>
</ul>
<a id="checkAggWithMultipleArgs(java.lang.String,java.lang.String[][],java.lang.Object,double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkAggWithMultipleArgs</h4>
<pre class="methodSignature">void&nbsp;checkAggWithMultipleArgs&#8203;(java.lang.String&nbsp;expr,
                              java.lang.String[][]&nbsp;inputValues,
                              java.lang.Object&nbsp;result,
                              double&nbsp;delta)</pre>
<div class="block">Checks that an aggregate expression with multiple args returns the expected
 result.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expr</code> - Aggregate expression, e.g. <code>AGG_FUNC(x, x2, x3)</code></dd>
<dd><code>inputValues</code> - Nested array of input values, e.g. <code>[
                    ["1", null, "2"]
                    ["3", "4", null]
                    ]</code>.</dd>
<dd><code>result</code> - Expected result</dd>
<dd><code>delta</code> - Allowable variance from expected result</dd>
</dl>
</li>
</ul>
<a id="checkWinAgg(java.lang.String,java.lang.String[],java.lang.String,java.lang.String,java.lang.Object,double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkWinAgg</h4>
<pre class="methodSignature">void&nbsp;checkWinAgg&#8203;(java.lang.String&nbsp;expr,
                 java.lang.String[]&nbsp;inputValues,
                 java.lang.String&nbsp;windowSpec,
                 java.lang.String&nbsp;type,
                 java.lang.Object&nbsp;result,
                 double&nbsp;delta)</pre>
<div class="block">Checks that a windowed aggregate expression returns the expected result.

 <p>For example, <code>checkWinAgg("FIRST_VALUE(x)", new String[] {"2",
 "3", null, "3" }, "INTEGER NOT NULL", 2, 0d);</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expr</code> - Aggregate expression, e.g. <code>SUM(DISTINCT x)</code></dd>
<dd><code>inputValues</code> - Array of input values, e.g. <code>["1", null,
                    "2"]</code>.</dd>
<dd><code>type</code> - Expected result type</dd>
<dd><code>result</code> - Expected result</dd>
<dd><code>delta</code> - Allowable variance from expected result</dd>
</dl>
</li>
</ul>
<a id="checkFails(java.lang.String,java.lang.String,boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkFails</h4>
<pre class="methodSignature">void&nbsp;checkFails&#8203;(java.lang.String&nbsp;expression,
                java.lang.String&nbsp;expectedError,
                boolean&nbsp;runtime)</pre>
<div class="block">Tests that a scalar SQL expression fails at run time.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - SQL scalar expression</dd>
<dd><code>expectedError</code> - Pattern for expected error. If !runtime, must
                      include an error location.</dd>
<dd><code>runtime</code> - If true, must fail at runtime; if false, must fail at
                      validate time</dd>
</dl>
</li>
</ul>
<a id="checkQueryFails(java.lang.String,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkQueryFails</h4>
<pre class="methodSignature">void&nbsp;checkQueryFails&#8203;(java.lang.String&nbsp;sql,
                     java.lang.String&nbsp;expectedError)</pre>
<div class="block">Tests that a SQL query fails at prepare time.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sql</code> - SQL query</dd>
<dd><code>expectedError</code> - Pattern for expected error. Must
                      include an error location.</dd>
</dl>
</li>
</ul>
<a id="checkQuery(java.lang.String)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>checkQuery</h4>
<pre class="methodSignature">void&nbsp;checkQuery&#8203;(java.lang.String&nbsp;sql)</pre>
<div class="block">Tests that a SQL query succeeds at prepare time.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sql</code> - SQL query</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SqlTester.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
