blob: c7acd0993a22dba50eac90c009e04b05010e47f8 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.apache.calcite.sql (Apache Calcite calcite API)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="org.apache.calcite.sql (Apache Calcite calcite API)";
}
}
catch(err) {
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>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">Help</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/calcite/server/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../org/apache/calcite/sql/advise/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/calcite/sql/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></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>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;org.apache.calcite.sql</h1>
<div class="docSummary">
<div class="block">Provides a SQL parser and object model.</div>
</div>
<p>See:&nbsp;<a href="#package.description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlDialect.Context.html" title="interface in org.apache.calcite.sql">SqlDialect.Context</a></td>
<td class="colLast">
<div class="block">Information for creating a dialect.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlDialectFactory.html" title="interface in org.apache.calcite.sql">SqlDialectFactory</a></td>
<td class="colLast">
<div class="block">Creates a <code>SqlDialect</code> appropriate
for a given database metadata object.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlExecutableStatement.html" title="interface in org.apache.calcite.sql">SqlExecutableStatement</a></td>
<td class="colLast">Deprecated</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlLiteral.SqlSymbol.html" title="interface in org.apache.calcite.sql">SqlLiteral.SqlSymbol</a></td>
<td class="colLast">Deprecated</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlOperandCountRange.html" title="interface in org.apache.calcite.sql">SqlOperandCountRange</a></td>
<td class="colLast">
<div class="block">A class that describes how many operands an operator can take.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlOperatorTable.html" title="interface in org.apache.calcite.sql">SqlOperatorTable</a></td>
<td class="colLast">
<div class="block">SqlOperatorTable defines a directory interface for enumerating and looking up
SQL operators and functions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSpecialOperator.TokenSequence.html" title="interface in org.apache.calcite.sql">SqlSpecialOperator.TokenSequence</a></td>
<td class="colLast">
<div class="block">List of tokens: the input to a parser.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSplittableAggFunction.html" title="interface in org.apache.calcite.sql">SqlSplittableAggFunction</a></td>
<td class="colLast">
<div class="block">Aggregate function that can be split into partial aggregates.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSplittableAggFunction.Registry.html" title="interface in org.apache.calcite.sql">SqlSplittableAggFunction.Registry</a>&lt;E&gt;</td>
<td class="colLast">
<div class="block">Collection in which one can register an element.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a></td>
<td class="colLast">
<div class="block">A <code>SqlWriter</code> is the target to construct a SQL statement from a
parse tree.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlWriter.Frame.html" title="interface in org.apache.calcite.sql">SqlWriter.Frame</a></td>
<td class="colLast">
<div class="block">A Frame is a piece of generated text which shares a common indentation
level.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlWriter.FrameType.html" title="interface in org.apache.calcite.sql">SqlWriter.FrameType</a></td>
<td class="colLast">
<div class="block">Frame type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlWriterConfig.html" title="interface in org.apache.calcite.sql">SqlWriterConfig</a></td>
<td class="colLast">
<div class="block">Configuration for <a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql"><code>SqlWriter</code></a> and <a href="../../../../org/apache/calcite/sql/pretty/SqlPrettyWriter.html" title="class in org.apache.calcite.sql.pretty"><code>SqlPrettyWriter</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/Symbolizable.html" title="interface in org.apache.calcite.sql">Symbolizable</a></td>
<td class="colLast">
<div class="block">Sub-class should be a Enum and can convert to a <a href="../../../../org/apache/calcite/sql/SqlLiteral.html" title="class in org.apache.calcite.sql"><code>SqlLiteral</code></a>.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/ExplicitOperatorBinding.html" title="class in org.apache.calcite.sql">ExplicitOperatorBinding</a></td>
<td class="colLast">
<div class="block"><code>ExplicitOperatorBinding</code> implements <a href="../../../../org/apache/calcite/sql/SqlOperatorBinding.html" title="class in org.apache.calcite.sql"><code>SqlOperatorBinding</code></a>
via an underlying array of known operand types.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlAbstractDateTimeLiteral.html" title="class in org.apache.calcite.sql">SqlAbstractDateTimeLiteral</a></td>
<td class="colLast">
<div class="block">A SQL literal representing a DATE, TIME or TIMESTAMP value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlAccessType.html" title="class in org.apache.calcite.sql">SqlAccessType</a></td>
<td class="colLast">
<div class="block">SqlAccessType is represented by a set of allowed access types</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a></td>
<td class="colLast">
<div class="block">Abstract base class for the definition of an aggregate function: an operator
which aggregates sets of values into a result.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlAlienSystemTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlAlienSystemTypeNameSpec</a></td>
<td class="colLast">
<div class="block">Represents a type name for an alien system.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlAlter.html" title="class in org.apache.calcite.sql">SqlAlter</a></td>
<td class="colLast">
<div class="block">Base class for an ALTER statements parse tree nodes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlAsOperator.html" title="class in org.apache.calcite.sql">SqlAsOperator</a></td>
<td class="colLast">
<div class="block">The <code>AS</code> operator associates an expression with an alias.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlBasicCall.html" title="class in org.apache.calcite.sql">SqlBasicCall</a></td>
<td class="colLast">
<div class="block">Implementation of <a href="../../../../org/apache/calcite/sql/SqlCall.html" title="class in org.apache.calcite.sql"><code>SqlCall</code></a> that keeps its operands in an array.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlBasicTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlBasicTypeNameSpec</a></td>
<td class="colLast">
<div class="block">A sql type name specification of basic sql type.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlBinaryOperator.html" title="class in org.apache.calcite.sql">SqlBinaryOperator</a></td>
<td class="colLast">
<div class="block"><code>SqlBinaryOperator</code> is a binary operator.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlBinaryStringLiteral.html" title="class in org.apache.calcite.sql">SqlBinaryStringLiteral</a></td>
<td class="colLast">
<div class="block">A binary (or hexadecimal) string literal.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a></td>
<td class="colLast">
<div class="block">A <code>SqlCall</code> is a call to an <a href="../../../../org/apache/calcite/sql/SqlOperator.html" title="class in org.apache.calcite.sql"><code>operator</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlCallBinding.html" title="class in org.apache.calcite.sql">SqlCallBinding</a></td>
<td class="colLast">
<div class="block"><code>SqlCallBinding</code> implements <a href="../../../../org/apache/calcite/sql/SqlOperatorBinding.html" title="class in org.apache.calcite.sql"><code>SqlOperatorBinding</code></a> by
analyzing to the operands of a <a href="../../../../org/apache/calcite/sql/SqlCall.html" title="class in org.apache.calcite.sql"><code>SqlCall</code></a> with a <a href="../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate"><code>SqlValidator</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlCharStringLiteral.html" title="class in org.apache.calcite.sql">SqlCharStringLiteral</a></td>
<td class="colLast">
<div class="block">A character string literal.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlCollation.html" title="class in org.apache.calcite.sql">SqlCollation</a></td>
<td class="colLast">
<div class="block">A <code>SqlCollation</code> is an object representing a <code>Collate</code>
statement.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlCollectionTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlCollectionTypeNameSpec</a></td>
<td class="colLast">
<div class="block">A sql type name specification of collection type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlCreate.html" title="class in org.apache.calcite.sql">SqlCreate</a></td>
<td class="colLast">
<div class="block">Base class for an CREATE statements parse tree nodes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlDataTypeSpec.html" title="class in org.apache.calcite.sql">SqlDataTypeSpec</a></td>
<td class="colLast">
<div class="block">Represents a SQL data type specification in a parse tree.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlDateLiteral.html" title="class in org.apache.calcite.sql">SqlDateLiteral</a></td>
<td class="colLast">
<div class="block">A SQL literal representing a DATE value, such as <code>DATE
'2004-10-22'</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlDdl.html" title="class in org.apache.calcite.sql">SqlDdl</a></td>
<td class="colLast">
<div class="block">Base class for CREATE, DROP and other DDL statements.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlDelete.html" title="class in org.apache.calcite.sql">SqlDelete</a></td>
<td class="colLast">
<div class="block">A <code>SqlDelete</code> is a node of a parse tree which represents a DELETE
statement.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlDescribeSchema.html" title="class in org.apache.calcite.sql">SqlDescribeSchema</a></td>
<td class="colLast">
<div class="block">A <code>SqlDescribeSchema</code> is a node of a parse tree that represents a
<code>DESCRIBE SCHEMA</code> statement.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlDescribeTable.html" title="class in org.apache.calcite.sql">SqlDescribeTable</a></td>
<td class="colLast">
<div class="block">A <code>SqlDescribeTable</code> is a node of a parse tree that represents a
<code>DESCRIBE TABLE</code> statement.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlDescriptorOperator.html" title="class in org.apache.calcite.sql">SqlDescriptorOperator</a></td>
<td class="colLast">
<div class="block">DESCRIPTOR appears as an argument in a function.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a></td>
<td class="colLast">
<div class="block"><code>SqlDialect</code> encapsulates the differences between dialects of SQL.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlDialect.FakeUtil.html" title="class in org.apache.calcite.sql">SqlDialect.FakeUtil</a></td>
<td class="colLast">Deprecated</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlDialectFactoryImpl.html" title="class in org.apache.calcite.sql">SqlDialectFactoryImpl</a></td>
<td class="colLast">
<div class="block">The default implementation of a <code>SqlDialectFactory</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlDrop.html" title="class in org.apache.calcite.sql">SqlDrop</a></td>
<td class="colLast">
<div class="block">Base class for an DROP statements parse tree nodes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlDynamicParam.html" title="class in org.apache.calcite.sql">SqlDynamicParam</a></td>
<td class="colLast">
<div class="block">A <code>SqlDynamicParam</code> represents a dynamic parameter marker in an
SQL statement.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlExplain.html" title="class in org.apache.calcite.sql">SqlExplain</a></td>
<td class="colLast">
<div class="block">A <code>SqlExplain</code> is a node of a parse tree which represents an
EXPLAIN PLAN statement.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlFilterOperator.html" title="class in org.apache.calcite.sql">SqlFilterOperator</a></td>
<td class="colLast">
<div class="block">An operator that applies a filter before rows are included in an aggregate
function.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a></td>
<td class="colLast">
<div class="block">A <code>SqlFunction</code> is a type of operator which has conventional
function-call syntax.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlFunctionalOperator.html" title="class in org.apache.calcite.sql">SqlFunctionalOperator</a></td>
<td class="colLast">
<div class="block">SqlFunctionalOperator is a base class for special operators which use
functional syntax.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlGroupedWindowFunction.html" title="class in org.apache.calcite.sql">SqlGroupedWindowFunction</a></td>
<td class="colLast">
<div class="block">SQL function that computes keys by which rows can be partitioned and
aggregated.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlHint.html" title="class in org.apache.calcite.sql">SqlHint</a></td>
<td class="colLast">
<div class="block">A <code>SqlHint</code> is a node of a parse tree which represents
a sql hint expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlHopTableFunction.html" title="class in org.apache.calcite.sql">SqlHopTableFunction</a></td>
<td class="colLast">
<div class="block">SqlHopTableFunction implements an operator for hopping.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a></td>
<td class="colLast">
<div class="block">A <code>SqlIdentifier</code> is an identifier, possibly compound.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlInfixOperator.html" title="class in org.apache.calcite.sql">SqlInfixOperator</a></td>
<td class="colLast">
<div class="block">A generalization of a binary operator to involve several (two or more)
arguments, and keywords between each pair of arguments.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlInsert.html" title="class in org.apache.calcite.sql">SqlInsert</a></td>
<td class="colLast">
<div class="block">A <code>SqlInsert</code> is a node of a parse tree which represents an INSERT
statement.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlInternalOperator.html" title="class in org.apache.calcite.sql">SqlInternalOperator</a></td>
<td class="colLast">
<div class="block">Generic operator for nodes with internal syntax.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlIntervalLiteral.html" title="class in org.apache.calcite.sql">SqlIntervalLiteral</a></td>
<td class="colLast">
<div class="block">A SQL literal representing a time interval.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlIntervalLiteral.IntervalValue.html" title="class in org.apache.calcite.sql">SqlIntervalLiteral.IntervalValue</a></td>
<td class="colLast">
<div class="block">A Interval value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlIntervalQualifier.html" title="class in org.apache.calcite.sql">SqlIntervalQualifier</a></td>
<td class="colLast">
<div class="block">Represents an INTERVAL qualifier.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlJdbcFunctionCall.html" title="class in org.apache.calcite.sql">SqlJdbcFunctionCall</a></td>
<td class="colLast">
<div class="block">A <code>SqlJdbcFunctionCall</code> is a node of a parse tree which represents
a JDBC function call.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlJdbcFunctionCall.SimpleMakeCall.html" title="class in org.apache.calcite.sql">SqlJdbcFunctionCall.SimpleMakeCall</a></td>
<td class="colLast">
<div class="block">Converter that calls a built-in function with the same arguments.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlJoin.html" title="class in org.apache.calcite.sql">SqlJoin</a></td>
<td class="colLast">
<div class="block">Parse tree node representing a <code>JOIN</code> clause.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlJoin.SqlJoinOperator.html" title="class in org.apache.calcite.sql">SqlJoin.SqlJoinOperator</a></td>
<td class="colLast">
<div class="block"><code>SqlJoinOperator</code> describes the syntax of the SQL <code>
JOIN</code> operator.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlLateralOperator.html" title="class in org.apache.calcite.sql">SqlLateralOperator</a></td>
<td class="colLast">
<div class="block">An operator describing a LATERAL specification.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlLiteral.html" title="class in org.apache.calcite.sql">SqlLiteral</a></td>
<td class="colLast">
<div class="block">A <code>SqlLiteral</code> is a constant.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlMatchFunction.html" title="class in org.apache.calcite.sql">SqlMatchFunction</a></td>
<td class="colLast">
<div class="block">Base class for all functions used in MATCH_RECOGNIZE.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlMatchRecognize.html" title="class in org.apache.calcite.sql">SqlMatchRecognize</a></td>
<td class="colLast">
<div class="block">SqlNode for MATCH_RECOGNIZE clause.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlMatchRecognize.SqlMatchRecognizeOperator.html" title="class in org.apache.calcite.sql">SqlMatchRecognize.SqlMatchRecognizeOperator</a></td>
<td class="colLast">
<div class="block">An operator describing a MATCH_RECOGNIZE specification.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlMerge.html" title="class in org.apache.calcite.sql">SqlMerge</a></td>
<td class="colLast">
<div class="block">A <code>SqlMerge</code> is a node of a parse tree which represents a MERGE
statement.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></td>
<td class="colLast">
<div class="block">A <code>SqlNode</code> is a SQL parse tree.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a></td>
<td class="colLast">
<div class="block">A <code>SqlNodeList</code> is a list of <a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a>s.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlNullTreatmentOperator.html" title="class in org.apache.calcite.sql">SqlNullTreatmentOperator</a></td>
<td class="colLast">
<div class="block">An operator that decides how to handle null input
(<code>RESPECT NULLS</code> and <code>IGNORE NULLS</code>).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlNumericLiteral.html" title="class in org.apache.calcite.sql">SqlNumericLiteral</a></td>
<td class="colLast">
<div class="block">A numeric SQL literal.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a></td>
<td class="colLast">
<div class="block">A <code>SqlOperator</code> is a type of node in a SQL parse tree (it is NOT a
node in a SQL parse tree).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlOperatorBinding.html" title="class in org.apache.calcite.sql">SqlOperatorBinding</a></td>
<td class="colLast">
<div class="block"><code>SqlOperatorBinding</code> represents the binding of an
<a href="../../../../org/apache/calcite/sql/SqlOperator.html" title="class in org.apache.calcite.sql"><code>SqlOperator</code></a> to actual operands, along with any additional information
required to validate those operands if needed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlOrderBy.html" title="class in org.apache.calcite.sql">SqlOrderBy</a></td>
<td class="colLast">
<div class="block">Parse tree node that represents an <code>ORDER BY</code> on a query other than a
<code>SELECT</code> (e.g.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlOverOperator.html" title="class in org.apache.calcite.sql">SqlOverOperator</a></td>
<td class="colLast">
<div class="block">An operator describing a window function specification.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlPostfixOperator.html" title="class in org.apache.calcite.sql">SqlPostfixOperator</a></td>
<td class="colLast">
<div class="block">A postfix unary operator.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlPrefixOperator.html" title="class in org.apache.calcite.sql">SqlPrefixOperator</a></td>
<td class="colLast">
<div class="block">A unary operator.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlProcedureCallOperator.html" title="class in org.apache.calcite.sql">SqlProcedureCallOperator</a></td>
<td class="colLast">
<div class="block">SqlProcedureCallOperator represents the CALL statement.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlRankFunction.html" title="class in org.apache.calcite.sql">SqlRankFunction</a></td>
<td class="colLast">
<div class="block">Operator which aggregates sets of values into a result.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlRowTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlRowTypeNameSpec</a></td>
<td class="colLast">
<div class="block">A sql type name specification of row type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSampleSpec.html" title="class in org.apache.calcite.sql">SqlSampleSpec</a></td>
<td class="colLast">
<div class="block">Specification of a SQL sample.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSampleSpec.SqlSubstitutionSampleSpec.html" title="class in org.apache.calcite.sql">SqlSampleSpec.SqlSubstitutionSampleSpec</a></td>
<td class="colLast">
<div class="block">Sample specification that orders substitution.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSampleSpec.SqlTableSampleSpec.html" title="class in org.apache.calcite.sql">SqlSampleSpec.SqlTableSampleSpec</a></td>
<td class="colLast">
<div class="block">Sample specification.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a></td>
<td class="colLast">
<div class="block">A <code>SqlSelect</code> is a node of a parse tree which represents a select
statement.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSelectOperator.html" title="class in org.apache.calcite.sql">SqlSelectOperator</a></td>
<td class="colLast">
<div class="block">An operator describing a query.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSessionTableFunction.html" title="class in org.apache.calcite.sql">SqlSessionTableFunction</a></td>
<td class="colLast">
<div class="block">SqlSessionTableFunction implements an operator for per-key sessionization.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSetOperator.html" title="class in org.apache.calcite.sql">SqlSetOperator</a></td>
<td class="colLast">
<div class="block">SqlSetOperator represents a relational set theory operator (UNION, INTERSECT,
MINUS).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSetOption.html" title="class in org.apache.calcite.sql">SqlSetOption</a></td>
<td class="colLast">
<div class="block">SQL parse tree node to represent <code>SET</code> and <code>RESET</code> statements,
optionally preceded by <code>ALTER SYSTEM</code> or <code>ALTER SESSION</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSnapshot.html" title="class in org.apache.calcite.sql">SqlSnapshot</a></td>
<td class="colLast">
<div class="block">Parse tree node for "<code>FOR SYSTEM_TIME AS OF</code>" temporal clause.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSnapshot.SqlSnapshotOperator.html" title="class in org.apache.calcite.sql">SqlSnapshot.SqlSnapshotOperator</a></td>
<td class="colLast">
<div class="block">An operator describing a FOR SYSTEM_TIME specification.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSpecialOperator.html" title="class in org.apache.calcite.sql">SqlSpecialOperator</a></td>
<td class="colLast">
<div class="block">Generic operator for nodes with special syntax.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSplittableAggFunction.AbstractSumSplitter.html" title="class in org.apache.calcite.sql">SqlSplittableAggFunction.AbstractSumSplitter</a></td>
<td class="colLast">
<div class="block">Common splitting strategy for <code>SUM</code> and <code>SUM0</code> functions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSplittableAggFunction.CountSplitter.html" title="class in org.apache.calcite.sql">SqlSplittableAggFunction.CountSplitter</a></td>
<td class="colLast">
<div class="block">Splitting strategy for <code>COUNT</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSplittableAggFunction.SelfSplitter.html" title="class in org.apache.calcite.sql">SqlSplittableAggFunction.SelfSplitter</a></td>
<td class="colLast">
<div class="block">Aggregate function that splits into two applications of itself.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSplittableAggFunction.Sum0Splitter.html" title="class in org.apache.calcite.sql">SqlSplittableAggFunction.Sum0Splitter</a></td>
<td class="colLast">
<div class="block">Splitting strategy for <code>SUM0</code> function.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSplittableAggFunction.SumSplitter.html" title="class in org.apache.calcite.sql">SqlSplittableAggFunction.SumSplitter</a></td>
<td class="colLast">
<div class="block">Splitting strategy for <code>SUM</code> function.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlTableRef.html" title="class in org.apache.calcite.sql">SqlTableRef</a></td>
<td class="colLast">
<div class="block">A <code>SqlTableRef</code> is a node of a parse tree which represents
a table reference.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlTimeLiteral.html" title="class in org.apache.calcite.sql">SqlTimeLiteral</a></td>
<td class="colLast">
<div class="block">A SQL literal representing a TIME value, for example <code>TIME
'14:33:44.567'</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlTimestampLiteral.html" title="class in org.apache.calcite.sql">SqlTimestampLiteral</a></td>
<td class="colLast">
<div class="block">A SQL literal representing a TIMESTAMP value, for example <code>TIMESTAMP
'1969-07-21 03:15 GMT'</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlTumbleTableFunction.html" title="class in org.apache.calcite.sql">SqlTumbleTableFunction</a></td>
<td class="colLast">
<div class="block">SqlTumbleTableFunction implements an operator for tumbling.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlTypeConstructorFunction.html" title="class in org.apache.calcite.sql">SqlTypeConstructorFunction</a></td>
<td class="colLast">
<div class="block">Type Constructor function.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlTypeNameSpec</a></td>
<td class="colLast">
<div class="block">A <code>SqlTypeNameSpec</code> is a type name specification that allows user to
customize sql node unparsing and data type deriving.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlUnnestOperator.html" title="class in org.apache.calcite.sql">SqlUnnestOperator</a></td>
<td class="colLast">
<div class="block">The <code>UNNEST</code> operator.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlUnresolvedFunction.html" title="class in org.apache.calcite.sql">SqlUnresolvedFunction</a></td>
<td class="colLast">
<div class="block">Placeholder for an unresolved function.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlUpdate.html" title="class in org.apache.calcite.sql">SqlUpdate</a></td>
<td class="colLast">
<div class="block">A <code>SqlUpdate</code> is a node of a parse tree which represents an UPDATE
statement.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlUserDefinedTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlUserDefinedTypeNameSpec</a></td>
<td class="colLast">
<div class="block">A sql type name specification of user defined type.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlUtil.html" title="class in org.apache.calcite.sql">SqlUtil</a></td>
<td class="colLast">
<div class="block">Contains utility functions related to SQL parsing, all static.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlUtil.DatabaseMetaDataInvocationHandler.html" title="class in org.apache.calcite.sql">SqlUtil.DatabaseMetaDataInvocationHandler</a></td>
<td class="colLast">
<div class="block">Handles particular <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/DatabaseMetaData.html?is-external=true" title="class or interface in java.sql"><code>DatabaseMetaData</code></a> methods; invocations of other
methods will fall through to the base class,
<a href="../../../../org/apache/calcite/util/BarfingInvocationHandler.html" title="class in org.apache.calcite.util"><code>BarfingInvocationHandler</code></a>, which will throw
an error.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlValuesOperator.html" title="class in org.apache.calcite.sql">SqlValuesOperator</a></td>
<td class="colLast">
<div class="block">The <code>VALUES</code> operator.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlWindow.html" title="class in org.apache.calcite.sql">SqlWindow</a></td>
<td class="colLast">
<div class="block">SQL window specification.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlWindowTableFunction.html" title="class in org.apache.calcite.sql">SqlWindowTableFunction</a></td>
<td class="colLast">
<div class="block">Base class for table-valued function windowing operator (TUMBLE, HOP and SESSION).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlWith.html" title="class in org.apache.calcite.sql">SqlWith</a></td>
<td class="colLast">
<div class="block">The WITH clause of a query.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlWithinGroupOperator.html" title="class in org.apache.calcite.sql">SqlWithinGroupOperator</a></td>
<td class="colLast">
<div class="block">An operator that applies a sort operation before rows are included in an aggregate function.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlWithItem.html" title="class in org.apache.calcite.sql">SqlWithItem</a></td>
<td class="colLast">
<div class="block">An item in a WITH clause of a query.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/JoinConditionType.html" title="enum in org.apache.calcite.sql">JoinConditionType</a></td>
<td class="colLast">
<div class="block">Enumerates the types of condition in a join expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/JoinType.html" title="enum in org.apache.calcite.sql">JoinType</a></td>
<td class="colLast">
<div class="block">Enumerates the types of join.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlAccessEnum.html" title="enum in org.apache.calcite.sql">SqlAccessEnum</a></td>
<td class="colLast">
<div class="block">Enumeration representing different access types</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlCollation.Coercibility.html" title="enum in org.apache.calcite.sql">SqlCollation.Coercibility</a></td>
<td class="colLast">
<div class="block">A &lt;character value expression&gt; consisting of a column
reference has the coercibility characteristic Implicit, with collating
sequence as defined when the column was created.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlDialect.CalendarPolicy.html" title="enum in org.apache.calcite.sql">SqlDialect.CalendarPolicy</a></td>
<td class="colLast">
<div class="block">Whether this JDBC driver needs you to pass a Calendar object to methods
such as <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html?is-external=true#getTimestamp-int-java.util.Calendar-" title="class or interface in java.sql"><code>ResultSet.getTimestamp(int, java.util.Calendar)</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a></td>
<td class="colLast">
<div class="block">Rough list of flavors of database.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlExplain.Depth.html" title="enum in org.apache.calcite.sql">SqlExplain.Depth</a></td>
<td class="colLast">
<div class="block">The level of abstraction with which to display the plan.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlExplainFormat.html" title="enum in org.apache.calcite.sql">SqlExplainFormat</a></td>
<td class="colLast">
<div class="block">Output format for <code>EXPLAIN PLAN</code> statement.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlExplainLevel.html" title="enum in org.apache.calcite.sql">SqlExplainLevel</a></td>
<td class="colLast">
<div class="block">SqlExplainLevel defines detail levels for EXPLAIN PLAN.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlFunctionCategory.html" title="enum in org.apache.calcite.sql">SqlFunctionCategory</a></td>
<td class="colLast">
<div class="block">Enumeration of the categories of
SQL-invoked routines.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlHint.HintOptionFormat.html" title="enum in org.apache.calcite.sql">SqlHint.HintOptionFormat</a></td>
<td class="colLast">
<div class="block">Enumeration that represents hint option format.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlInsertKeyword.html" title="enum in org.apache.calcite.sql">SqlInsertKeyword</a></td>
<td class="colLast">
<div class="block">Defines the keywords that can occur immediately after the "INSERT" keyword.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlJdbcDataTypeName.html" title="enum in org.apache.calcite.sql">SqlJdbcDataTypeName</a></td>
<td class="colLast">
<div class="block">Defines the name of the types which can occur as a type argument
in a JDBC <code>{fn CONVERT(value, type)}</code> function.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlJsonConstructorNullClause.html" title="enum in org.apache.calcite.sql">SqlJsonConstructorNullClause</a></td>
<td class="colLast">
<div class="block">Indicating that how do Json constructors handle null</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlJsonEmptyOrError.html" title="enum in org.apache.calcite.sql">SqlJsonEmptyOrError</a></td>
<td class="colLast">
<div class="block">Flag to indicate if the json value is missing or an error is thrown where
EmptyOrErrorBehavior is invoked.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlJsonEncoding.html" title="enum in org.apache.calcite.sql">SqlJsonEncoding</a></td>
<td class="colLast">
<div class="block">Supported json encodings that could be passed to a
<code>JsonValueExpression</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlJsonExistsErrorBehavior.html" title="enum in org.apache.calcite.sql">SqlJsonExistsErrorBehavior</a></td>
<td class="colLast">
<div class="block">Categorizing Json exists error behaviors.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlJsonQueryEmptyOrErrorBehavior.html" title="enum in org.apache.calcite.sql">SqlJsonQueryEmptyOrErrorBehavior</a></td>
<td class="colLast">
<div class="block">Categorizing Json query empty or error behaviors.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlJsonQueryWrapperBehavior.html" title="enum in org.apache.calcite.sql">SqlJsonQueryWrapperBehavior</a></td>
<td class="colLast">
<div class="block">How json query function handle array result.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlJsonValueEmptyOrErrorBehavior.html" title="enum in org.apache.calcite.sql">SqlJsonValueEmptyOrErrorBehavior</a></td>
<td class="colLast">
<div class="block">Categorizing Json value empty or error behaviors.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlJsonValueReturning.html" title="enum in org.apache.calcite.sql">SqlJsonValueReturning</a></td>
<td class="colLast">
<div class="block">Flag to indicate the explicit return type of JSON_VALUE.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a></td>
<td class="colLast">
<div class="block">Enumerates the possible types of <a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlMatchRecognize.AfterOption.html" title="enum in org.apache.calcite.sql">SqlMatchRecognize.AfterOption</a></td>
<td class="colLast">
<div class="block">Options for <code>AFTER MATCH</code> clause.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlMatchRecognize.RowsPerMatchOption.html" title="enum in org.apache.calcite.sql">SqlMatchRecognize.RowsPerMatchOption</a></td>
<td class="colLast">
<div class="block">Options for <code>ROWS PER MATCH</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlNullSemantics.html" title="enum in org.apache.calcite.sql">SqlNullSemantics</a></td>
<td class="colLast">
<div class="block">SqlNullSemantics defines the possible comparison rules for values which might
be null.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSelectKeyword.html" title="enum in org.apache.calcite.sql">SqlSelectKeyword</a></td>
<td class="colLast">
<div class="block">Defines the keywords which can occur immediately after the "SELECT" keyword.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlStateCodes.html" title="enum in org.apache.calcite.sql">SqlStateCodes</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">Use <code>org.apache.calcite.avatica.SqlState</code></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlSyntax.html" title="enum in org.apache.calcite.sql">SqlSyntax</a></td>
<td class="colLast">
<div class="block">Enumeration of possible syntactic types of <a href="../../../../org/apache/calcite/sql/SqlOperator.html" title="class in org.apache.calcite.sql"><code>operators</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlWriter.FrameTypeEnum.html" title="enum in org.apache.calcite.sql">SqlWriter.FrameTypeEnum</a></td>
<td class="colLast">
<div class="block">Enumerates the types of frame.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlWriter.SubQueryStyle.html" title="enum in org.apache.calcite.sql">SqlWriter.SubQueryStyle</a></td>
<td class="colLast">
<div class="block">Style of formatting sub-queries.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/sql/SqlWriterConfig.LineFolding.html" title="enum in org.apache.calcite.sql">SqlWriterConfig.LineFolding</a></td>
<td class="colLast">
<div class="block">Policy for how to do deal with long lines.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!-- -->
</a>
<h2 title="Package org.apache.calcite.sql Description">Package org.apache.calcite.sql Description</h2>
<div class="block">Provides a SQL parser and object model.
<p>This package, and the dependent <code>org.apache.calcite.sql.parser</code>
package, are independent of the other Calcite packages, so may be used
standalone.
<h2>Parser</h2>
<p><a href="../../../../org/apache/calcite/sql/parser/SqlParser.html" title="class in org.apache.calcite.sql.parser"><code>SqlParser</code></a> parses a SQL string to a
parse tree. It only performs the most basic syntactic validation.</p>
<h2>Object model</h2>
<p>Every node in the parse tree is a <a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a>.
Sub-types are:</p>
<ul>
<li><a href="../../../../org/apache/calcite/sql/SqlLiteral.html" title="class in org.apache.calcite.sql"><code>SqlLiteral</code></a> represents a boolean,
numeric, string, or date constant, or the value <code>NULL</code>.
</li>
<li><a href="../../../../org/apache/calcite/sql/SqlIdentifier.html" title="class in org.apache.calcite.sql"><code>SqlIdentifier</code></a> represents an
identifier, such as <code> EMPNO</code> or <code>emp.deptno</code>.
</li>
<li><a href="../../../../org/apache/calcite/sql/SqlCall.html" title="class in org.apache.calcite.sql"><code>SqlCall</code></a> is a call to an operator or
function. By means of special operators, we can use this construct
to represent virtually every non-leaf node in the tree. For example,
a <code>select</code> statement is a call to the 'select'
operator.</li>
<li><a href="../../../../org/apache/calcite/sql/SqlNodeList.html" title="class in org.apache.calcite.sql"><code>SqlNodeList</code></a> is a list of nodes.</li>
</ul>
<p>A <a href="../../../../org/apache/calcite/sql/SqlOperator.html" title="class in org.apache.calcite.sql"><code>SqlOperator</code></a> describes the behavior of a
node in the tree, such as how to un-parse a
<a href="../../../../org/apache/calcite/sql/SqlCall.html" title="class in org.apache.calcite.sql"><code>SqlCall</code></a> into a SQL string. It is
important to note that operators are metadata, not data: there is only
one <code>SqlOperator</code> instance representing the '=' operator, even
though there may be many calls to it.</p>
<p><code>SqlOperator</code> has several derived classes which make it easy to
define new operators: <a href="../../../../org/apache/calcite/sql/SqlFunction.html" title="class in org.apache.calcite.sql"><code>SqlFunction</code></a>,
<a href="../../../../org/apache/calcite/sql/SqlBinaryOperator.html" title="class in org.apache.calcite.sql"><code>SqlBinaryOperator</code></a>,
<a href="../../../../org/apache/calcite/sql/SqlPrefixOperator.html" title="class in org.apache.calcite.sql"><code>SqlPrefixOperator</code></a>,
<a href="../../../../org/apache/calcite/sql/SqlPostfixOperator.html" title="class in org.apache.calcite.sql"><code>SqlPostfixOperator</code></a>.
And there are singleton classes for special syntactic constructs
<a href="../../../../org/apache/calcite/sql/SqlSelectOperator.html" title="class in org.apache.calcite.sql"><code>SqlSelectOperator</code></a>
and <a href="../../../../org/apache/calcite/sql/SqlJoin.SqlJoinOperator.html" title="class in org.apache.calcite.sql"><code>SqlJoin.SqlJoinOperator</code></a>. (These
special operators even have their own sub-types of
<a href="../../../../org/apache/calcite/sql/SqlCall.html" title="class in org.apache.calcite.sql"><code>SqlCall</code></a>:
<a href="../../../../org/apache/calcite/sql/SqlSelect.html" title="class in org.apache.calcite.sql"><code>SqlSelect</code></a> and
<a href="../../../../org/apache/calcite/sql/SqlJoin.html" title="class in org.apache.calcite.sql"><code>SqlJoin</code></a>.)</p>
<p>A <a href="../../../../org/apache/calcite/sql/SqlOperatorTable.html" title="interface in org.apache.calcite.sql"><code>SqlOperatorTable</code></a> is a collection of
operators. By supplying your own operator table, you can customize the
dialect of SQL without modifying the parser.</p>
<h2>Validation</h2>
<p><a href="../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate"><code>SqlValidator</code></a> checks that
a tree of <a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a>s is
semantically valid. You supply a
<a href="../../../../org/apache/calcite/sql/SqlOperatorTable.html" title="interface in org.apache.calcite.sql"><code>SqlOperatorTable</code></a> to describe the available
functions and operators, and a
<a href="../../../../org/apache/calcite/sql/validate/SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate"><code>SqlValidatorCatalogReader</code></a> for
access to the database's catalog.</p>
<h2>Generating SQL</h2>
<p>A <a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql"><code>SqlWriter</code></a> converts a tree of
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a>s into a SQL string. A
<a href="../../../../org/apache/calcite/sql/SqlDialect.html" title="class in org.apache.calcite.sql"><code>SqlDialect</code></a> defines how this happens.</p></div>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>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">Help</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/calcite/server/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../org/apache/calcite/sql/advise/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/calcite/sql/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.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>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &copy; 2012-2020 Apache Software Foundation. All Rights Reserved.</small></p>
</body>
</html>