blob: c8da248c3df22abab6d125747a11abdc012343d9 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>SqlParserTest (Apache Calcite API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.calcite.sql.parser, class: SqlParserTest">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<div class="about-language"><b>Apache Calcite</b></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</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#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li><a href="#nested-class-summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.sql.parser</a></div>
<h1 title="Class SqlParserTest" class="title">Class SqlParserTest</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">org.apache.calcite.sql.parser.SqlParserTest</div>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">SqlParserTest</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
<div class="block">A <code>SqlParserTest</code> is a unit-test for
<a href="SqlParser.html" title="class in org.apache.calcite.sql.parser"><code>the SQL parser</code></a>.
<p>To reuse this test for an extension parser, override the
<a href="#fixture()"><code>fixture()</code></a> method,
calling <a href="SqlParserFixture.html#withConfig(java.util.function.UnaryOperator)"><code>SqlParserFixture.withConfig(UnaryOperator)</code></a>
and then <a href="SqlParser.Config.html#withParserFactory(org.apache.calcite.sql.parser.SqlParserImplFactory)"><code>SqlParser.Config.withParserFactory(SqlParserImplFactory)</code></a>.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="SqlParserFixture.html" title="class in org.apache.calcite.sql.parser"><code>SqlParserFixture</code></a></li>
<li><code>SqlParserListFixture</code></li>
</ul>
</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="caption"><span>Nested Classes</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>protected static interface&nbsp;</code></div>
<div class="col-second even-row-color"><code><a href="SqlParserTest.Tester.html" class="type-name-link" title="interface in org.apache.calcite.sql.parser">SqlParserTest.Tester</a></code></div>
<div class="col-last even-row-color">
<div class="block">Callback to control how test actions are performed.</div>
</div>
<div class="col-first odd-row-color"><code>protected static class&nbsp;</code></div>
<div class="col-second odd-row-color"><code><a href="SqlParserTest.TesterImpl.html" class="type-name-link" title="class in org.apache.calcite.sql.parser">SqlParserTest.TesterImpl</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Default implementation of <a href="SqlParserTest.Tester.html" title="interface in org.apache.calcite.sql.parser"><code>SqlParserTest.Tester</code></a>.</div>
</div>
<div class="col-first even-row-color"><code>static class&nbsp;</code></div>
<div class="col-second even-row-color"><code><a href="SqlParserTest.UnparsingTesterImpl.html" class="type-name-link" title="class in org.apache.calcite.sql.parser">SqlParserTest.UnparsingTesterImpl</a></code></div>
<div class="col-last even-row-color">
<div class="block">Implementation of <a href="SqlParserTest.Tester.html" title="interface in org.apache.calcite.sql.parser"><code>SqlParserTest.Tester</code></a> which makes sure that the results of
unparsing a query are consistent with the original query.</div>
</div>
</div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">SqlParserTest</a>()</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#checkTimeUnitCodes(java.util.Map)" class="member-name-link">checkTimeUnitCodes</a><wbr>(<a href="https://docs.oracle.com/javase/9/docs/api/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr>org.apache.calcite.avatica.util.TimeUnit&gt;&nbsp;timeUnitCodes)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Checks parsing of built-in functions that accept time unit
abbreviations.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="SqlParserFixture.html" title="class in org.apache.calcite.sql.parser">SqlParserFixture</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#expr(java.lang.String)" class="member-name-link">expr</a><wbr>(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;sql)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SqlParserFixture.html" title="class in org.apache.calcite.sql.parser">SqlParserFixture</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#fixture()" class="member-name-link">fixture</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates the test fixture that determines the behavior of tests.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="https://docs.oracle.com/javase/9/docs/api/java/util/SortedSet.html" title="class or interface in java.util" class="external-link">SortedSet</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getReservedKeywords()" class="member-name-link">getReservedKeywords</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static org.hamcrest.Matcher&lt;<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isDdl()" class="member-name-link">isDdl</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns a <code>Matcher</code> that succeeds if the given <a href="../SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> is a
DDL statement.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isReserved(java.lang.String)" class="member-name-link">isReserved</a><wbr>(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;word)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns whether a word is reserved in this parser.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>protected static <a href="https://docs.oracle.com/javase/9/docs/api/java/util/SortedSet.html" title="class or interface in java.util" class="external-link">SortedSet</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#keywords(java.lang.String)" class="member-name-link">keywords</a><wbr>(@Nullable <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;dialect)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="SqlParserFixture.html" title="class in org.apache.calcite.sql.parser">SqlParserFixture</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#sql(java.lang.String)" class="member-name-link">sql</a><wbr>(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;sql)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>protected static <a href="SqlParser.html" title="class in org.apache.calcite.sql.parser">SqlParser</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#sqlParser(java.io.Reader,java.util.function.UnaryOperator)" class="member-name-link">sqlParser</a><wbr>(<a href="https://docs.oracle.com/javase/9/docs/api/java/io/Reader.html" title="class or interface in java.io" class="external-link">Reader</a>&nbsp;source,
<a href="https://docs.oracle.com/javase/9/docs/api/java/util/function/UnaryOperator.html" title="class or interface in java.util.function" class="external-link">UnaryOperator</a>&lt;<a href="SqlParser.Config.html" title="interface in org.apache.calcite.sql.parser">SqlParser.Config</a>&gt;&nbsp;transform)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalDayFailsValidation()" class="member-name-link">subTestIntervalDayFailsValidation</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalDayPositive()" class="member-name-link">subTestIntervalDayPositive</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalDayToHourFailsValidation()" class="member-name-link">subTestIntervalDayToHourFailsValidation</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalDayToHourPositive()" class="member-name-link">subTestIntervalDayToHourPositive</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalDayToMinuteFailsValidation()" class="member-name-link">subTestIntervalDayToMinuteFailsValidation</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalDayToMinutePositive()" class="member-name-link">subTestIntervalDayToMinutePositive</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalDayToSecondFailsValidation()" class="member-name-link">subTestIntervalDayToSecondFailsValidation</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalDayToSecondPositive()" class="member-name-link">subTestIntervalDayToSecondPositive</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalHourFailsValidation()" class="member-name-link">subTestIntervalHourFailsValidation</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalHourPositive()" class="member-name-link">subTestIntervalHourPositive</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalHourToMinuteFailsValidation()" class="member-name-link">subTestIntervalHourToMinuteFailsValidation</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalHourToMinutePositive()" class="member-name-link">subTestIntervalHourToMinutePositive</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalHourToSecondFailsValidation()" class="member-name-link">subTestIntervalHourToSecondFailsValidation</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalHourToSecondPositive()" class="member-name-link">subTestIntervalHourToSecondPositive</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalMinuteFailsValidation()" class="member-name-link">subTestIntervalMinuteFailsValidation</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalMinutePositive()" class="member-name-link">subTestIntervalMinutePositive</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalMinuteToSecondFailsValidation()" class="member-name-link">subTestIntervalMinuteToSecondFailsValidation</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalMinuteToSecondPositive()" class="member-name-link">subTestIntervalMinuteToSecondPositive</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalMonthFailsValidation()" class="member-name-link">subTestIntervalMonthFailsValidation</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalMonthPositive()" class="member-name-link">subTestIntervalMonthPositive</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalSecondFailsValidation()" class="member-name-link">subTestIntervalSecondFailsValidation</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalSecondPositive()" class="member-name-link">subTestIntervalSecondPositive</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalYearFailsValidation()" class="member-name-link">subTestIntervalYearFailsValidation</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalYearPositive()" class="member-name-link">subTestIntervalYearPositive</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalYearToMonthFailsValidation()" class="member-name-link">subTestIntervalYearToMonthFailsValidation</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#subTestIntervalYearToMonthPositive()" class="member-name-link">subTestIntervalYearToMonthPositive</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Runs tests for INTERVAL...</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#testHoist()" class="member-name-link">testHoist</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Tests <a href="../../tools/Hoist.html" title="class in org.apache.calcite.tools"><code>Hoist</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#testMetadata()" class="member-name-link">testMetadata</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>protected static <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#varToStr(org.apache.calcite.tools.Hoist.Variable)" class="member-name-link">varToStr</a><wbr>(<a href="../../tools/Hoist.Variable.html" title="class in org.apache.calcite.tools">Hoist.Variable</a>&nbsp;v)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>SqlParserTest</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">SqlParserTest</span>()</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="fixture()">
<h3>fixture</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SqlParserFixture.html" title="class in org.apache.calcite.sql.parser">SqlParserFixture</a></span>&nbsp;<span class="element-name">fixture</span>()</div>
<div class="block">Creates the test fixture that determines the behavior of tests.
Sub-classes that, say, test different parser implementations should
override.</div>
</section>
</li>
<li>
<section class="detail" id="sql(java.lang.String)">
<h3>sql</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="SqlParserFixture.html" title="class in org.apache.calcite.sql.parser">SqlParserFixture</a></span>&nbsp;<span class="element-name">sql</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;sql)</span></div>
</section>
</li>
<li>
<section class="detail" id="expr(java.lang.String)">
<h3>expr</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="SqlParserFixture.html" title="class in org.apache.calcite.sql.parser">SqlParserFixture</a></span>&nbsp;<span class="element-name">expr</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;sql)</span></div>
</section>
</li>
<li>
<section class="detail" id="sqlParser(java.io.Reader,java.util.function.UnaryOperator)">
<h3>sqlParser</h3>
<div class="member-signature"><span class="modifiers">protected static</span>&nbsp;<span class="return-type"><a href="SqlParser.html" title="class in org.apache.calcite.sql.parser">SqlParser</a></span>&nbsp;<span class="element-name">sqlParser</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/9/docs/api/java/io/Reader.html" title="class or interface in java.io" class="external-link">Reader</a>&nbsp;source,
<a href="https://docs.oracle.com/javase/9/docs/api/java/util/function/UnaryOperator.html" title="class or interface in java.util.function" class="external-link">UnaryOperator</a>&lt;<a href="SqlParser.Config.html" title="interface in org.apache.calcite.sql.parser">SqlParser.Config</a>&gt;&nbsp;transform)</span></div>
</section>
</li>
<li>
<section class="detail" id="isDdl()">
<h3>isDdl</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">org.hamcrest.Matcher&lt;<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&gt;</span>&nbsp;<span class="element-name">isDdl</span>()</div>
<div class="block">Returns a <code>Matcher</code> that succeeds if the given <a href="../SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> is a
DDL statement.</div>
</section>
</li>
<li>
<section class="detail" id="getReservedKeywords()">
<h3>getReservedKeywords</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/SortedSet.html" title="class or interface in java.util" class="external-link">SortedSet</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getReservedKeywords</span>()</div>
</section>
</li>
<li>
<section class="detail" id="isReserved(java.lang.String)">
<h3>isReserved</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isReserved</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;word)</span></div>
<div class="block">Returns whether a word is reserved in this parser. This method can be
used to disable tests that behave differently with different collections
of reserved words.</div>
</section>
</li>
<li>
<section class="detail" id="keywords(java.lang.String)">
<h3>keywords</h3>
<div class="member-signature"><span class="modifiers">protected static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/SortedSet.html" title="class or interface in java.util" class="external-link">SortedSet</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">keywords</span><wbr><span class="parameters">(@Nullable <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;dialect)</span></div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalYearPositive()">
<h3>subTestIntervalYearPositive</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalYearPositive</span>()</div>
<div class="block">Runs tests for INTERVAL... YEAR that should pass both parser and
validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXPositive() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalYearToMonthPositive()">
<h3>subTestIntervalYearToMonthPositive</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalYearToMonthPositive</span>()</div>
<div class="block">Runs tests for INTERVAL... YEAR TO MONTH that should pass both parser and
validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXPositive() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalMonthPositive()">
<h3>subTestIntervalMonthPositive</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalMonthPositive</span>()</div>
<div class="block">Runs tests for INTERVAL... MONTH that should pass both parser and
validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXPositive() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalDayPositive()">
<h3>subTestIntervalDayPositive</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalDayPositive</span>()</div>
<div class="block">Runs tests for INTERVAL... DAY that should pass both parser and
validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXPositive() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalDayToHourPositive()">
<h3>subTestIntervalDayToHourPositive</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalDayToHourPositive</span>()</div>
<div class="block">Runs tests for INTERVAL... DAY TO HOUR that should pass both parser and
validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXPositive() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalDayToMinutePositive()">
<h3>subTestIntervalDayToMinutePositive</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalDayToMinutePositive</span>()</div>
<div class="block">Runs tests for INTERVAL... DAY TO MINUTE that should pass both parser and
validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXPositive() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalDayToSecondPositive()">
<h3>subTestIntervalDayToSecondPositive</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalDayToSecondPositive</span>()</div>
<div class="block">Runs tests for INTERVAL... DAY TO SECOND that should pass both parser and
validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXPositive() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalHourPositive()">
<h3>subTestIntervalHourPositive</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalHourPositive</span>()</div>
<div class="block">Runs tests for INTERVAL... HOUR that should pass both parser and
validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXPositive() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalHourToMinutePositive()">
<h3>subTestIntervalHourToMinutePositive</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalHourToMinutePositive</span>()</div>
<div class="block">Runs tests for INTERVAL... HOUR TO MINUTE that should pass both parser
and validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXPositive() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalHourToSecondPositive()">
<h3>subTestIntervalHourToSecondPositive</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalHourToSecondPositive</span>()</div>
<div class="block">Runs tests for INTERVAL... HOUR TO SECOND that should pass both parser
and validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXPositive() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalMinutePositive()">
<h3>subTestIntervalMinutePositive</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalMinutePositive</span>()</div>
<div class="block">Runs tests for INTERVAL... MINUTE that should pass both parser and
validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXPositive() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalMinuteToSecondPositive()">
<h3>subTestIntervalMinuteToSecondPositive</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalMinuteToSecondPositive</span>()</div>
<div class="block">Runs tests for INTERVAL... MINUTE TO SECOND that should pass both parser
and validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXPositive() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalSecondPositive()">
<h3>subTestIntervalSecondPositive</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalSecondPositive</span>()</div>
<div class="block">Runs tests for INTERVAL... SECOND that should pass both parser and
validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXPositive() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalYearFailsValidation()">
<h3>subTestIntervalYearFailsValidation</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalYearFailsValidation</span>()</div>
<div class="block">Runs tests for INTERVAL... YEAR that should pass parser but fail
validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXFailsValidation() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalYearToMonthFailsValidation()">
<h3>subTestIntervalYearToMonthFailsValidation</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalYearToMonthFailsValidation</span>()</div>
<div class="block">Runs tests for INTERVAL... YEAR TO MONTH that should pass parser but fail
validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXFailsValidation() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalMonthFailsValidation()">
<h3>subTestIntervalMonthFailsValidation</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalMonthFailsValidation</span>()</div>
<div class="block">Runs tests for INTERVAL... MONTH that should pass parser but fail
validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXFailsValidation() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalDayFailsValidation()">
<h3>subTestIntervalDayFailsValidation</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalDayFailsValidation</span>()</div>
<div class="block">Runs tests for INTERVAL... DAY that should pass parser but fail
validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXFailsValidation() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalDayToHourFailsValidation()">
<h3>subTestIntervalDayToHourFailsValidation</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalDayToHourFailsValidation</span>()</div>
<div class="block">Runs tests for INTERVAL... DAY TO HOUR that should pass parser but fail
validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXFailsValidation() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalDayToMinuteFailsValidation()">
<h3>subTestIntervalDayToMinuteFailsValidation</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalDayToMinuteFailsValidation</span>()</div>
<div class="block">Runs tests for INTERVAL... DAY TO MINUTE that should pass parser but fail
validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXFailsValidation() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalDayToSecondFailsValidation()">
<h3>subTestIntervalDayToSecondFailsValidation</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalDayToSecondFailsValidation</span>()</div>
<div class="block">Runs tests for INTERVAL... DAY TO SECOND that should pass parser but fail
validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXFailsValidation() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalHourFailsValidation()">
<h3>subTestIntervalHourFailsValidation</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalHourFailsValidation</span>()</div>
<div class="block">Runs tests for INTERVAL... HOUR that should pass parser but fail
validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXFailsValidation() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalHourToMinuteFailsValidation()">
<h3>subTestIntervalHourToMinuteFailsValidation</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalHourToMinuteFailsValidation</span>()</div>
<div class="block">Runs tests for INTERVAL... HOUR TO MINUTE that should pass parser but
fail validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXFailsValidation() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalHourToSecondFailsValidation()">
<h3>subTestIntervalHourToSecondFailsValidation</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalHourToSecondFailsValidation</span>()</div>
<div class="block">Runs tests for INTERVAL... HOUR TO SECOND that should pass parser but
fail validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXFailsValidation() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalMinuteFailsValidation()">
<h3>subTestIntervalMinuteFailsValidation</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalMinuteFailsValidation</span>()</div>
<div class="block">Runs tests for INTERVAL... MINUTE that should pass parser but fail
validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXFailsValidation() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalMinuteToSecondFailsValidation()">
<h3>subTestIntervalMinuteToSecondFailsValidation</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalMinuteToSecondFailsValidation</span>()</div>
<div class="block">Runs tests for INTERVAL... MINUTE TO SECOND that should pass parser but
fail validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXFailsValidation() tests.</div>
</section>
</li>
<li>
<section class="detail" id="subTestIntervalSecondFailsValidation()">
<h3>subTestIntervalSecondFailsValidation</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">subTestIntervalSecondFailsValidation</span>()</div>
<div class="block">Runs tests for INTERVAL... SECOND that should pass parser but fail
validator. A substantially identical set of tests exists in
SqlValidatorTest, and any changes here should be synchronized there.
Similarly, any changes to tests here should be echoed appropriately to
each of the other 12 subTestIntervalXXXFailsValidation() tests.</div>
</section>
</li>
<li>
<section class="detail" id="checkTimeUnitCodes(java.util.Map)">
<h3>checkTimeUnitCodes</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">checkTimeUnitCodes</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/9/docs/api/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr>org.apache.calcite.avatica.util.TimeUnit&gt;&nbsp;timeUnitCodes)</span></div>
<div class="block">Checks parsing of built-in functions that accept time unit
abbreviations.
<p>For example, <code>EXTRACT(Y FROM orderDate)</code> is using
"Y" as an abbreviation for "YEAR".
<p>Override if your parser supports more such functions.</div>
</section>
</li>
<li>
<section class="detail" id="testMetadata()">
<h3>testMetadata</h3>
<div class="member-signature"><span class="annotations">@Test
</span><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">testMetadata</span>()</div>
</section>
</li>
<li>
<section class="detail" id="testHoist()">
<h3>testHoist</h3>
<div class="member-signature"><span class="annotations">@Test
</span><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">testHoist</span>()</div>
<div class="block">Tests <a href="../../tools/Hoist.html" title="class in org.apache.calcite.tools"><code>Hoist</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="varToStr(org.apache.calcite.tools.Hoist.Variable)">
<h3>varToStr</h3>
<div class="member-signature"><span class="modifiers">protected static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">varToStr</span><wbr><span class="parameters">(<a href="../../tools/Hoist.Variable.html" title="class in org.apache.calcite.tools">Hoist.Variable</a>&nbsp;v)</span></div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &copy; 2012-2022 Apache Software Foundation. All Rights Reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>