<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>AbstractSqlTester (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="AbstractSqlTester (Calcite 1.21.0 Test API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":9,"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":6,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/AbstractSqlTester.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.sql.test</a></div>
<h2 title="Class AbstractSqlTester" class="title">Class AbstractSqlTester</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.sql.test.AbstractSqlTester</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.lang.AutoCloseable</code>, <code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code>, <code><a href="../../test/SqlValidatorTestCase.Tester.html" title="interface in org.apache.calcite.test">SqlValidatorTestCase.Tester</a></code></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><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 abstract class <span class="typeNameLabel">AbstractSqlTester</span>
extends java.lang.Object
implements <a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>, java.lang.AutoCloseable</pre>
<div class="block">Abstract implementation of
 <a href="../../test/SqlValidatorTestCase.Tester.html" title="interface in org.apache.calcite.test"><code>SqlValidatorTestCase.Tester</code></a>
 that talks to a mock catalog.

 <p>This is to implement the default behavior: testing is only against the
 <code>SqlValidator</code>.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.calcite.sql.test.SqlTester">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.calcite.sql.test.<a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></h3>
<code><a href="SqlTester.ParameterChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.ParameterChecker</a>, <a href="SqlTester.ResultChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.ResultChecker</a>, <a href="SqlTester.TypeChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.TypeChecker</a>, <a href="SqlTester.VmName.html" title="enum in org.apache.calcite.sql.test">SqlTester.VmName</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <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="#factory">factory</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.calcite.sql.test.SqlTestFactory)">AbstractSqlTester</a></span>&#8203;(<a href="SqlTestFactory.html" title="class in org.apache.calcite.sql.test">SqlTestFactory</a>&nbsp;factory)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#assertExceptionIsThrown(java.lang.String,java.lang.String)">assertExceptionIsThrown</a></span>&#8203;(java.lang.String&nbsp;sql,
                       java.lang.String&nbsp;expectedMsgPattern)</code></th>
<td class="colLast">
<div class="block">Checks that a query is valid, or, if invalid, throws the right
 message at the right location.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>private java.lang.Iterable&lt;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildQueries(java.lang.String)">buildQueries</a></span>&#8203;(java.lang.String&nbsp;expression)</code></th>
<td class="colLast">
<div class="block">Converts a scalar expression into a list of SQL queries that
 evaluate it.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildQuery(java.lang.String)">buildQuery</a></span>&#8203;(java.lang.String&nbsp;expression)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildQuery2(java.lang.String)">buildQuery2</a></span>&#8203;(java.lang.String&nbsp;expression)</code></th>
<td class="colLast">
<div class="block">Builds a query that extracts all literals as columns in an underlying
 select.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildQueryAgg(java.lang.String)">buildQueryAgg</a></span>&#8203;(java.lang.String&nbsp;expression)</code></th>
<td class="colLast">&nbsp;</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="#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="i6" 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,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="i7" class="rowColor">
<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="i8" class="altColor">
<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="i9" class="rowColor">
<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="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkCharset(java.lang.String,java.nio.charset.Charset)">checkCharset</a></span>&#8203;(java.lang.String&nbsp;expression,
            java.nio.charset.Charset&nbsp;expectedCharset)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkCollation(java.lang.String,java.lang.String,org.apache.calcite.sql.SqlCollation.Coercibility)">checkCollation</a></span>&#8203;(java.lang.String&nbsp;expression,
              java.lang.String&nbsp;expectedCollationName,
              org.apache.calcite.sql.SqlCollation.Coercibility&nbsp;expectedCoercibility)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkColumnType(java.lang.String,java.lang.String)">checkColumnType</a></span>&#8203;(java.lang.String&nbsp;sql,
               java.lang.String&nbsp;expected)</code></th>
<td class="colLast">
<div class="block">Checks that a query returns one column of an expected type.</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="#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="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkFieldOrigin(java.lang.String,java.lang.String)">checkFieldOrigin</a></span>&#8203;(java.lang.String&nbsp;sql,
                java.lang.String&nbsp;fieldOriginList)</code></th>
<td class="colLast">
<div class="block">Given a SQL query, returns a list of the origins of each result
 field.</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="#checkIntervalConv(java.lang.String,java.lang.String)">checkIntervalConv</a></span>&#8203;(java.lang.String&nbsp;sql,
                 java.lang.String&nbsp;expected)</code></th>
<td class="colLast">
<div class="block">Checks if the interval value conversion to milliseconds is valid.</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="#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="i17" class="rowColor">
<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="i18" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkParseEx(java.lang.Throwable,java.lang.String,java.lang.String)">checkParseEx</a></span>&#8203;(java.lang.Throwable&nbsp;e,
            java.lang.String&nbsp;expectedMsgPattern,
            java.lang.String&nbsp;sql)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#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="i20" 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="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkResultType(java.lang.String,java.lang.String)">checkResultType</a></span>&#8203;(java.lang.String&nbsp;sql,
               java.lang.String&nbsp;expected)</code></th>
<td class="colLast">
<div class="block">Checks that a query returns one column of an expected type.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkRewrite(org.apache.calcite.sql.validate.SqlValidator,java.lang.String,java.lang.String)">checkRewrite</a></span>&#8203;(org.apache.calcite.sql.validate.SqlValidator&nbsp;validator,
            java.lang.String&nbsp;query,
            java.lang.String&nbsp;expectedRewrite)</code></th>
<td class="colLast">
<div class="block">Checks that a query gets rewritten to an expected form.</div>
</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="#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="i24" 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="i25" 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="i26" 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="i27" 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;expectedType)</code></th>
<td class="colLast">
<div class="block">Tests that a scalar SQL expression returns the expected string result.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#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="i29" 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="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#close()">close</a></span>()</code></th>
</tr>
<tr id="i31" 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="#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="i32" class="altColor">
<td class="colFirst"><code>org.apache.calcite.rel.type.RelDataType</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getColumnType(java.lang.String)">getColumnType</a></span>&#8203;(java.lang.String&nbsp;sql)</code></th>
<td class="colLast">
<div class="block">Returns the data type of the sole column of a SQL query.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>org.apache.calcite.sql.validate.SqlConformance</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getConformance()">getConformance</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i34" class="altColor">
<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="i35" class="rowColor">
<td class="colFirst"><code>org.apache.calcite.sql.validate.SqlMonotonicity</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMonotonicity(java.lang.String)">getMonotonicity</a></span>&#8203;(java.lang.String&nbsp;sql)</code></th>
<td class="colLast">
<div class="block">Given a SQL query, returns the monotonicity of the first item in the
 SELECT clause.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>org.apache.calcite.rel.type.RelDataType</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getResultType(java.lang.String)">getResultType</a></span>&#8203;(java.lang.String&nbsp;sql)</code></th>
<td class="colLast">
<div class="block">Returns the data type of the row returned by a SQL query.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>org.apache.calcite.sql.validate.SqlValidator</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getValidator()">getValidator</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>org.apache.calcite.sql.SqlNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#parseAndValidate(org.apache.calcite.sql.validate.SqlValidator,java.lang.String)">parseAndValidate</a></span>&#8203;(org.apache.calcite.sql.validate.SqlValidator&nbsp;validator,
                java.lang.String&nbsp;sql)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>org.apache.calcite.sql.SqlNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#parseQuery(java.lang.String)">parseQuery</a></span>&#8203;(java.lang.String&nbsp;sql)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#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="i41" class="rowColor">
<td class="colFirst"><code>protected <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="#with(java.lang.String,java.lang.Object)">with</a></span>&#8203;(java.lang.String&nbsp;name,
    java.lang.Object&nbsp;value)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>protected abstract <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="#with(org.apache.calcite.sql.test.SqlTestFactory)">with</a></span>&#8203;(<a href="SqlTestFactory.html" title="class in org.apache.calcite.sql.test">SqlTestFactory</a>&nbsp;factory)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i43" 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="i44" 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="i45" 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="i46" 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="i47" 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="i48" 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="i49" 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="i50" 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.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a id="factory">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>factory</h4>
<pre>protected final&nbsp;<a href="SqlTestFactory.html" title="class in org.apache.calcite.sql.test">SqlTestFactory</a> factory</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(org.apache.calcite.sql.test.SqlTestFactory)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractSqlTester</h4>
<pre>public&nbsp;AbstractSqlTester&#8203;(<a href="SqlTestFactory.html" title="class in org.apache.calcite.sql.test">SqlTestFactory</a>&nbsp;factory)</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="getFactory()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFactory</h4>
<pre class="methodSignature">public final&nbsp;<a href="SqlTestFactory.html" title="class in org.apache.calcite.sql.test">SqlTestFactory</a>&nbsp;getFactory()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#getFactory()">getFactory</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
</dl>
</li>
</ul>
<a id="close()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;close()</pre>
<div class="block">

 <p>This default implementation does nothing.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>close</code>&nbsp;in interface&nbsp;<code>java.lang.AutoCloseable</code></dd>
</dl>
</li>
</ul>
<a id="getConformance()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConformance</h4>
<pre class="methodSignature">public final&nbsp;org.apache.calcite.sql.validate.SqlConformance&nbsp;getConformance()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../test/SqlValidatorTestCase.Tester.html#getConformance()">getConformance</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>
</dl>
</li>
</ul>
<a id="getValidator()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValidator</h4>
<pre class="methodSignature">public final&nbsp;org.apache.calcite.sql.validate.SqlValidator&nbsp;getValidator()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../test/SqlValidatorTestCase.Tester.html#getValidator()">getValidator</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>
</dl>
</li>
</ul>
<a id="assertExceptionIsThrown(java.lang.String,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>assertExceptionIsThrown</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;assertExceptionIsThrown&#8203;(java.lang.String&nbsp;sql,
                                    java.lang.String&nbsp;expectedMsgPattern)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../test/SqlValidatorTestCase.Tester.html#assertExceptionIsThrown(java.lang.String,java.lang.String)">SqlValidatorTestCase.Tester</a></code></span></div>
<div class="block">Checks that a query is valid, or, if invalid, throws the right
 message at the right location.

 <p>If <code>expectedMsgPattern</code> is null, the query must
 succeed.

 <p>If <code>expectedMsgPattern</code> is not null, the query must
 fail, and give an error location of (expectedLine, expectedColumn)
 through (expectedEndLine, expectedEndColumn).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../test/SqlValidatorTestCase.Tester.html#assertExceptionIsThrown(java.lang.String,java.lang.String)">assertExceptionIsThrown</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> - SQL statement</dd>
<dd><code>expectedMsgPattern</code> - If this parameter is null the query must be
                           valid for the test to pass; If this parameter
                           is not null the query must be malformed and the
                           message given must match the pattern</dd>
</dl>
</li>
</ul>
<a id="checkParseEx(java.lang.Throwable,java.lang.String,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkParseEx</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;checkParseEx&#8203;(java.lang.Throwable&nbsp;e,
                            java.lang.String&nbsp;expectedMsgPattern,
                            java.lang.String&nbsp;sql)</pre>
</li>
</ul>
<a id="getColumnType(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColumnType</h4>
<pre class="methodSignature">public&nbsp;org.apache.calcite.rel.type.RelDataType&nbsp;getColumnType&#8203;(java.lang.String&nbsp;sql)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../test/SqlValidatorTestCase.Tester.html#getColumnType(java.lang.String)">SqlValidatorTestCase.Tester</a></code></span></div>
<div class="block">Returns the data type of the sole column of a SQL query.

 <p>For example, <code>getResultType("VALUES (1")</code> returns
 <code>INTEGER</code>.

 <p>Fails if query returns more than one column.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../test/SqlValidatorTestCase.Tester.html#getColumnType(java.lang.String)">getColumnType</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="seeLabel">See Also:</span></dt>
<dd><a href="../../test/SqlValidatorTestCase.Tester.html#getResultType(java.lang.String)"><code>SqlValidatorTestCase.Tester.getResultType(String)</code></a></dd>
</dl>
</li>
</ul>
<a id="getResultType(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResultType</h4>
<pre class="methodSignature">public&nbsp;org.apache.calcite.rel.type.RelDataType&nbsp;getResultType&#8203;(java.lang.String&nbsp;sql)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../test/SqlValidatorTestCase.Tester.html#getResultType(java.lang.String)">SqlValidatorTestCase.Tester</a></code></span></div>
<div class="block">Returns the data type of the row returned by a SQL query.

 <p>For example, <code>getResultType("VALUES (1, 'foo')")</code>
 returns <code>RecordType(INTEGER EXPR$0, CHAR(3) EXPR#1)</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../test/SqlValidatorTestCase.Tester.html#getResultType(java.lang.String)">getResultType</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>
</dl>
</li>
</ul>
<a id="parseAndValidate(org.apache.calcite.sql.validate.SqlValidator,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseAndValidate</h4>
<pre class="methodSignature">public&nbsp;org.apache.calcite.sql.SqlNode&nbsp;parseAndValidate&#8203;(org.apache.calcite.sql.validate.SqlValidator&nbsp;validator,
                                                       java.lang.String&nbsp;sql)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../test/SqlValidatorTestCase.Tester.html#parseAndValidate(org.apache.calcite.sql.validate.SqlValidator,java.lang.String)">parseAndValidate</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>
</dl>
</li>
</ul>
<a id="parseQuery(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseQuery</h4>
<pre class="methodSignature">public&nbsp;org.apache.calcite.sql.SqlNode&nbsp;parseQuery&#8203;(java.lang.String&nbsp;sql)
                                          throws org.apache.calcite.sql.parser.SqlParseException</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../test/SqlValidatorTestCase.Tester.html#parseQuery(java.lang.String)">parseQuery</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="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.calcite.sql.parser.SqlParseException</code></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">public&nbsp;void&nbsp;checkColumnType&#8203;(java.lang.String&nbsp;sql,
                            java.lang.String&nbsp;expected)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#checkColumnType(java.lang.String,java.lang.String)">SqlTester</a></code></span></div>
<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="SqlTester.html#checkColumnType(java.lang.String,java.lang.String)">checkColumnType</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
<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>expected</code> - Type string</dd>
</dl>
</li>
</ul>
<a id="checkFieldOrigin(java.lang.String,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkFieldOrigin</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;checkFieldOrigin&#8203;(java.lang.String&nbsp;sql,
                             java.lang.String&nbsp;fieldOriginList)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../test/SqlValidatorTestCase.Tester.html#checkFieldOrigin(java.lang.String,java.lang.String)">SqlValidatorTestCase.Tester</a></code></span></div>
<div class="block">Given a SQL query, returns a list of the origins of each result
 field.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../test/SqlValidatorTestCase.Tester.html#checkFieldOrigin(java.lang.String,java.lang.String)">checkFieldOrigin</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> - SQL query</dd>
<dd><code>fieldOriginList</code> - Field origin list, e.g.
                        "{(CATALOG.SALES.EMP.EMPNO, null)}"</dd>
</dl>
</li>
</ul>
<a id="checkResultType(java.lang.String,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkResultType</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;checkResultType&#8203;(java.lang.String&nbsp;sql,
                            java.lang.String&nbsp;expected)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../test/SqlValidatorTestCase.Tester.html#checkResultType(java.lang.String,java.lang.String)">SqlValidatorTestCase.Tester</a></code></span></div>
<div class="block">Checks that a query returns one column of an expected type. For
 example, <code>checkType("select empno, name from emp""{EMPNO INTEGER
 NOT NULL, NAME VARCHAR(10) NOT NULL}")</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../test/SqlValidatorTestCase.Tester.html#checkResultType(java.lang.String,java.lang.String)">checkResultType</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>
</dl>
</li>
</ul>
<a id="checkIntervalConv(java.lang.String,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkIntervalConv</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;checkIntervalConv&#8203;(java.lang.String&nbsp;sql,
                              java.lang.String&nbsp;expected)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../test/SqlValidatorTestCase.Tester.html#checkIntervalConv(java.lang.String,java.lang.String)">SqlValidatorTestCase.Tester</a></code></span></div>
<div class="block">Checks if the interval value conversion to milliseconds is valid. For
 example, <code>checkIntervalConv(VALUES (INTERVAL '1' Minute),
 "60000")</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../test/SqlValidatorTestCase.Tester.html#checkIntervalConv(java.lang.String,java.lang.String)">checkIntervalConv</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>
</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">public&nbsp;void&nbsp;checkType&#8203;(java.lang.String&nbsp;expression,
                      java.lang.String&nbsp;type)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#checkType(java.lang.String,java.lang.String)">SqlTester</a></code></span></div>
<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="SqlTester.html#checkScalarExact(java.lang.String,java.lang.String)"><code>SqlTester.checkScalarExact(java.lang.String, java.lang.String)</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#checkType(java.lang.String,java.lang.String)">checkType</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
<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="checkCollation(java.lang.String,java.lang.String,org.apache.calcite.sql.SqlCollation.Coercibility)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkCollation</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;checkCollation&#8203;(java.lang.String&nbsp;expression,
                           java.lang.String&nbsp;expectedCollationName,
                           org.apache.calcite.sql.SqlCollation.Coercibility&nbsp;expectedCoercibility)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../test/SqlValidatorTestCase.Tester.html#checkCollation(java.lang.String,java.lang.String,org.apache.calcite.sql.SqlCollation.Coercibility)">checkCollation</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>
</dl>
</li>
</ul>
<a id="checkCharset(java.lang.String,java.nio.charset.Charset)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkCharset</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;checkCharset&#8203;(java.lang.String&nbsp;expression,
                         java.nio.charset.Charset&nbsp;expectedCharset)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../test/SqlValidatorTestCase.Tester.html#checkCharset(java.lang.String,java.nio.charset.Charset)">checkCharset</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>
</dl>
</li>
</ul>
<a id="withQuoting(org.apache.calcite.avatica.util.Quoting)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withQuoting</h4>
<pre class="methodSignature">public&nbsp;<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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#withQuoting(org.apache.calcite.avatica.util.Quoting)">SqlTester</a></code></span></div>
<div class="block">Returns a tester that tests a given SQL quoting style.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#withQuoting(org.apache.calcite.avatica.util.Quoting)">withQuoting</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
</dl>
</li>
</ul>
<a id="withQuotedCasing(org.apache.calcite.avatica.util.Casing)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withQuotedCasing</h4>
<pre class="methodSignature">public&nbsp;<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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#withQuotedCasing(org.apache.calcite.avatica.util.Casing)">SqlTester</a></code></span></div>
<div class="block">Returns a tester that applies a given casing policy to quoted
 identifiers.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#withQuotedCasing(org.apache.calcite.avatica.util.Casing)">withQuotedCasing</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
</dl>
</li>
</ul>
<a id="withUnquotedCasing(org.apache.calcite.avatica.util.Casing)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withUnquotedCasing</h4>
<pre class="methodSignature">public&nbsp;<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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#withUnquotedCasing(org.apache.calcite.avatica.util.Casing)">SqlTester</a></code></span></div>
<div class="block">Returns a tester that applies a given casing policy to unquoted
 identifiers.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#withUnquotedCasing(org.apache.calcite.avatica.util.Casing)">withUnquotedCasing</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
</dl>
</li>
</ul>
<a id="withCaseSensitive(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withCaseSensitive</h4>
<pre class="methodSignature">public&nbsp;<a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;withCaseSensitive&#8203;(boolean&nbsp;sensitive)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#withCaseSensitive(boolean)">SqlTester</a></code></span></div>
<div class="block">Returns a tester that matches identifiers by case-sensitive or
 case-insensitive.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#withCaseSensitive(boolean)">withCaseSensitive</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
</dl>
</li>
</ul>
<a id="withLex(org.apache.calcite.config.Lex)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withLex</h4>
<pre class="methodSignature">public&nbsp;<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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#withLex(org.apache.calcite.config.Lex)">SqlTester</a></code></span></div>
<div class="block">Returns a tester that follows a lex policy.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#withLex(org.apache.calcite.config.Lex)">withLex</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
</dl>
</li>
</ul>
<a id="withConformance(org.apache.calcite.sql.validate.SqlConformance)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withConformance</h4>
<pre class="methodSignature">public&nbsp;<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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#withConformance(org.apache.calcite.sql.validate.SqlConformance)">SqlTester</a></code></span></div>
<div class="block">Returns a tester that tests conformance to a particular SQL language
 version.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#withConformance(org.apache.calcite.sql.validate.SqlConformance)">withConformance</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
</dl>
</li>
</ul>
<a id="enableTypeCoercion(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enableTypeCoercion</h4>
<pre class="methodSignature">public&nbsp;<a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;enableTypeCoercion&#8203;(boolean&nbsp;enabled)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#enableTypeCoercion(boolean)">SqlTester</a></code></span></div>
<div class="block">Returns a tester that tests with implicit type coercion on/off.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#enableTypeCoercion(boolean)">enableTypeCoercion</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
</dl>
</li>
</ul>
<a id="withOperatorTable(org.apache.calcite.sql.SqlOperatorTable)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withOperatorTable</h4>
<pre class="methodSignature">public&nbsp;<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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#withOperatorTable(org.apache.calcite.sql.SqlOperatorTable)">SqlTester</a></code></span></div>
<div class="block">Returns a tester that uses a given operator table.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#withOperatorTable(org.apache.calcite.sql.SqlOperatorTable)">withOperatorTable</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
</dl>
</li>
</ul>
<a id="withConnectionFactory(org.apache.calcite.test.CalciteAssert.ConnectionFactory)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withConnectionFactory</h4>
<pre class="methodSignature">public&nbsp;<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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#withConnectionFactory(org.apache.calcite.test.CalciteAssert.ConnectionFactory)">SqlTester</a></code></span></div>
<div class="block">Returns a tester that gets connections from a given factory.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#withConnectionFactory(org.apache.calcite.test.CalciteAssert.ConnectionFactory)">withConnectionFactory</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
</dl>
</li>
</ul>
<a id="with(java.lang.String,java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>with</h4>
<pre class="methodSignature">protected final&nbsp;<a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;with&#8203;(java.lang.String&nbsp;name,
                               java.lang.Object&nbsp;value)</pre>
</li>
</ul>
<a id="with(org.apache.calcite.sql.test.SqlTestFactory)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>with</h4>
<pre class="methodSignature">protected abstract&nbsp;<a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;with&#8203;(<a href="SqlTestFactory.html" title="class in org.apache.calcite.sql.test">SqlTestFactory</a>&nbsp;factory)</pre>
</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">public&nbsp;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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#setFor(org.apache.calcite.sql.SqlOperator,org.apache.calcite.sql.test.SqlTester.VmName...)">SqlTester</a></code></span></div>
<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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#setFor(org.apache.calcite.sql.SqlOperator,org.apache.calcite.sql.test.SqlTester.VmName...)">setFor</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
<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">public&nbsp;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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#checkAgg(java.lang.String,java.lang.String%5B%5D,java.lang.Object,double)">SqlTester</a></code></span></div>
<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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#checkAgg(java.lang.String,java.lang.String%5B%5D,java.lang.Object,double)">checkAgg</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
<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">public&nbsp;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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#checkAggWithMultipleArgs(java.lang.String,java.lang.String%5B%5D%5B%5D,java.lang.Object,double)">SqlTester</a></code></span></div>
<div class="block">Checks that an aggregate expression with multiple args returns the expected
 result.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#checkAggWithMultipleArgs(java.lang.String,java.lang.String%5B%5D%5B%5D,java.lang.Object,double)">checkAggWithMultipleArgs</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
<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">public&nbsp;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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#checkWinAgg(java.lang.String,java.lang.String%5B%5D,java.lang.String,java.lang.String,java.lang.Object,double)">SqlTester</a></code></span></div>
<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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#checkWinAgg(java.lang.String,java.lang.String%5B%5D,java.lang.String,java.lang.String,java.lang.Object,double)">checkWinAgg</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
<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="checkScalar(java.lang.String,java.lang.Object,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkScalar</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;checkScalar&#8203;(java.lang.String&nbsp;expression,
                        java.lang.Object&nbsp;result,
                        java.lang.String&nbsp;resultType)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#checkScalar(java.lang.String,java.lang.Object,java.lang.String)">SqlTester</a></code></span></div>
<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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#checkScalar(java.lang.String,java.lang.Object,java.lang.String)">checkScalar</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
<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">public&nbsp;void&nbsp;checkScalarExact&#8203;(java.lang.String&nbsp;expression,
                             java.lang.String&nbsp;result)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#checkScalarExact(java.lang.String,java.lang.String)">SqlTester</a></code></span></div>
<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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#checkScalarExact(java.lang.String,java.lang.String)">checkScalarExact</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
<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">public&nbsp;void&nbsp;checkScalarExact&#8203;(java.lang.String&nbsp;expression,
                             java.lang.String&nbsp;expectedType,
                             java.lang.String&nbsp;result)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#checkScalarExact(java.lang.String,java.lang.String,java.lang.String)">SqlTester</a></code></span></div>
<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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#checkScalarExact(java.lang.String,java.lang.String,java.lang.String)">checkScalarExact</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
<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">public&nbsp;void&nbsp;checkScalarApprox&#8203;(java.lang.String&nbsp;expression,
                              java.lang.String&nbsp;expectedType,
                              double&nbsp;expectedResult,
                              double&nbsp;delta)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#checkScalarApprox(java.lang.String,java.lang.String,double,double)">SqlTester</a></code></span></div>
<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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#checkScalarApprox(java.lang.String,java.lang.String,double,double)">checkScalarApprox</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
<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">public&nbsp;void&nbsp;checkBoolean&#8203;(java.lang.String&nbsp;expression,
                         java.lang.Boolean&nbsp;result)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#checkBoolean(java.lang.String,java.lang.Boolean)">SqlTester</a></code></span></div>
<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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#checkBoolean(java.lang.String,java.lang.Boolean)">checkBoolean</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
<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">public&nbsp;void&nbsp;checkString&#8203;(java.lang.String&nbsp;expression,
                        java.lang.String&nbsp;result,
                        java.lang.String&nbsp;expectedType)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#checkString(java.lang.String,java.lang.String,java.lang.String)">SqlTester</a></code></span></div>
<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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#checkString(java.lang.String,java.lang.String,java.lang.String)">checkString</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - Scalar expression</dd>
<dd><code>result</code> - Expected result</dd>
<dd><code>expectedType</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">public&nbsp;void&nbsp;checkNull&#8203;(java.lang.String&nbsp;expression)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#checkNull(java.lang.String)">SqlTester</a></code></span></div>
<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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#checkNull(java.lang.String)">checkNull</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - Scalar expression</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">public final&nbsp;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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#check(java.lang.String,org.apache.calcite.sql.test.SqlTester.TypeChecker,java.lang.Object,double)">SqlTester</a></code></span></div>
<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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#check(java.lang.String,org.apache.calcite.sql.test.SqlTester.TypeChecker,java.lang.Object,double)">check</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
<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">public&nbsp;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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#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)">SqlTester</a></code></span></div>
<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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#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></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
<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">public&nbsp;void&nbsp;checkMonotonic&#8203;(java.lang.String&nbsp;query,
                           org.apache.calcite.sql.validate.SqlMonotonicity&nbsp;expectedMonotonicity)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#checkMonotonic(java.lang.String,org.apache.calcite.sql.validate.SqlMonotonicity)">SqlTester</a></code></span></div>
<div class="block">Tests that the first column of a SQL query has a given monotonicity.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#checkMonotonic(java.lang.String,org.apache.calcite.sql.validate.SqlMonotonicity)">checkMonotonic</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>query</code> - SQL query</dd>
<dd><code>expectedMonotonicity</code> - Expected monotonicity</dd>
</dl>
</li>
</ul>
<a id="checkRewrite(org.apache.calcite.sql.validate.SqlValidator,java.lang.String,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkRewrite</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;checkRewrite&#8203;(org.apache.calcite.sql.validate.SqlValidator&nbsp;validator,
                         java.lang.String&nbsp;query,
                         java.lang.String&nbsp;expectedRewrite)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../test/SqlValidatorTestCase.Tester.html#checkRewrite(org.apache.calcite.sql.validate.SqlValidator,java.lang.String,java.lang.String)">SqlValidatorTestCase.Tester</a></code></span></div>
<div class="block">Checks that a query gets rewritten to an expected form.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../test/SqlValidatorTestCase.Tester.html#checkRewrite(org.apache.calcite.sql.validate.SqlValidator,java.lang.String,java.lang.String)">checkRewrite</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>validator</code> - validator to use; null for default</dd>
<dd><code>query</code> - query to test</dd>
<dd><code>expectedRewrite</code> - expected SQL text after rewrite and unparse</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">public&nbsp;void&nbsp;checkFails&#8203;(java.lang.String&nbsp;expression,
                       java.lang.String&nbsp;expectedError,
                       boolean&nbsp;runtime)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#checkFails(java.lang.String,java.lang.String,boolean)">SqlTester</a></code></span></div>
<div class="block">Tests that a scalar SQL expression fails at run time.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#checkFails(java.lang.String,java.lang.String,boolean)">checkFails</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
<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">public&nbsp;void&nbsp;checkQueryFails&#8203;(java.lang.String&nbsp;sql,
                            java.lang.String&nbsp;expectedError)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#checkQueryFails(java.lang.String,java.lang.String)">SqlTester</a></code></span></div>
<div class="block">Tests that a SQL query fails at prepare time.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#checkQueryFails(java.lang.String,java.lang.String)">checkQueryFails</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
<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="blockList">
<li class="blockList">
<h4>checkQuery</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;checkQuery&#8203;(java.lang.String&nbsp;sql)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SqlTester.html#checkQuery(java.lang.String)">SqlTester</a></code></span></div>
<div class="block">Tests that a SQL query succeeds at prepare time.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SqlTester.html#checkQuery(java.lang.String)">checkQuery</a></code>&nbsp;in interface&nbsp;<code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sql</code> - SQL query</dd>
</dl>
</li>
</ul>
<a id="getMonotonicity(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMonotonicity</h4>
<pre class="methodSignature">public&nbsp;org.apache.calcite.sql.validate.SqlMonotonicity&nbsp;getMonotonicity&#8203;(java.lang.String&nbsp;sql)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../test/SqlValidatorTestCase.Tester.html#getMonotonicity(java.lang.String)">SqlValidatorTestCase.Tester</a></code></span></div>
<div class="block">Given a SQL query, returns the monotonicity of the first item in the
 SELECT clause.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../test/SqlValidatorTestCase.Tester.html#getMonotonicity(java.lang.String)">getMonotonicity</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> - SQL query</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Monotonicity</dd>
</dl>
</li>
</ul>
<a id="buildQuery(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildQuery</h4>
<pre class="methodSignature">public static&nbsp;java.lang.String&nbsp;buildQuery&#8203;(java.lang.String&nbsp;expression)</pre>
</li>
</ul>
<a id="buildQueryAgg(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildQueryAgg</h4>
<pre class="methodSignature">public static&nbsp;java.lang.String&nbsp;buildQueryAgg&#8203;(java.lang.String&nbsp;expression)</pre>
</li>
</ul>
<a id="buildQuery2(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildQuery2</h4>
<pre class="methodSignature">protected&nbsp;java.lang.String&nbsp;buildQuery2&#8203;(java.lang.String&nbsp;expression)</pre>
<div class="block">Builds a query that extracts all literals as columns in an underlying
 select.

 <p>For example,</p>

 <blockquote><code>1 &lt; 5</code></blockquote>

 <p>becomes</p>

 <blockquote><code>SELECT p0 &lt; p1
 FROM (VALUES (1, 5)) AS t(p0, p1)</code></blockquote>

 <p>Null literals don't have enough type information to be extracted.
 We push down <code>CAST(NULL AS type)</code> but raw nulls such as
 <code>CASE 1 WHEN 2 THEN 'a' ELSE NULL END</code> are left as is.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - Scalar expression</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Query that evaluates a scalar expression</dd>
</dl>
</li>
</ul>
<a id="buildQueries(java.lang.String)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>buildQueries</h4>
<pre class="methodSignature">private&nbsp;java.lang.Iterable&lt;java.lang.String&gt;&nbsp;buildQueries&#8203;(java.lang.String&nbsp;expression)</pre>
<div class="block">Converts a scalar expression into a list of SQL queries that
 evaluate it.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - Scalar expression</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of queries that evaluate an expression</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/AbstractSqlTester.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
