blob: 3b5d595fc59e54133cbfef24485c0df0239ec9d9 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>SqlTester (Calcite 1.20.0 Test API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SqlTester (Calcite 1.20.0 Test API)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SqlTester.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.sql.test</a></div>
<h2 title="Interface SqlTester" class="title">Interface SqlTester</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code>java.lang.AutoCloseable</code>, <code><a href="../../test/SqlValidatorTestCase.Tester.html" title="interface in org.apache.calcite.test">SqlValidatorTestCase.Tester</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="AbstractSqlTester.html" title="class in org.apache.calcite.sql.test">AbstractSqlTester</a></code>, <code><a href="SqlOperatorBaseTest.TesterImpl.html" title="class in org.apache.calcite.sql.test">SqlOperatorBaseTest.TesterImpl</a></code>, <code><a href="SqlRuntimeTester.html" title="class in org.apache.calcite.sql.test">SqlRuntimeTester</a></code>, <code><a href="SqlValidatorTester.html" title="class in org.apache.calcite.sql.test">SqlValidatorTester</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">SqlTester</span>
extends java.lang.AutoCloseable, <a href="../../test/SqlValidatorTestCase.Tester.html" title="interface in org.apache.calcite.test">SqlValidatorTestCase.Tester</a></pre>
<div class="block">SqlTester defines a callback for testing SQL queries and expressions.
<p>The idea is that when you define an operator (or another piece of SQL
functionality), you can define the logical behavior of that operator once, as
part of that operator. Later you can define one or more physical
implementations of that operator, and test them all using the same set of
tests.
<p>Specific implementations of <code>SqlTester</code> might evaluate the
queries in different ways, for example, using a C++ versus Java calculator.
An implementation might even ignore certain calls altogether.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlTester.ParameterChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.ParameterChecker</a></span></code></th>
<td class="colLast">
<div class="block">Parameter checker.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlTester.ResultChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.ResultChecker</a></span></code></th>
<td class="colLast">
<div class="block">Result checker.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlTester.TypeChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.TypeChecker</a></span></code></th>
<td class="colLast">
<div class="block">Type checker.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlTester.VmName.html" title="enum in org.apache.calcite.sql.test">SqlTester.VmName</a></span></code></th>
<td class="colLast">
<div class="block">Name of a virtual machine that can potentially implement an operator.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#check(java.lang.String,org.apache.calcite.sql.test.SqlTester.TypeChecker,java.lang.Object,double)">check</a></span>&#8203;(java.lang.String&nbsp;query,
<a href="SqlTester.TypeChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.TypeChecker</a>&nbsp;typeChecker,
java.lang.Object&nbsp;result,
double&nbsp;delta)</code></th>
<td class="colLast">
<div class="block">Tests that a SQL query returns a single column with the given type.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#check(java.lang.String,org.apache.calcite.sql.test.SqlTester.TypeChecker,org.apache.calcite.sql.test.SqlTester.ParameterChecker,org.apache.calcite.sql.test.SqlTester.ResultChecker)">check</a></span>&#8203;(java.lang.String&nbsp;query,
<a href="SqlTester.TypeChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.TypeChecker</a>&nbsp;typeChecker,
<a href="SqlTester.ParameterChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.ParameterChecker</a>&nbsp;parameterChecker,
<a href="SqlTester.ResultChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.ResultChecker</a>&nbsp;resultChecker)</code></th>
<td class="colLast">
<div class="block">Tests that a SQL query returns a result of expected type and value.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkAgg(java.lang.String,java.lang.String%5B%5D,java.lang.Object,double)">checkAgg</a></span>&#8203;(java.lang.String&nbsp;expr,
java.lang.String[]&nbsp;inputValues,
java.lang.Object&nbsp;result,
double&nbsp;delta)</code></th>
<td class="colLast">
<div class="block">Checks that an aggregate expression returns the expected result.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkAggWithMultipleArgs(java.lang.String,java.lang.String%5B%5D%5B%5D,java.lang.Object,double)">checkAggWithMultipleArgs</a></span>&#8203;(java.lang.String&nbsp;expr,
java.lang.String[][]&nbsp;inputValues,
java.lang.Object&nbsp;result,
double&nbsp;delta)</code></th>
<td class="colLast">
<div class="block">Checks that an aggregate expression with multiple args returns the expected
result.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkBoolean(java.lang.String,java.lang.Boolean)">checkBoolean</a></span>&#8203;(java.lang.String&nbsp;expression,
java.lang.Boolean&nbsp;result)</code></th>
<td class="colLast">
<div class="block">Tests that a scalar SQL expression returns the expected boolean result.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkColumnType(java.lang.String,java.lang.String)">checkColumnType</a></span>&#8203;(java.lang.String&nbsp;sql,
java.lang.String&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Checks that a query returns one column of an expected type.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkFails(java.lang.String,java.lang.String,boolean)">checkFails</a></span>&#8203;(java.lang.String&nbsp;expression,
java.lang.String&nbsp;expectedError,
boolean&nbsp;runtime)</code></th>
<td class="colLast">
<div class="block">Tests that a scalar SQL expression fails at run time.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkMonotonic(java.lang.String,org.apache.calcite.sql.validate.SqlMonotonicity)">checkMonotonic</a></span>&#8203;(java.lang.String&nbsp;query,
org.apache.calcite.sql.validate.SqlMonotonicity&nbsp;expectedMonotonicity)</code></th>
<td class="colLast">
<div class="block">Tests that the first column of a SQL query has a given monotonicity.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkNull(java.lang.String)">checkNull</a></span>&#8203;(java.lang.String&nbsp;expression)</code></th>
<td class="colLast">
<div class="block">Tests that a SQL expression returns the SQL NULL value.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkQuery(java.lang.String)">checkQuery</a></span>&#8203;(java.lang.String&nbsp;sql)</code></th>
<td class="colLast">
<div class="block">Tests that a SQL query succeeds at prepare time.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkQueryFails(java.lang.String,java.lang.String)">checkQueryFails</a></span>&#8203;(java.lang.String&nbsp;sql,
java.lang.String&nbsp;expectedError)</code></th>
<td class="colLast">
<div class="block">Tests that a SQL query fails at prepare time.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkScalar(java.lang.String,java.lang.Object,java.lang.String)">checkScalar</a></span>&#8203;(java.lang.String&nbsp;expression,
java.lang.Object&nbsp;result,
java.lang.String&nbsp;resultType)</code></th>
<td class="colLast">
<div class="block">Tests that a scalar SQL expression returns the expected result and the
expected type.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkScalarApprox(java.lang.String,java.lang.String,double,double)">checkScalarApprox</a></span>&#8203;(java.lang.String&nbsp;expression,
java.lang.String&nbsp;expectedType,
double&nbsp;expectedResult,
double&nbsp;delta)</code></th>
<td class="colLast">
<div class="block">Tests that a scalar SQL expression returns expected appoximate numeric
result.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkScalarExact(java.lang.String,java.lang.String)">checkScalarExact</a></span>&#8203;(java.lang.String&nbsp;expression,
java.lang.String&nbsp;result)</code></th>
<td class="colLast">
<div class="block">Tests that a scalar SQL expression returns the expected exact numeric
result as an integer.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkScalarExact(java.lang.String,java.lang.String,java.lang.String)">checkScalarExact</a></span>&#8203;(java.lang.String&nbsp;expression,
java.lang.String&nbsp;expectedType,
java.lang.String&nbsp;result)</code></th>
<td class="colLast">
<div class="block">Tests that a scalar SQL expression returns the expected exact numeric
result.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkString(java.lang.String,java.lang.String,java.lang.String)">checkString</a></span>&#8203;(java.lang.String&nbsp;expression,
java.lang.String&nbsp;result,
java.lang.String&nbsp;resultType)</code></th>
<td class="colLast">
<div class="block">Tests that a scalar SQL expression returns the expected string result.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkType(java.lang.String,java.lang.String)">checkType</a></span>&#8203;(java.lang.String&nbsp;expression,
java.lang.String&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Tests that a SQL expression has a given type.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkWinAgg(java.lang.String,java.lang.String%5B%5D,java.lang.String,java.lang.String,java.lang.Object,double)">checkWinAgg</a></span>&#8203;(java.lang.String&nbsp;expr,
java.lang.String[]&nbsp;inputValues,
java.lang.String&nbsp;windowSpec,
java.lang.String&nbsp;type,
java.lang.Object&nbsp;result,
double&nbsp;delta)</code></th>
<td class="colLast">
<div class="block">Checks that a windowed aggregate expression returns the expected result.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="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="i19" class="rowColor">
<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="i20" 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="#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="i21" class="rowColor">
<td class="colFirst"><code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#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="i22" class="altColor">
<td class="colFirst"><code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#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="i23" class="rowColor">
<td class="colFirst"><code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#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="i24" class="altColor">
<td class="colFirst"><code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#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="i25" class="rowColor">
<td class="colFirst"><code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#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="i26" class="altColor">
<td class="colFirst"><code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#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="i27" class="rowColor">
<td class="colFirst"><code><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withUnquotedCasing(org.apache.calcite.avatica.util.Casing)">withUnquotedCasing</a></span>&#8203;(org.apache.calcite.avatica.util.Casing&nbsp;casing)</code></th>
<td class="colLast">
<div class="block">Returns a tester that applies a given casing policy to unquoted
identifiers.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.AutoCloseable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;java.lang.AutoCloseable</h3>
<code>close</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.calcite.test.SqlValidatorTestCase.Tester">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.calcite.test.<a href="../../test/SqlValidatorTestCase.Tester.html" title="interface in org.apache.calcite.test">SqlValidatorTestCase.Tester</a></h3>
<code><a href="../../test/SqlValidatorTestCase.Tester.html#assertExceptionIsThrown(java.lang.String,java.lang.String)">assertExceptionIsThrown</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#checkCharset(java.lang.String,java.nio.charset.Charset)">checkCharset</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#checkCollation(java.lang.String,java.lang.String,org.apache.calcite.sql.SqlCollation.Coercibility)">checkCollation</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#checkFieldOrigin(java.lang.String,java.lang.String)">checkFieldOrigin</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#checkIntervalConv(java.lang.String,java.lang.String)">checkIntervalConv</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#checkResultType(java.lang.String,java.lang.String)">checkResultType</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#checkRewrite(org.apache.calcite.sql.validate.SqlValidator,java.lang.String,java.lang.String)">checkRewrite</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#getColumnType(java.lang.String)">getColumnType</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#getConformance()">getConformance</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#getMonotonicity(java.lang.String)">getMonotonicity</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#getResultType(java.lang.String)">getResultType</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#getValidator()">getValidator</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#parseAndValidate(org.apache.calcite.sql.validate.SqlValidator,java.lang.String)">parseAndValidate</a>, <a href="../../test/SqlValidatorTestCase.Tester.html#parseQuery(java.lang.String)">parseQuery</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getFactory()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFactory</h4>
<pre class="methodSignature"><a href="SqlTestFactory.html" title="class in org.apache.calcite.sql.test">SqlTestFactory</a>&nbsp;getFactory()</pre>
</li>
</ul>
<a id="withQuoting(org.apache.calcite.avatica.util.Quoting)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withQuoting</h4>
<pre class="methodSignature"><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;withQuoting&#8203;(org.apache.calcite.avatica.util.Quoting&nbsp;quoting)</pre>
<div class="block">Returns a tester that tests a given SQL quoting style.</div>
</li>
</ul>
<a id="withQuotedCasing(org.apache.calcite.avatica.util.Casing)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withQuotedCasing</h4>
<pre class="methodSignature"><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;withQuotedCasing&#8203;(org.apache.calcite.avatica.util.Casing&nbsp;casing)</pre>
<div class="block">Returns a tester that applies a given casing policy to quoted
identifiers.</div>
</li>
</ul>
<a id="withUnquotedCasing(org.apache.calcite.avatica.util.Casing)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withUnquotedCasing</h4>
<pre class="methodSignature"><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;withUnquotedCasing&#8203;(org.apache.calcite.avatica.util.Casing&nbsp;casing)</pre>
<div class="block">Returns a tester that applies a given casing policy to unquoted
identifiers.</div>
</li>
</ul>
<a id="withCaseSensitive(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withCaseSensitive</h4>
<pre class="methodSignature"><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;withCaseSensitive&#8203;(boolean&nbsp;sensitive)</pre>
<div class="block">Returns a tester that matches identifiers by case-sensitive or
case-insensitive.</div>
</li>
</ul>
<a id="withLex(org.apache.calcite.config.Lex)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withLex</h4>
<pre class="methodSignature"><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;withLex&#8203;(org.apache.calcite.config.Lex&nbsp;lex)</pre>
<div class="block">Returns a tester that follows a lex policy.</div>
</li>
</ul>
<a id="withConformance(org.apache.calcite.sql.validate.SqlConformance)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withConformance</h4>
<pre class="methodSignature"><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;withConformance&#8203;(org.apache.calcite.sql.validate.SqlConformance&nbsp;conformance)</pre>
<div class="block">Returns a tester that tests conformance to a particular SQL language
version.</div>
</li>
</ul>
<a id="withConnectionFactory(org.apache.calcite.test.CalciteAssert.ConnectionFactory)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withConnectionFactory</h4>
<pre class="methodSignature"><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;withConnectionFactory&#8203;(<a href="../../test/CalciteAssert.ConnectionFactory.html" title="class in org.apache.calcite.test">CalciteAssert.ConnectionFactory</a>&nbsp;connectionFactory)</pre>
<div class="block">Returns a tester that gets connections from a given factory.</div>
</li>
</ul>
<a id="withOperatorTable(org.apache.calcite.sql.SqlOperatorTable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withOperatorTable</h4>
<pre class="methodSignature"><a href="SqlTester.html" title="interface in org.apache.calcite.sql.test">SqlTester</a>&nbsp;withOperatorTable&#8203;(org.apache.calcite.sql.SqlOperatorTable&nbsp;operatorTable)</pre>
<div class="block">Returns a tester that uses a given operator table.</div>
</li>
</ul>
<a id="checkScalar(java.lang.String,java.lang.Object,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkScalar</h4>
<pre class="methodSignature">void&nbsp;checkScalar&#8203;(java.lang.String&nbsp;expression,
java.lang.Object&nbsp;result,
java.lang.String&nbsp;resultType)</pre>
<div class="block">Tests that a scalar SQL expression returns the expected result and the
expected type. For example,
<blockquote>
<pre>checkScalar("1.1 + 2.9", "4.0", "DECIMAL(2, 1) NOT NULL");</pre>
</blockquote></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - Scalar expression</dd>
<dd><code>result</code> - Expected result</dd>
<dd><code>resultType</code> - Expected result type</dd>
</dl>
</li>
</ul>
<a id="checkScalarExact(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkScalarExact</h4>
<pre class="methodSignature">void&nbsp;checkScalarExact&#8203;(java.lang.String&nbsp;expression,
java.lang.String&nbsp;result)</pre>
<div class="block">Tests that a scalar SQL expression returns the expected exact numeric
result as an integer. For example,
<blockquote>
<pre>checkScalarExact("1 + 2", "3");</pre>
</blockquote></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - Scalar expression</dd>
<dd><code>result</code> - Expected result</dd>
</dl>
</li>
</ul>
<a id="checkScalarExact(java.lang.String,java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkScalarExact</h4>
<pre class="methodSignature">void&nbsp;checkScalarExact&#8203;(java.lang.String&nbsp;expression,
java.lang.String&nbsp;expectedType,
java.lang.String&nbsp;result)</pre>
<div class="block">Tests that a scalar SQL expression returns the expected exact numeric
result. For example,
<blockquote>
<pre>checkScalarExact("1 + 2", "3");</pre>
</blockquote></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - Scalar expression</dd>
<dd><code>expectedType</code> - Type we expect the result to have, including
nullability, precision and scale, for example
<code>DECIMAL(2, 1) NOT NULL</code>.</dd>
<dd><code>result</code> - Expected result</dd>
</dl>
</li>
</ul>
<a id="checkScalarApprox(java.lang.String,java.lang.String,double,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkScalarApprox</h4>
<pre class="methodSignature">void&nbsp;checkScalarApprox&#8203;(java.lang.String&nbsp;expression,
java.lang.String&nbsp;expectedType,
double&nbsp;expectedResult,
double&nbsp;delta)</pre>
<div class="block">Tests that a scalar SQL expression returns expected appoximate numeric
result. For example,
<blockquote>
<pre>checkScalarApprox("1.0 + 2.1", "3.1");</pre>
</blockquote></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - Scalar expression</dd>
<dd><code>expectedType</code> - Type we expect the result to have, including
nullability, precision and scale, for example
<code>DECIMAL(2, 1) NOT NULL</code>.</dd>
<dd><code>expectedResult</code> - Expected result</dd>
<dd><code>delta</code> - Allowed margin of error between expected and actual
result</dd>
</dl>
</li>
</ul>
<a id="checkBoolean(java.lang.String,java.lang.Boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkBoolean</h4>
<pre class="methodSignature">void&nbsp;checkBoolean&#8203;(java.lang.String&nbsp;expression,
java.lang.Boolean&nbsp;result)</pre>
<div class="block">Tests that a scalar SQL expression returns the expected boolean result.
For example,
<blockquote>
<pre>checkScalarExact("TRUE AND FALSE", Boolean.TRUE);</pre>
</blockquote>
<p>The expected result can be null:
<blockquote>
<pre>checkScalarExact("NOT UNKNOWN", null);</pre>
</blockquote></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - Scalar expression</dd>
<dd><code>result</code> - Expected result (null signifies NULL).</dd>
</dl>
</li>
</ul>
<a id="checkString(java.lang.String,java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkString</h4>
<pre class="methodSignature">void&nbsp;checkString&#8203;(java.lang.String&nbsp;expression,
java.lang.String&nbsp;result,
java.lang.String&nbsp;resultType)</pre>
<div class="block">Tests that a scalar SQL expression returns the expected string result.
For example,
<blockquote>
<pre>checkScalarExact("'ab' || 'c'", "abc");</pre>
</blockquote></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - Scalar expression</dd>
<dd><code>result</code> - Expected result</dd>
<dd><code>resultType</code> - Expected result type</dd>
</dl>
</li>
</ul>
<a id="checkNull(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkNull</h4>
<pre class="methodSignature">void&nbsp;checkNull&#8203;(java.lang.String&nbsp;expression)</pre>
<div class="block">Tests that a SQL expression returns the SQL NULL value. For example,
<blockquote>
<pre>checkNull("CHAR_LENGTH(CAST(NULL AS VARCHAR(3))");</pre>
</blockquote></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - Scalar expression</dd>
</dl>
</li>
</ul>
<a id="checkType(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkType</h4>
<pre class="methodSignature">void&nbsp;checkType&#8203;(java.lang.String&nbsp;expression,
java.lang.String&nbsp;type)</pre>
<div class="block">Tests that a SQL expression has a given type. For example,
<blockquote>
<code>checkType("SUBSTR('hello' FROM 1 FOR 3)",
"VARCHAR(3) NOT NULL");</code>
</blockquote>
<p>This method checks length/precision, scale, and whether the type allows
NULL values, so is more precise than the type-checking done by methods
such as <a href="#checkScalarExact(java.lang.String,java.lang.String)"><code>checkScalarExact(java.lang.String, java.lang.String)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - Scalar expression</dd>
<dd><code>type</code> - Type string</dd>
</dl>
</li>
</ul>
<a id="checkColumnType(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkColumnType</h4>
<pre class="methodSignature">void&nbsp;checkColumnType&#8203;(java.lang.String&nbsp;sql,
java.lang.String&nbsp;type)</pre>
<div class="block">Checks that a query returns one column of an expected type. For example,
<code>checkType("VALUES (1 + 2)", "INTEGER NOT NULL")</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../test/SqlValidatorTestCase.Tester.html#checkColumnType(java.lang.String,java.lang.String)">checkColumnType</a></code>&nbsp;in interface&nbsp;<code><a href="../../test/SqlValidatorTestCase.Tester.html" title="interface in org.apache.calcite.test">SqlValidatorTestCase.Tester</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sql</code> - Query expression</dd>
<dd><code>type</code> - Type string</dd>
</dl>
</li>
</ul>
<a id="check(java.lang.String,org.apache.calcite.sql.test.SqlTester.TypeChecker,java.lang.Object,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>check</h4>
<pre class="methodSignature">void&nbsp;check&#8203;(java.lang.String&nbsp;query,
<a href="SqlTester.TypeChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.TypeChecker</a>&nbsp;typeChecker,
java.lang.Object&nbsp;result,
double&nbsp;delta)</pre>
<div class="block">Tests that a SQL query returns a single column with the given type. For
example,
<blockquote>
<pre>check("VALUES (1 + 2)", "3", SqlTypeName.Integer);</pre>
</blockquote>
<p>If <code>result</code> is null, the expression must yield the SQL NULL
value. If <code>result</code> is a <code>Pattern</code>, the
result must match that pattern.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>query</code> - SQL query</dd>
<dd><code>typeChecker</code> - Checks whether the result is the expected type; must
not be null</dd>
<dd><code>result</code> - Expected result</dd>
<dd><code>delta</code> - The acceptable tolerance between the expected and actual</dd>
</dl>
</li>
</ul>
<a id="check(java.lang.String,org.apache.calcite.sql.test.SqlTester.TypeChecker,org.apache.calcite.sql.test.SqlTester.ParameterChecker,org.apache.calcite.sql.test.SqlTester.ResultChecker)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>check</h4>
<pre class="methodSignature">void&nbsp;check&#8203;(java.lang.String&nbsp;query,
<a href="SqlTester.TypeChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.TypeChecker</a>&nbsp;typeChecker,
<a href="SqlTester.ParameterChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.ParameterChecker</a>&nbsp;parameterChecker,
<a href="SqlTester.ResultChecker.html" title="interface in org.apache.calcite.sql.test">SqlTester.ResultChecker</a>&nbsp;resultChecker)</pre>
<div class="block">Tests that a SQL query returns a result of expected type and value.
Checking of type and value are abstracted using <a href="SqlTester.TypeChecker.html" title="interface in org.apache.calcite.sql.test"><code>SqlTester.TypeChecker</code></a>
and <a href="SqlTester.ResultChecker.html" title="interface in org.apache.calcite.sql.test"><code>SqlTester.ResultChecker</code></a> functors.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>query</code> - SQL query</dd>
<dd><code>typeChecker</code> - Checks whether the result is the expected type; must
not be null</dd>
<dd><code>parameterChecker</code> - Checks whether the parameters are of expected
types</dd>
<dd><code>resultChecker</code> - Checks whether the result has the expected value;
must not be null</dd>
</dl>
</li>
</ul>
<a id="checkMonotonic(java.lang.String,org.apache.calcite.sql.validate.SqlMonotonicity)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkMonotonic</h4>
<pre class="methodSignature">void&nbsp;checkMonotonic&#8203;(java.lang.String&nbsp;query,
org.apache.calcite.sql.validate.SqlMonotonicity&nbsp;expectedMonotonicity)</pre>
<div class="block">Tests that the first column of a SQL query has a given monotonicity.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expectedMonotonicity</code> - Expected monotonicity</dd>
<dd><code>query</code> - SQL query</dd>
</dl>
</li>
</ul>
<a id="setFor(org.apache.calcite.sql.SqlOperator,org.apache.calcite.sql.test.SqlTester.VmName...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFor</h4>
<pre class="methodSignature">void&nbsp;setFor&#8203;(org.apache.calcite.sql.SqlOperator&nbsp;operator,
<a href="SqlTester.VmName.html" title="enum in org.apache.calcite.sql.test">SqlTester.VmName</a>...&nbsp;unimplementedVmNames)</pre>
<div class="block">Declares that this test is for a given operator. So we can check that all
operators are tested.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>operator</code> - Operator</dd>
<dd><code>unimplementedVmNames</code> - Names of virtual machines for which this</dd>
</dl>
</li>
</ul>
<a id="checkAgg(java.lang.String,java.lang.String[],java.lang.Object,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkAgg</h4>
<pre class="methodSignature">void&nbsp;checkAgg&#8203;(java.lang.String&nbsp;expr,
java.lang.String[]&nbsp;inputValues,
java.lang.Object&nbsp;result,
double&nbsp;delta)</pre>
<div class="block">Checks that an aggregate expression returns the expected result.
<p>For example, <code>checkAgg("AVG(DISTINCT x)", new String[] {"2", "3",
null, "3" }, new Double(2.5), 0);</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expr</code> - Aggregate expression, e.g. <code>SUM(DISTINCT x)</code></dd>
<dd><code>inputValues</code> - Array of input values, e.g. <code>["1", null,
"2"]</code>.</dd>
<dd><code>result</code> - Expected result</dd>
<dd><code>delta</code> - Allowable variance from expected result</dd>
</dl>
</li>
</ul>
<a id="checkAggWithMultipleArgs(java.lang.String,java.lang.String[][],java.lang.Object,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkAggWithMultipleArgs</h4>
<pre class="methodSignature">void&nbsp;checkAggWithMultipleArgs&#8203;(java.lang.String&nbsp;expr,
java.lang.String[][]&nbsp;inputValues,
java.lang.Object&nbsp;result,
double&nbsp;delta)</pre>
<div class="block">Checks that an aggregate expression with multiple args returns the expected
result.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expr</code> - Aggregate expression, e.g. <code>AGG_FUNC(x, x2, x3)</code></dd>
<dd><code>inputValues</code> - Nested array of input values, e.g. <code>[
["1", null, "2"]
["3", "4", null]
]</code>.</dd>
<dd><code>result</code> - Expected result</dd>
<dd><code>delta</code> - Allowable variance from expected result</dd>
</dl>
</li>
</ul>
<a id="checkWinAgg(java.lang.String,java.lang.String[],java.lang.String,java.lang.String,java.lang.Object,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkWinAgg</h4>
<pre class="methodSignature">void&nbsp;checkWinAgg&#8203;(java.lang.String&nbsp;expr,
java.lang.String[]&nbsp;inputValues,
java.lang.String&nbsp;windowSpec,
java.lang.String&nbsp;type,
java.lang.Object&nbsp;result,
double&nbsp;delta)</pre>
<div class="block">Checks that a windowed aggregate expression returns the expected result.
<p>For example, <code>checkWinAgg("FIRST_VALUE(x)", new String[] {"2",
"3", null, "3" }, "INTEGER NOT NULL", 2, 0d);</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expr</code> - Aggregate expression, e.g. <code>SUM(DISTINCT x)</code></dd>
<dd><code>inputValues</code> - Array of input values, e.g. <code>["1", null,
"2"]</code>.</dd>
<dd><code>type</code> - Expected result type</dd>
<dd><code>result</code> - Expected result</dd>
<dd><code>delta</code> - Allowable variance from expected result</dd>
</dl>
</li>
</ul>
<a id="checkFails(java.lang.String,java.lang.String,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkFails</h4>
<pre class="methodSignature">void&nbsp;checkFails&#8203;(java.lang.String&nbsp;expression,
java.lang.String&nbsp;expectedError,
boolean&nbsp;runtime)</pre>
<div class="block">Tests that a scalar SQL expression fails at run time.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - SQL scalar expression</dd>
<dd><code>expectedError</code> - Pattern for expected error. If !runtime, must
include an error location.</dd>
<dd><code>runtime</code> - If true, must fail at runtime; if false, must fail at
validate time</dd>
</dl>
</li>
</ul>
<a id="checkQueryFails(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkQueryFails</h4>
<pre class="methodSignature">void&nbsp;checkQueryFails&#8203;(java.lang.String&nbsp;sql,
java.lang.String&nbsp;expectedError)</pre>
<div class="block">Tests that a SQL query fails at prepare time.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sql</code> - SQL query</dd>
<dd><code>expectedError</code> - Pattern for expected error. Must
include an error location.</dd>
</dl>
</li>
</ul>
<a id="checkQuery(java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>checkQuery</h4>
<pre class="methodSignature">void&nbsp;checkQuery&#8203;(java.lang.String&nbsp;sql)</pre>
<div class="block">Tests that a SQL query succeeds at prepare time.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sql</code> - SQL query</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SqlTester.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>