blob: e512ceda8eebe28b14a9ea6e907fcc3afe893db7 [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>SqlDialect (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="SqlDialect (Apache Calcite calcite API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":9,"i3":41,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":42,"i12":10,"i13":41,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":42,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">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/sql/SqlDescriptorOperator.html" title="class in org.apache.calcite.sql"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/calcite/sql/SqlDialect.CalendarPolicy.html" title="enum in org.apache.calcite.sql"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/calcite/sql/SqlDialect.html" target="_top">Frames</a></li>
<li><a href="SqlDialect.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.calcite.sql</div>
<h2 title="Class SqlDialect" class="title">Class SqlDialect</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.sql.SqlDialect</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../org/apache/calcite/sql/dialect/AccessSqlDialect.html" title="class in org.apache.calcite.sql.dialect">AccessSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/AnsiSqlDialect.html" title="class in org.apache.calcite.sql.dialect">AnsiSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/BigQuerySqlDialect.html" title="class in org.apache.calcite.sql.dialect">BigQuerySqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/CalciteSqlDialect.html" title="class in org.apache.calcite.sql.dialect">CalciteSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/ClickHouseSqlDialect.html" title="class in org.apache.calcite.sql.dialect">ClickHouseSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/Db2SqlDialect.html" title="class in org.apache.calcite.sql.dialect">Db2SqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/DerbySqlDialect.html" title="class in org.apache.calcite.sql.dialect">DerbySqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/FirebirdSqlDialect.html" title="class in org.apache.calcite.sql.dialect">FirebirdSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/H2SqlDialect.html" title="class in org.apache.calcite.sql.dialect">H2SqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/HiveSqlDialect.html" title="class in org.apache.calcite.sql.dialect">HiveSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/HsqldbSqlDialect.html" title="class in org.apache.calcite.sql.dialect">HsqldbSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/InfobrightSqlDialect.html" title="class in org.apache.calcite.sql.dialect">InfobrightSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/InformixSqlDialect.html" title="class in org.apache.calcite.sql.dialect">InformixSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/IngresSqlDialect.html" title="class in org.apache.calcite.sql.dialect">IngresSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/InterbaseSqlDialect.html" title="class in org.apache.calcite.sql.dialect">InterbaseSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/JethroDataSqlDialect.html" title="class in org.apache.calcite.sql.dialect">JethroDataSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/LucidDbSqlDialect.html" title="class in org.apache.calcite.sql.dialect">LucidDbSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/MssqlSqlDialect.html" title="class in org.apache.calcite.sql.dialect">MssqlSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/MysqlSqlDialect.html" title="class in org.apache.calcite.sql.dialect">MysqlSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/NeoviewSqlDialect.html" title="class in org.apache.calcite.sql.dialect">NeoviewSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/NetezzaSqlDialect.html" title="class in org.apache.calcite.sql.dialect">NetezzaSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/OracleSqlDialect.html" title="class in org.apache.calcite.sql.dialect">OracleSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/ParaccelSqlDialect.html" title="class in org.apache.calcite.sql.dialect">ParaccelSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/PhoenixSqlDialect.html" title="class in org.apache.calcite.sql.dialect">PhoenixSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/PostgresqlSqlDialect.html" title="class in org.apache.calcite.sql.dialect">PostgresqlSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/PrestoSqlDialect.html" title="class in org.apache.calcite.sql.dialect">PrestoSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/RedshiftSqlDialect.html" title="class in org.apache.calcite.sql.dialect">RedshiftSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/SnowflakeSqlDialect.html" title="class in org.apache.calcite.sql.dialect">SnowflakeSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/SparkSqlDialect.html" title="class in org.apache.calcite.sql.dialect">SparkSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/SybaseSqlDialect.html" title="class in org.apache.calcite.sql.dialect">SybaseSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/TeradataSqlDialect.html" title="class in org.apache.calcite.sql.dialect">TeradataSqlDialect</a>, <a href="../../../../org/apache/calcite/sql/dialect/VerticaSqlDialect.html" title="class in org.apache.calcite.sql.dialect">VerticaSqlDialect</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">SqlDialect</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block"><code>SqlDialect</code> encapsulates the differences between dialects of SQL.
<p>It is used by classes such as <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/util/SqlBuilder.html" title="class in org.apache.calcite.sql.util"><code>SqlBuilder</code></a>.
<p>To add a new <a href="../../../../org/apache/calcite/sql/SqlDialect.html" title="class in org.apache.calcite.sql"><code>SqlDialect</code></a> sub-class, extends this class to hold 2 public final
static member:
<ul>
<li>DEFAULT_CONTEXT: a default <a href="../../../../org/apache/calcite/sql/SqlDialect.Context.html" title="interface in org.apache.calcite.sql"><code>SqlDialect.Context</code></a> instance, which can be used to customize
or extending the dialect if the DEFAULT instance does not meet the requests</li>
<li>DEFAULT: the default <a href="../../../../org/apache/calcite/sql/SqlDialect.html" title="class in org.apache.calcite.sql"><code>SqlDialect</code></a> instance with context properties defined with
<code>DEFAULT_CONTEXT</code></li>
</ul></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.CalendarPolicy.html" title="enum in org.apache.calcite.sql">SqlDialect.CalendarPolicy</a></span></code>
<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"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.Context.html" title="interface in org.apache.calcite.sql">SqlDialect.Context</a></span></code>
<div class="block">Information for creating a dialect.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a></span></code>
<div class="block">Rough list of flavors of database.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.FakeUtil.html" title="class in org.apache.calcite.sql">SqlDialect.FakeUtil</a></span></code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../org/apache/calcite/sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#BUILT_IN_OPERATORS_LIST">BUILT_IN_OPERATORS_LIST</a></span></code>
<div class="block">Built-in scalar functions and operators common for every dialect.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../org/apache/calcite/sql/SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#CALCITE">CALCITE</a></span></code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Use <a href="../../../../org/apache/calcite/sql/dialect/CalciteSqlDialect.html#DEFAULT"><code>CalciteSqlDialect.DEFAULT</code></a> instead.</span></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../org/apache/calcite/sql/SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#DUMMY">DUMMY</a></span></code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Use <a href="../../../../org/apache/calcite/sql/dialect/AnsiSqlDialect.html#DEFAULT"><code>AnsiSqlDialect.DEFAULT</code></a> instead.</span></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../org/apache/calcite/sql/SqlDialect.Context.html" title="interface in org.apache.calcite.sql">SqlDialect.Context</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#EMPTY_CONTEXT">EMPTY_CONTEXT</a></span></code>
<div class="block">Empty context.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#identifierEndQuoteString">identifierEndQuoteString</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#identifierEscapedQuote">identifierEscapedQuote</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#identifierQuoteString">identifierQuoteString</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#literalEndQuoteString">literalEndQuoteString</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#literalEscapedQuote">literalEscapedQuote</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#literalQuoteString">literalQuoteString</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#LOGGER">LOGGER</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/config/NullCollation.html" title="enum in org.apache.calcite.config">NullCollation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#nullCollation">nullCollation</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#SqlDialect-org.apache.calcite.sql.SqlDialect.Context-">SqlDialect</a></span>(<a href="../../../../org/apache/calcite/sql/SqlDialect.Context.html" title="interface in org.apache.calcite.sql">SqlDialect.Context</a>&nbsp;context)</code>
<div class="block">Creates a SqlDialect.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#SqlDialect-org.apache.calcite.sql.SqlDialect.DatabaseProduct-java.lang.String-java.lang.String-">SqlDialect</a></span>(<a href="../../../../org/apache/calcite/sql/SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a>&nbsp;databaseProduct,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;databaseProductName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;identifierQuoteString)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#SqlDialect-org.apache.calcite.sql.SqlDialect.DatabaseProduct-java.lang.String-java.lang.String-org.apache.calcite.config.NullCollation-">SqlDialect</a></span>(<a href="../../../../org/apache/calcite/sql/SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a>&nbsp;databaseProduct,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;databaseProductName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;identifierQuoteString,
<a href="../../../../org/apache/calcite/config/NullCollation.html" title="enum in org.apache.calcite.config">NullCollation</a>&nbsp;nullCollation)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Use <a href="../../../../org/apache/calcite/sql/SqlDialect.html#SqlDialect-org.apache.calcite.sql.SqlDialect.Context-"><code>SqlDialect(Context)</code></a></span></div>
</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#allowsAs--">allowsAs</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/sql/parser/SqlParser.ConfigBuilder.html" title="class in org.apache.calcite.sql.parser">SqlParser.ConfigBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#configureParser-org.apache.calcite.sql.parser.SqlParser.ConfigBuilder-">configureParser</a></span>(<a href="../../../../org/apache/calcite/sql/parser/SqlParser.ConfigBuilder.html" title="class in org.apache.calcite.sql.parser">SqlParser.ConfigBuilder</a>&nbsp;configBuilder)</code>
<div class="block">Copies settings from this dialect into a parser configuration.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#containsNonAscii-java.lang.String-">containsNonAscii</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s)</code>
<div class="block">Returns whether the string contains any characters outside the
comfortable 7-bit ASCII range (32 through 127, plus linefeed (10) and
carriage return (13)).</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../org/apache/calcite/sql/SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#create-java.sql.DatabaseMetaData-">create</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/DatabaseMetaData.html?is-external=true" title="class or interface in java.sql">DatabaseMetaData</a>&nbsp;databaseMetaData)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Replaced by <a href="../../../../org/apache/calcite/sql/SqlDialectFactory.html" title="interface in org.apache.calcite.sql"><code>SqlDialectFactory</code></a></span></div>
</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/rel/RelFieldCollation.NullDirection.html" title="enum in org.apache.calcite.rel">RelFieldCollation.NullDirection</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#defaultNullDirection-org.apache.calcite.rel.RelFieldCollation.Direction-">defaultNullDirection</a></span>(<a href="../../../../org/apache/calcite/rel/RelFieldCollation.Direction.html" title="enum in org.apache.calcite.rel">RelFieldCollation.Direction</a>&nbsp;direction)</code>
<div class="block">Returns whether NULL values are sorted first or last, in this dialect,
in an ORDER BY item of a given direction.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/sql/JoinType.html" title="enum in org.apache.calcite.sql">JoinType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#emulateJoinTypeForCrossJoin--">emulateJoinTypeForCrossJoin</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#emulateNullDirection-org.apache.calcite.sql.SqlNode-boolean-boolean-">emulateNullDirection</a></span>(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node,
boolean&nbsp;nullsFirst,
boolean&nbsp;desc)</code>
<div class="block">Returns the SqlNode for emulating the null direction for the given field
or <code>null</code> if no emulation needs to be done.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#emulateNullDirectionWithIsNull-org.apache.calcite.sql.SqlNode-boolean-boolean-">emulateNullDirectionWithIsNull</a></span>(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node,
boolean&nbsp;nullsFirst,
boolean&nbsp;desc)</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/sql/SqlDialect.CalendarPolicy.html" title="enum in org.apache.calcite.sql">SqlDialect.CalendarPolicy</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#getCalendarPolicy--">getCalendarPolicy</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#getCastSpec-org.apache.calcite.rel.type.RelDataType-">getCastSpec</a></span>(<a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type)</code>
<div class="block">Returns SqlNode for type in "cast(column as type)", which might be
different between databases by type name, precision etc.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/sql/validate/SqlConformance.html" title="interface in org.apache.calcite.sql.validate">SqlConformance</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#getConformance--">getConformance</a></span>()</code>
<div class="block">Returns the <a href="../../../../org/apache/calcite/sql/validate/SqlConformance.html" title="interface in org.apache.calcite.sql.validate"><code>SqlConformance</code></a> that matches this dialect.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/sql/SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#getDatabaseProduct--">getDatabaseProduct</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">To be removed without replacement</span></div>
</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/config/NullCollation.html" title="enum in org.apache.calcite.config">NullCollation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#getNullCollation--">getNullCollation</a></span>()</code>
<div class="block">Returns how NULL values are sorted if an ORDER BY item does not contain
NULLS ASCENDING or NULLS DESCENDING.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../org/apache/calcite/sql/SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#getProduct-java.lang.String-java.lang.String-">getProduct</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;productName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;productVersion)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>org.apache.calcite.avatica.util.Casing</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#getQuotedCasing--">getQuotedCasing</a></span>()</code>
<div class="block">Returns how quoted identifiers are stored.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.avatica.util.Quoting</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#getQuoting--">getQuoting</a></span>()</code>
<div class="block">Returns the quoting scheme, or null if the combination of
<a href="../../../../org/apache/calcite/sql/SqlDialect.html#identifierQuoteString"><code>identifierQuoteString</code></a> and <a href="../../../../org/apache/calcite/sql/SqlDialect.html#identifierEndQuoteString"><code>identifierEndQuoteString</code></a>
does not correspond to any known quoting scheme.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#getSingleRowTableName--">getSingleRowTableName</a></span>()</code>
<div class="block">Returns the name of the system table that has precisely one row.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/rel/type/RelDataTypeSystem.html" title="interface in org.apache.calcite.rel.type">RelDataTypeSystem</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#getTypeSystem--">getTypeSystem</a></span>()</code>
<div class="block">Returns the type system implementation for this dialect.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>org.apache.calcite.avatica.util.Casing</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#getUnquotedCasing--">getUnquotedCasing</a></span>()</code>
<div class="block">Returns how unquoted identifiers are stored.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#hasImplicitTableAlias--">hasImplicitTableAlias</a></span>()</code>
<div class="block">Returns whether a qualified table in the FROM clause has an implicit alias
which consists of just the table name.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#identifierNeedsQuote-java.lang.String-">identifierNeedsQuote</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</code>
<div class="block">Returns whether to quote an identifier.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#isCaseSensitive--">isCaseSensitive</a></span>()</code>
<div class="block">Returns whether matching of identifiers is case-sensitive.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#quoteIdentifier-java.lang.String-">quoteIdentifier</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</code>
<div class="block">Encloses an identifier in quotation marks appropriate for the current SQL
dialect.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#quoteIdentifier-java.lang.StringBuilder-java.util.List-">quoteIdentifier</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;buf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;identifiers)</code>
<div class="block">Quotes a multi-part identifier.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#quoteIdentifier-java.lang.StringBuilder-java.lang.String-">quoteIdentifier</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;buf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</code>
<div class="block">Encloses an identifier in quotation marks appropriate for the current SQL
dialect, writing the result to a <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang"><code>StringBuilder</code></a>.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#quoteStringLiteral-java.lang.String-">quoteStringLiteral</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</code>
<div class="block">Converts a string into a string literal.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#quoteStringLiteral-java.lang.StringBuilder-java.lang.String-java.lang.String-">quoteStringLiteral</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;buf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;charsetName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</code>
<div class="block">Appends a string literal to a buffer.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#quoteStringLiteralUnicode-java.lang.StringBuilder-java.lang.String-">quoteStringLiteralUnicode</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;buf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</code>
<div class="block">Converts a string into a unicode string literal.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#quoteTimestampLiteral-java.sql.Timestamp-">quoteTimestampLiteral</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql">Timestamp</a>&nbsp;timestamp)</code>
<div class="block">Converts a timestamp to a SQL timestamp literal, e.g.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#requiresAliasForFromItems--">requiresAliasForFromItems</a></span>()</code>
<div class="block">Whether a sub-query in the FROM clause must have an alias.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#rewriteSingleValueExpr-org.apache.calcite.sql.SqlNode-">rewriteSingleValueExpr</a></span>(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;aggCall)</code>
<div class="block">Rewrite SINGLE_VALUE into expression based on database variants
E.g.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#supportsAggregateFunction-org.apache.calcite.sql.SqlKind-">supportsAggregateFunction</a></span>(<a href="../../../../org/apache/calcite/sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind)</code>&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#supportsAliasedValues--">supportsAliasedValues</a></span>()</code>
<div class="block">Returns whether the dialect supports VALUES in a sub-query with
and an "AS t(column, ...)" values to define column names.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#supportsCharSet--">supportsCharSet</a></span>()</code>
<div class="block">Returns whether the dialect supports character set names as part of a
data type, for instance <code>VARCHAR(30) CHARACTER SET `ISO-8859-1`</code>.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#supportsDataType-org.apache.calcite.rel.type.RelDataType-">supportsDataType</a></span>(<a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type)</code>
<div class="block">Returns whether this dialect supports a given type.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#supportsFunction-org.apache.calcite.sql.SqlOperator-org.apache.calcite.rel.type.RelDataType-java.util.List-">supportsFunction</a></span>(<a href="../../../../org/apache/calcite/sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&nbsp;operator,
<a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;paramTypes)</code>
<div class="block">Returns whether this dialect supports a given function or operator.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#supportsGroupByWithCube--">supportsGroupByWithCube</a></span>()</code>
<div class="block">Returns whether this dialect supports "WITH CUBE" in "GROUP BY" clause.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#supportsGroupByWithRollup--">supportsGroupByWithRollup</a></span>()</code>
<div class="block">Returns whether this dialect supports "WITH ROLLUP" in the "GROUP BY"
clause.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#supportsImplicitTypeCoercion-org.apache.calcite.rex.RexCall-">supportsImplicitTypeCoercion</a></span>(<a href="../../../../org/apache/calcite/rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a>&nbsp;call)</code>
<div class="block">Returns whether the dialect supports implicit type coercion.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#supportsNestedAggregations--">supportsNestedAggregations</a></span>()</code>
<div class="block">Returns whether the dialect supports nested aggregations, for instance
<code>SELECT SUM(SUM(1)) </code>.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#supportsOffsetFetch--">supportsOffsetFetch</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This method is no longer used. To change how the dialect
unparses offset/fetch, override the <a href="../../../../org/apache/calcite/sql/SqlDialect.html#unparseOffsetFetch-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.SqlNode-"><code>unparseOffsetFetch(org.apache.calcite.sql.SqlWriter, org.apache.calcite.sql.SqlNode, org.apache.calcite.sql.SqlNode)</code></a> method.</span></div>
</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#supportsWindowFunctions--">supportsWindowFunctions</a></span>()</code>
<div class="block">Returns whether this dialect supports window functions (OVER clause).</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#unparseCall-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlCall-int-int-">unparseCall</a></span>(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call,
int&nbsp;leftPrec,
int&nbsp;rightPrec)</code>&nbsp;</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#unparseDateTimeLiteral-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlAbstractDateTimeLiteral-int-int-">unparseDateTimeLiteral</a></span>(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlAbstractDateTimeLiteral.html" title="class in org.apache.calcite.sql">SqlAbstractDateTimeLiteral</a>&nbsp;literal,
int&nbsp;leftPrec,
int&nbsp;rightPrec)</code>&nbsp;</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#unparseFetchUsingAnsi-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.SqlNode-">unparseFetchUsingAnsi</a></span>(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;offset,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;fetch)</code>
<div class="block">Unparses offset/fetch using ANSI standard "OFFSET offset ROWS FETCH NEXT
fetch ROWS ONLY" syntax.</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#unparseFetchUsingLimit-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.SqlNode-">unparseFetchUsingLimit</a></span>(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;offset,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;fetch)</code>
<div class="block">Unparses offset/fetch using "LIMIT fetch OFFSET offset" syntax.</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#unparseLimit-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlNode-">unparseLimit</a></span>(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;fetch)</code>&nbsp;</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#unparseOffset-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlNode-">unparseOffset</a></span>(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;offset)</code>&nbsp;</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#unparseOffsetFetch-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.SqlNode-">unparseOffsetFetch</a></span>(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;offset,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;fetch)</code>
<div class="block">Converts an offset and fetch into SQL.</div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#unparseSqlDatetimeArithmetic-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlCall-org.apache.calcite.sql.SqlKind-int-int-">unparseSqlDatetimeArithmetic</a></span>(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call,
<a href="../../../../org/apache/calcite/sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;sqlKind,
int&nbsp;leftPrec,
int&nbsp;rightPrec)</code>&nbsp;</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#unparseSqlIntervalLiteral-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlIntervalLiteral-int-int-">unparseSqlIntervalLiteral</a></span>(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlIntervalLiteral.html" title="class in org.apache.calcite.sql">SqlIntervalLiteral</a>&nbsp;literal,
int&nbsp;leftPrec,
int&nbsp;rightPrec)</code>
<div class="block">Converts an interval literal to a SQL string.</div>
</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#unparseSqlIntervalQualifier-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlIntervalQualifier-org.apache.calcite.rel.type.RelDataTypeSystem-">unparseSqlIntervalQualifier</a></span>(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlIntervalQualifier.html" title="class in org.apache.calcite.sql">SqlIntervalQualifier</a>&nbsp;qualifier,
<a href="../../../../org/apache/calcite/rel/type/RelDataTypeSystem.html" title="interface in org.apache.calcite.rel.type">RelDataTypeSystem</a>&nbsp;typeSystem)</code>
<div class="block">Converts an interval qualifier to a SQL string.</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#unparseTopN-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.SqlNode-">unparseTopN</a></span>(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;offset,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;fetch)</code>
<div class="block">Converts a fetch into a "SELECT TOP(fetch)".</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/sql/SqlDialect.html#unquoteStringLiteral-java.lang.String-">unquoteStringLiteral</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</code>
<div class="block">Converts a string literal back into a string.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="LOGGER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOGGER</h4>
<pre>protected static final&nbsp;org.slf4j.Logger LOGGER</pre>
</li>
</ul>
<a name="EMPTY_CONTEXT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>EMPTY_CONTEXT</h4>
<pre>public static final&nbsp;<a href="../../../../org/apache/calcite/sql/SqlDialect.Context.html" title="interface in org.apache.calcite.sql">SqlDialect.Context</a> EMPTY_CONTEXT</pre>
<div class="block">Empty context.</div>
</li>
</ul>
<a name="DUMMY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DUMMY</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public static final&nbsp;<a href="../../../../org/apache/calcite/sql/SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a> DUMMY</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../../org/apache/calcite/sql/dialect/AnsiSqlDialect.html#DEFAULT"><code>AnsiSqlDialect.DEFAULT</code></a> instead.</span></div>
</li>
</ul>
<a name="CALCITE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CALCITE</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public static final&nbsp;<a href="../../../../org/apache/calcite/sql/SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a> CALCITE</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../../org/apache/calcite/sql/dialect/CalciteSqlDialect.html#DEFAULT"><code>CalciteSqlDialect.DEFAULT</code></a> instead.</span></div>
</li>
</ul>
<a name="BUILT_IN_OPERATORS_LIST">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BUILT_IN_OPERATORS_LIST</h4>
<pre>protected static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../org/apache/calcite/sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&gt; BUILT_IN_OPERATORS_LIST</pre>
<div class="block">Built-in scalar functions and operators common for every dialect.</div>
</li>
</ul>
<a name="identifierQuoteString">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>identifierQuoteString</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> identifierQuoteString</pre>
</li>
</ul>
<a name="identifierEndQuoteString">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>identifierEndQuoteString</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> identifierEndQuoteString</pre>
</li>
</ul>
<a name="identifierEscapedQuote">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>identifierEscapedQuote</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> identifierEscapedQuote</pre>
</li>
</ul>
<a name="literalQuoteString">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>literalQuoteString</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> literalQuoteString</pre>
</li>
</ul>
<a name="literalEndQuoteString">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>literalEndQuoteString</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> literalEndQuoteString</pre>
</li>
</ul>
<a name="literalEscapedQuote">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>literalEscapedQuote</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> literalEscapedQuote</pre>
</li>
</ul>
<a name="nullCollation">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>nullCollation</h4>
<pre>protected final&nbsp;<a href="../../../../org/apache/calcite/config/NullCollation.html" title="enum in org.apache.calcite.config">NullCollation</a> nullCollation</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="SqlDialect-org.apache.calcite.sql.SqlDialect.DatabaseProduct-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SqlDialect</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public&nbsp;SqlDialect(<a href="../../../../org/apache/calcite/sql/SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a>&nbsp;databaseProduct,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;databaseProductName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;identifierQuoteString)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</li>
</ul>
<a name="SqlDialect-org.apache.calcite.sql.SqlDialect.DatabaseProduct-java.lang.String-java.lang.String-org.apache.calcite.config.NullCollation-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SqlDialect</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public&nbsp;SqlDialect(<a href="../../../../org/apache/calcite/sql/SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a>&nbsp;databaseProduct,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;databaseProductName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;identifierQuoteString,
<a href="../../../../org/apache/calcite/config/NullCollation.html" title="enum in org.apache.calcite.config">NullCollation</a>&nbsp;nullCollation)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../../org/apache/calcite/sql/SqlDialect.html#SqlDialect-org.apache.calcite.sql.SqlDialect.Context-"><code>SqlDialect(Context)</code></a></span></div>
<div class="block">Creates a SqlDialect.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>databaseProduct</code> - Database product; may be UNKNOWN, never null</dd>
<dd><code>databaseProductName</code> - Database product name from JDBC driver</dd>
<dd><code>identifierQuoteString</code> - String to quote identifiers. Null if quoting
is not supported. If "[", close quote is
deemed to be "]".</dd>
<dd><code>nullCollation</code> - Whether NULL values appear first or last</dd>
</dl>
</li>
</ul>
<a name="SqlDialect-org.apache.calcite.sql.SqlDialect.Context-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SqlDialect</h4>
<pre>public&nbsp;SqlDialect(<a href="../../../../org/apache/calcite/sql/SqlDialect.Context.html" title="interface in org.apache.calcite.sql">SqlDialect.Context</a>&nbsp;context)</pre>
<div class="block">Creates a SqlDialect.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>context</code> - All the information necessary to create a dialect</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="create-java.sql.DatabaseMetaData-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public static&nbsp;<a href="../../../../org/apache/calcite/sql/SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a>&nbsp;create(<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/DatabaseMetaData.html?is-external=true" title="class or interface in java.sql">DatabaseMetaData</a>&nbsp;databaseMetaData)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Replaced by <a href="../../../../org/apache/calcite/sql/SqlDialectFactory.html" title="interface in org.apache.calcite.sql"><code>SqlDialectFactory</code></a></span></div>
<div class="block">Creates a <code>SqlDialect</code> from a DatabaseMetaData.
<p>Does not maintain a reference to the DatabaseMetaData -- or, more
importantly, to its <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql"><code>Connection</code></a> -- after this call has
returned.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>databaseMetaData</code> - used to determine which dialect of SQL to generate</dd>
</dl>
</li>
</ul>
<a name="getProduct-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProduct</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public static&nbsp;<a href="../../../../org/apache/calcite/sql/SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a>&nbsp;getProduct(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;productName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;productVersion)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
<div class="block">Converts a product name and version (per the JDBC driver) into a product
enumeration.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>productName</code> - Product name</dd>
<dd><code>productVersion</code> - Product version</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>database product</dd>
</dl>
</li>
</ul>
<a name="getTypeSystem--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTypeSystem</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/rel/type/RelDataTypeSystem.html" title="interface in org.apache.calcite.rel.type">RelDataTypeSystem</a>&nbsp;getTypeSystem()</pre>
<div class="block">Returns the type system implementation for this dialect.</div>
</li>
</ul>
<a name="quoteIdentifier-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>quoteIdentifier</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;quoteIdentifier(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</pre>
<div class="block">Encloses an identifier in quotation marks appropriate for the current SQL
dialect.
<p>For example, <code>quoteIdentifier("emp")</code> yields a string
containing <code>"emp"</code> in Oracle, and a string containing <code>
[emp]</code> in Access.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>val</code> - Identifier to quote</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Quoted identifier</dd>
</dl>
</li>
</ul>
<a name="quoteIdentifier-java.lang.StringBuilder-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>quoteIdentifier</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;quoteIdentifier(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;buf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</pre>
<div class="block">Encloses an identifier in quotation marks appropriate for the current SQL
dialect, writing the result to a <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang"><code>StringBuilder</code></a>.
<p>For example, <code>quoteIdentifier("emp")</code> yields a string
containing <code>"emp"</code> in Oracle, and a string containing <code>
[emp]</code> in Access.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>buf</code> - Buffer</dd>
<dd><code>val</code> - Identifier to quote</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The buffer</dd>
</dl>
</li>
</ul>
<a name="quoteIdentifier-java.lang.StringBuilder-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>quoteIdentifier</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;quoteIdentifier(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;buf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;identifiers)</pre>
<div class="block">Quotes a multi-part identifier.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>buf</code> - Buffer</dd>
<dd><code>identifiers</code> - List of parts of the identifier to quote</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The buffer</dd>
</dl>
</li>
</ul>
<a name="identifierNeedsQuote-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>identifierNeedsQuote</h4>
<pre>protected&nbsp;boolean&nbsp;identifierNeedsQuote(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</pre>
<div class="block">Returns whether to quote an identifier.
By default, all identifiers are quoted.</div>
</li>
</ul>
<a name="quoteStringLiteral-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>quoteStringLiteral</h4>
<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;quoteStringLiteral(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</pre>
<div class="block">Converts a string into a string literal.
<p>For example, <code>"can't run"</code> becomes <code>"'can''t run'"</code>.</div>
</li>
</ul>
<a name="quoteStringLiteral-java.lang.StringBuilder-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>quoteStringLiteral</h4>
<pre>public&nbsp;void&nbsp;quoteStringLiteral(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;buf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;charsetName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</pre>
<div class="block">Appends a string literal to a buffer.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>buf</code> - Buffer</dd>
<dd><code>charsetName</code> - Character set name, e.g. "utf16", or null</dd>
<dd><code>val</code> - String value</dd>
</dl>
</li>
</ul>
<a name="unparseCall-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlCall-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unparseCall</h4>
<pre>public&nbsp;void&nbsp;unparseCall(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call,
int&nbsp;leftPrec,
int&nbsp;rightPrec)</pre>
</li>
</ul>
<a name="unparseDateTimeLiteral-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlAbstractDateTimeLiteral-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unparseDateTimeLiteral</h4>
<pre>public&nbsp;void&nbsp;unparseDateTimeLiteral(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlAbstractDateTimeLiteral.html" title="class in org.apache.calcite.sql">SqlAbstractDateTimeLiteral</a>&nbsp;literal,
int&nbsp;leftPrec,
int&nbsp;rightPrec)</pre>
</li>
</ul>
<a name="unparseSqlDatetimeArithmetic-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlCall-org.apache.calcite.sql.SqlKind-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unparseSqlDatetimeArithmetic</h4>
<pre>public&nbsp;void&nbsp;unparseSqlDatetimeArithmetic(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call,
<a href="../../../../org/apache/calcite/sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;sqlKind,
int&nbsp;leftPrec,
int&nbsp;rightPrec)</pre>
</li>
</ul>
<a name="unparseSqlIntervalQualifier-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlIntervalQualifier-org.apache.calcite.rel.type.RelDataTypeSystem-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unparseSqlIntervalQualifier</h4>
<pre>public&nbsp;void&nbsp;unparseSqlIntervalQualifier(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlIntervalQualifier.html" title="class in org.apache.calcite.sql">SqlIntervalQualifier</a>&nbsp;qualifier,
<a href="../../../../org/apache/calcite/rel/type/RelDataTypeSystem.html" title="interface in org.apache.calcite.rel.type">RelDataTypeSystem</a>&nbsp;typeSystem)</pre>
<div class="block">Converts an interval qualifier to a SQL string. The default implementation
returns strings such as
<code>INTERVAL '1 2:3:4' DAY(4) TO SECOND(4)</code>.</div>
</li>
</ul>
<a name="unparseSqlIntervalLiteral-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlIntervalLiteral-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unparseSqlIntervalLiteral</h4>
<pre>public&nbsp;void&nbsp;unparseSqlIntervalLiteral(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlIntervalLiteral.html" title="class in org.apache.calcite.sql">SqlIntervalLiteral</a>&nbsp;literal,
int&nbsp;leftPrec,
int&nbsp;rightPrec)</pre>
<div class="block">Converts an interval literal to a SQL string. The default implementation
returns strings such as
<code>INTERVAL '1 2:3:4' DAY(4) TO SECOND(4)</code>.</div>
</li>
</ul>
<a name="containsNonAscii-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>containsNonAscii</h4>
<pre>protected static&nbsp;boolean&nbsp;containsNonAscii(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s)</pre>
<div class="block">Returns whether the string contains any characters outside the
comfortable 7-bit ASCII range (32 through 127, plus linefeed (10) and
carriage return (13)).
<p>Such characters can be used unquoted in SQL character literals.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>s</code> - String</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Whether string contains any non-7-bit-ASCII characters</dd>
</dl>
</li>
</ul>
<a name="quoteStringLiteralUnicode-java.lang.StringBuilder-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>quoteStringLiteralUnicode</h4>
<pre>public&nbsp;void&nbsp;quoteStringLiteralUnicode(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;buf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</pre>
<div class="block">Converts a string into a unicode string literal. For example,
<code>can't{tab}run\</code> becomes <code>u'can''t\0009run\\'</code>.</div>
</li>
</ul>
<a name="unquoteStringLiteral-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unquoteStringLiteral</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;unquoteStringLiteral(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</pre>
<div class="block">Converts a string literal back into a string. For example, <code>'can''t
run'</code> becomes <code>can't run</code>.</div>
</li>
</ul>
<a name="allowsAs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allowsAs</h4>
<pre>protected&nbsp;boolean&nbsp;allowsAs()</pre>
</li>
</ul>
<a name="requiresAliasForFromItems--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requiresAliasForFromItems</h4>
<pre>public&nbsp;boolean&nbsp;requiresAliasForFromItems()</pre>
<div class="block">Whether a sub-query in the FROM clause must have an alias.
<p>For example, in PostgreSQL, this query is legal:
<blockquote><code>SELECT * FROM (SELECT * FROM Emp) As e</code></blockquote>
<p>but remove the alias <code>e</code> and it is not:
<blockquote><code>SELECT * FROM (SELECT * FROM Emp)</code></blockquote>
<p>In Oracle, both queries are legal.</div>
</li>
</ul>
<a name="hasImplicitTableAlias--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasImplicitTableAlias</h4>
<pre>public&nbsp;boolean&nbsp;hasImplicitTableAlias()</pre>
<div class="block">Returns whether a qualified table in the FROM clause has an implicit alias
which consists of just the table name.
<p>For example, in <a href="../../../../org/apache/calcite/sql/SqlDialect.DatabaseProduct.html#ORACLE"><code>SqlDialect.DatabaseProduct.ORACLE</code></a>
<blockquote>SELECT * FROM sales.emp</blockquote>
<p>is equivalent to
<blockquote>SELECT * FROM sales.emp AS emp</blockquote>
<p>and therefore
<blockquote>SELECT emp.empno FROM sales.emp</blockquote>
<p>is valid. But <a href="../../../../org/apache/calcite/sql/SqlDialect.DatabaseProduct.html#DB2"><code>SqlDialect.DatabaseProduct.DB2</code></a> does not have an implicit
alias, so the previous query it not valid; you need to write
<blockquote>SELECT sales.emp.empno FROM sales.emp</blockquote>
<p>Returns true for all databases except DB2.</div>
</li>
</ul>
<a name="quoteTimestampLiteral-java.sql.Timestamp-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>quoteTimestampLiteral</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;quoteTimestampLiteral(<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql">Timestamp</a>&nbsp;timestamp)</pre>
<div class="block">Converts a timestamp to a SQL timestamp literal, e.g.
<code>TIMESTAMP '2009-12-17 12:34:56'</code>.
<p>Timestamp values do not have a time zone. We therefore interpret them
as the number of milliseconds after the UTC epoch, and the formatted
value is that time in UTC.
<p>In particular,
<blockquote><code>quoteTimestampLiteral(new Timestamp(0));</code>
</blockquote>
<p>returns <code>TIMESTAMP '1970-01-01 00:00:00'</code>, regardless of the JVM's
time zone.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timestamp</code> - Timestamp</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>SQL timestamp literal</dd>
</dl>
</li>
</ul>
<a name="getDatabaseProduct--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDatabaseProduct</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public&nbsp;<a href="../../../../org/apache/calcite/sql/SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a>&nbsp;getDatabaseProduct()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">To be removed without replacement</span></div>
<div class="block">Returns the database this dialect belongs to,
<a href="../../../../org/apache/calcite/sql/SqlDialect.DatabaseProduct.html#UNKNOWN"><code>SqlDialect.DatabaseProduct.UNKNOWN</code></a> if not known, never null.
<p>Please be judicious in how you use this method. If you wish to determine
whether a dialect has a particular capability or behavior, it is usually
better to add a method to SqlDialect and override that method in particular
sub-classes of SqlDialect.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Database product</dd>
</dl>
</li>
</ul>
<a name="supportsCharSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsCharSet</h4>
<pre>public&nbsp;boolean&nbsp;supportsCharSet()</pre>
<div class="block">Returns whether the dialect supports character set names as part of a
data type, for instance <code>VARCHAR(30) CHARACTER SET `ISO-8859-1`</code>.</div>
</li>
</ul>
<a name="supportsAggregateFunction-org.apache.calcite.sql.SqlKind-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsAggregateFunction</h4>
<pre>public&nbsp;boolean&nbsp;supportsAggregateFunction(<a href="../../../../org/apache/calcite/sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind)</pre>
</li>
</ul>
<a name="supportsWindowFunctions--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsWindowFunctions</h4>
<pre>public&nbsp;boolean&nbsp;supportsWindowFunctions()</pre>
<div class="block">Returns whether this dialect supports window functions (OVER clause).</div>
</li>
</ul>
<a name="supportsFunction-org.apache.calcite.sql.SqlOperator-org.apache.calcite.rel.type.RelDataType-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsFunction</h4>
<pre>public&nbsp;boolean&nbsp;supportsFunction(<a href="../../../../org/apache/calcite/sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>&nbsp;operator,
<a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;paramTypes)</pre>
<div class="block">Returns whether this dialect supports a given function or operator.
It only applies to built-in scalar functions and operators, since
user-defined functions and procedures should be read by JdbcSchema.</div>
</li>
</ul>
<a name="getCalendarPolicy--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCalendarPolicy</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/sql/SqlDialect.CalendarPolicy.html" title="enum in org.apache.calcite.sql">SqlDialect.CalendarPolicy</a>&nbsp;getCalendarPolicy()</pre>
</li>
</ul>
<a name="supportsDataType-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsDataType</h4>
<pre>public&nbsp;boolean&nbsp;supportsDataType(<a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type)</pre>
<div class="block">Returns whether this dialect supports a given type.</div>
</li>
</ul>
<a name="getCastSpec-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCastSpec</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;getCastSpec(<a href="../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type)</pre>
<div class="block">Returns SqlNode for type in "cast(column as type)", which might be
different between databases by type name, precision etc.</div>
</li>
</ul>
<a name="rewriteSingleValueExpr-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rewriteSingleValueExpr</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;rewriteSingleValueExpr(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;aggCall)</pre>
<div class="block">Rewrite SINGLE_VALUE into expression based on database variants
E.g. HSQLDB, MYSQL, ORACLE, etc</div>
</li>
</ul>
<a name="emulateNullDirection-org.apache.calcite.sql.SqlNode-boolean-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>emulateNullDirection</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;emulateNullDirection(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node,
boolean&nbsp;nullsFirst,
boolean&nbsp;desc)</pre>
<div class="block">Returns the SqlNode for emulating the null direction for the given field
or <code>null</code> if no emulation needs to be done.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - The SqlNode representing the expression</dd>
<dd><code>nullsFirst</code> - Whether nulls should come first</dd>
<dd><code>desc</code> - Whether the sort direction is
<a href="../../../../org/apache/calcite/rel/RelFieldCollation.Direction.html#DESCENDING"><code>RelFieldCollation.Direction.DESCENDING</code></a> or
<a href="../../../../org/apache/calcite/rel/RelFieldCollation.Direction.html#STRICTLY_DESCENDING"><code>RelFieldCollation.Direction.STRICTLY_DESCENDING</code></a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A SqlNode for null direction emulation or <code>null</code> if not required</dd>
</dl>
</li>
</ul>
<a name="emulateJoinTypeForCrossJoin--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>emulateJoinTypeForCrossJoin</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/sql/JoinType.html" title="enum in org.apache.calcite.sql">JoinType</a>&nbsp;emulateJoinTypeForCrossJoin()</pre>
</li>
</ul>
<a name="emulateNullDirectionWithIsNull-org.apache.calcite.sql.SqlNode-boolean-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>emulateNullDirectionWithIsNull</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;emulateNullDirectionWithIsNull(<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node,
boolean&nbsp;nullsFirst,
boolean&nbsp;desc)</pre>
</li>
</ul>
<a name="supportsOffsetFetch--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsOffsetFetch</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public&nbsp;boolean&nbsp;supportsOffsetFetch()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This method is no longer used. To change how the dialect
unparses offset/fetch, override the <a href="../../../../org/apache/calcite/sql/SqlDialect.html#unparseOffsetFetch-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.SqlNode-"><code>unparseOffsetFetch(org.apache.calcite.sql.SqlWriter, org.apache.calcite.sql.SqlNode, org.apache.calcite.sql.SqlNode)</code></a> method.</span></div>
<div class="block">Returns whether the dialect supports OFFSET/FETCH clauses
introduced by SQL:2008, for instance
<code>OFFSET 10 ROWS FETCH NEXT 20 ROWS ONLY</code>.
If false, we assume that the dialect supports the alternative syntax
<code>LIMIT 20 OFFSET 10</code>.</div>
</li>
</ul>
<a name="unparseOffsetFetch-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unparseOffsetFetch</h4>
<pre>public&nbsp;void&nbsp;unparseOffsetFetch(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;offset,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;fetch)</pre>
<div class="block">Converts an offset and fetch into SQL.
<p>At least one of <code>offset</code> and <code>fetch</code> must be provided.
<p>Common options:
<ul>
<li><code>OFFSET offset ROWS FETCH NEXT fetch ROWS ONLY</code>
(ANSI standard SQL, Oracle, PostgreSQL, and the default)
<li><code>LIMIT fetch OFFSET offset</code> (Apache Hive, MySQL, Redshift)
</ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>writer</code> - Writer</dd>
<dd><code>offset</code> - Number of rows to skip before emitting, or null</dd>
<dd><code>fetch</code> - Number of rows to fetch, or null</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/calcite/sql/SqlDialect.html#unparseFetchUsingAnsi-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.SqlNode-"><code>unparseFetchUsingAnsi(SqlWriter, SqlNode, SqlNode)</code></a>,
<a href="../../../../org/apache/calcite/sql/SqlDialect.html#unparseFetchUsingLimit-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.SqlNode-"><code>unparseFetchUsingLimit(SqlWriter, SqlNode, SqlNode)</code></a></dd>
</dl>
</li>
</ul>
<a name="unparseTopN-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unparseTopN</h4>
<pre>public&nbsp;void&nbsp;unparseTopN(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;offset,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;fetch)</pre>
<div class="block">Converts a fetch into a "SELECT TOP(fetch)".
<p>A dialect that uses "TOP" syntax should override this method to print
"TOP(fetch)", and override <a href="../../../../org/apache/calcite/sql/SqlDialect.html#unparseOffsetFetch-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.SqlNode-"><code>unparseOffsetFetch(org.apache.calcite.sql.SqlWriter, org.apache.calcite.sql.SqlNode, org.apache.calcite.sql.SqlNode)</code></a> to no-op.
<p>The default implementation of this method is no-op.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>writer</code> - Writer</dd>
<dd><code>offset</code> - Number of rows to skip before emitting, or null</dd>
<dd><code>fetch</code> - Number of rows to fetch, or null</dd>
</dl>
</li>
</ul>
<a name="unparseFetchUsingAnsi-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unparseFetchUsingAnsi</h4>
<pre>protected final&nbsp;void&nbsp;unparseFetchUsingAnsi(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;offset,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;fetch)</pre>
<div class="block">Unparses offset/fetch using ANSI standard "OFFSET offset ROWS FETCH NEXT
fetch ROWS ONLY" syntax.</div>
</li>
</ul>
<a name="unparseFetchUsingLimit-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unparseFetchUsingLimit</h4>
<pre>protected final&nbsp;void&nbsp;unparseFetchUsingLimit(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;offset,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;fetch)</pre>
<div class="block">Unparses offset/fetch using "LIMIT fetch OFFSET offset" syntax.</div>
</li>
</ul>
<a name="unparseLimit-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unparseLimit</h4>
<pre>protected final&nbsp;void&nbsp;unparseLimit(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;fetch)</pre>
</li>
</ul>
<a name="unparseOffset-org.apache.calcite.sql.SqlWriter-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unparseOffset</h4>
<pre>protected final&nbsp;void&nbsp;unparseOffset(<a href="../../../../org/apache/calcite/sql/SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;offset)</pre>
</li>
</ul>
<a name="supportsNestedAggregations--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsNestedAggregations</h4>
<pre>public&nbsp;boolean&nbsp;supportsNestedAggregations()</pre>
<div class="block">Returns whether the dialect supports nested aggregations, for instance
<code>SELECT SUM(SUM(1)) </code>.</div>
</li>
</ul>
<a name="supportsGroupByWithRollup--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsGroupByWithRollup</h4>
<pre>public&nbsp;boolean&nbsp;supportsGroupByWithRollup()</pre>
<div class="block">Returns whether this dialect supports "WITH ROLLUP" in the "GROUP BY"
clause.
<p>For instance, in MySQL version 5,
<blockquote>
<code>
SELECT deptno, job, COUNT(*) AS c
FROM emp
GROUP BY deptno, job WITH ROLLUP
</code>
</blockquote>
<p>is equivalent to standard SQL
<blockquote>
<code>
SELECT deptno, job, COUNT(*) AS c
FROM emp
GROUP BY ROLLUP(deptno, job)
ORDER BY deptno, job
</code>
</blockquote>
<p>The "WITH ROLLUP" clause was introduced in MySQL and is not standard
SQL.
<p>See also <a href="../../../../org/apache/calcite/sql/SqlDialect.html#supportsAggregateFunction-org.apache.calcite.sql.SqlKind-"><code>supportsAggregateFunction(SqlKind)</code></a> applied to
<a href="../../../../org/apache/calcite/sql/SqlKind.html#ROLLUP"><code>SqlKind.ROLLUP</code></a>, which returns true in MySQL 8 and higher.</div>
</li>
</ul>
<a name="supportsGroupByWithCube--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsGroupByWithCube</h4>
<pre>public&nbsp;boolean&nbsp;supportsGroupByWithCube()</pre>
<div class="block">Returns whether this dialect supports "WITH CUBE" in "GROUP BY" clause.</div>
</li>
</ul>
<a name="getNullCollation--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNullCollation</h4>
<pre>public&nbsp;<a href="../../../../org/apache/calcite/config/NullCollation.html" title="enum in org.apache.calcite.config">NullCollation</a>&nbsp;getNullCollation()</pre>
<div class="block">Returns how NULL values are sorted if an ORDER BY item does not contain
NULLS ASCENDING or NULLS DESCENDING.</div>
</li>
</ul>
<a name="defaultNullDirection-org.apache.calcite.rel.RelFieldCollation.Direction-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>defaultNullDirection</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/javax/annotation/Nonnull.html?is-external=true" title="class or interface in javax.annotation">@Nonnull</a>
public&nbsp;<a href="../../../../org/apache/calcite/rel/RelFieldCollation.NullDirection.html" title="enum in org.apache.calcite.rel">RelFieldCollation.NullDirection</a>&nbsp;defaultNullDirection(<a href="../../../../org/apache/calcite/rel/RelFieldCollation.Direction.html" title="enum in org.apache.calcite.rel">RelFieldCollation.Direction</a>&nbsp;direction)</pre>
<div class="block">Returns whether NULL values are sorted first or last, in this dialect,
in an ORDER BY item of a given direction.</div>
</li>
</ul>
<a name="supportsAliasedValues--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsAliasedValues</h4>
<pre>public&nbsp;boolean&nbsp;supportsAliasedValues()</pre>
<div class="block">Returns whether the dialect supports VALUES in a sub-query with
and an "AS t(column, ...)" values to define column names.
<p>Currently, only Oracle does not. For this, we generate "SELECT v0 AS c0,
v1 AS c1 ... UNION ALL ...". We may need to refactor this method when we
support VALUES for other dialects.</div>
</li>
</ul>
<a name="supportsImplicitTypeCoercion-org.apache.calcite.rex.RexCall-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsImplicitTypeCoercion</h4>
<pre>public&nbsp;boolean&nbsp;supportsImplicitTypeCoercion(<a href="../../../../org/apache/calcite/rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a>&nbsp;call)</pre>
<div class="block">Returns whether the dialect supports implicit type coercion.
<p>Most of the sql dialects support implicit type coercion, so we make this method
default return true. For instance, "cast('10' as integer) &gt; 5"
can be simplified to "'10' &gt; 5" if the dialect supports implicit type coercion
for VARCHAR and INTEGER comparison.
<p>For sql dialect that does not support implicit type coercion, such as the BigQuery,
we can not convert '10' into INT64 implicitly.
<p>Now this method is used for some auxiliary decision when translating some <a href="../../../../org/apache/calcite/rex/RexCall.html" title="class in org.apache.calcite.rex"><code>RexCall</code></a>s,
see SqlImplementor#stripCastFromString for details.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>call</code> - the call to make decision</dd>
</dl>
</li>
</ul>
<a name="getSingleRowTableName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSingleRowTableName</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/javax/annotation/Nullable.html?is-external=true" title="class or interface in javax.annotation">@Nullable</a>
public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getSingleRowTableName()</pre>
<div class="block">Returns the name of the system table that has precisely one row.
If there is no such table, returns null, and we will generate SELECT with
no FROM clause.
<p>For <code>VALUES 1</code>,
Oracle returns ["DUAL"] and we generate "SELECT 1 FROM DUAL";
MySQL returns null and we generate "SELECT 1".</div>
</li>
</ul>
<a name="configureParser-org.apache.calcite.sql.parser.SqlParser.ConfigBuilder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>configureParser</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/javax/annotation/Nonnull.html?is-external=true" title="class or interface in javax.annotation">@Nonnull</a>
public&nbsp;<a href="../../../../org/apache/calcite/sql/parser/SqlParser.ConfigBuilder.html" title="class in org.apache.calcite.sql.parser">SqlParser.ConfigBuilder</a>&nbsp;configureParser(<a href="../../../../org/apache/calcite/sql/parser/SqlParser.ConfigBuilder.html" title="class in org.apache.calcite.sql.parser">SqlParser.ConfigBuilder</a>&nbsp;configBuilder)</pre>
<div class="block">Copies settings from this dialect into a parser configuration.
<p><code>SqlDialect</code>, <code>SqlParser.Config</code> and <a href="../../../../org/apache/calcite/sql/validate/SqlConformance.html" title="interface in org.apache.calcite.sql.validate"><code>SqlConformance</code></a>
cover different aspects of the same thing - the dialect of SQL spoken by a
database - and this method helps to bridge between them. (The aspects are,
respectively, generating SQL to send to a source database, parsing SQL
sent to Calcite, and validating queries sent to Calcite. It makes sense to
keep them as separate interfaces because they are used by different
modules.)
<p>The settings copied may differ among dialects, and may change over time,
but currently include the following:
<ul>
<li><a href="../../../../org/apache/calcite/sql/SqlDialect.html#getQuoting--"><code>getQuoting()</code></a>
<li><a href="../../../../org/apache/calcite/sql/SqlDialect.html#getQuotedCasing--"><code>getQuotedCasing()</code></a>
<li><a href="../../../../org/apache/calcite/sql/SqlDialect.html#getUnquotedCasing--"><code>getUnquotedCasing()</code></a>
<li><a href="../../../../org/apache/calcite/sql/SqlDialect.html#isCaseSensitive--"><code>isCaseSensitive()</code></a>
<li><a href="../../../../org/apache/calcite/sql/SqlDialect.html#getConformance--"><code>getConformance()</code></a>
</ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configBuilder</code> - Parser configuration builder</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The configuration builder</dd>
</dl>
</li>
</ul>
<a name="getConformance--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConformance</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/javax/annotation/Nonnull.html?is-external=true" title="class or interface in javax.annotation">@Nonnull</a>
public&nbsp;<a href="../../../../org/apache/calcite/sql/validate/SqlConformance.html" title="interface in org.apache.calcite.sql.validate">SqlConformance</a>&nbsp;getConformance()</pre>
<div class="block">Returns the <a href="../../../../org/apache/calcite/sql/validate/SqlConformance.html" title="interface in org.apache.calcite.sql.validate"><code>SqlConformance</code></a> that matches this dialect.
<p>The base implementation returns its best guess, based upon
<a href="../../../../org/apache/calcite/sql/SqlDialect.html#databaseProduct"><code>databaseProduct</code></a>; sub-classes may override.</div>
</li>
</ul>
<a name="getQuoting--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQuoting</h4>
<pre>protected&nbsp;org.apache.calcite.avatica.util.Quoting&nbsp;getQuoting()</pre>
<div class="block">Returns the quoting scheme, or null if the combination of
<a href="../../../../org/apache/calcite/sql/SqlDialect.html#identifierQuoteString"><code>identifierQuoteString</code></a> and <a href="../../../../org/apache/calcite/sql/SqlDialect.html#identifierEndQuoteString"><code>identifierEndQuoteString</code></a>
does not correspond to any known quoting scheme.</div>
</li>
</ul>
<a name="getUnquotedCasing--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUnquotedCasing</h4>
<pre>public&nbsp;org.apache.calcite.avatica.util.Casing&nbsp;getUnquotedCasing()</pre>
<div class="block">Returns how unquoted identifiers are stored.</div>
</li>
</ul>
<a name="getQuotedCasing--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQuotedCasing</h4>
<pre>public&nbsp;org.apache.calcite.avatica.util.Casing&nbsp;getQuotedCasing()</pre>
<div class="block">Returns how quoted identifiers are stored.</div>
</li>
</ul>
<a name="isCaseSensitive--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isCaseSensitive</h4>
<pre>public&nbsp;boolean&nbsp;isCaseSensitive()</pre>
<div class="block">Returns whether matching of identifiers is case-sensitive.</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= 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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">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/sql/SqlDescriptorOperator.html" title="class in org.apache.calcite.sql"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/calcite/sql/SqlDialect.CalendarPolicy.html" title="enum in org.apache.calcite.sql"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/calcite/sql/SqlDialect.html" target="_top">Frames</a></li>
<li><a href="SqlDialect.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a 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>