| <!DOCTYPE HTML> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc --> |
| <title>SqlDialect (Apache Calcite API)</title> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style"> |
| <script type="text/javascript" src="../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script> |
| <script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script> |
| <!--[if IE]> |
| <script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script> |
| <![endif]--> |
| <script type="text/javascript" src="../../../../jquery/jquery-3.3.1.js"></script> |
| <script type="text/javascript" src="../../../../jquery/jquery-migrate-3.0.1.js"></script> |
| <script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| try { |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="SqlDialect (Apache Calcite API)"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var data = {"i0":10,"i1":10,"i2":9,"i3":41,"i4":10,"i5":9,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":42,"i13":10,"i14":41,"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}; |
| 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"; |
| var pathtoroot = "../../../../"; |
| var useModuleDirectories = true; |
| loadScripts(document, 'script');</script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <header role="banner"> |
| <nav role="navigation"> |
| <div class="fixedNav"> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a id="navbar.top"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> |
| <a id="navbar.top.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../index.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/SqlDialect.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../help-doc.html">Help</a></li> |
| </ul> |
| </div> |
| <div class="subNav"> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../../allclasses.html">All Classes</a></li> |
| </ul> |
| <ul class="navListSearch"> |
| <li><label for="search">SEARCH:</label> |
| <input type="text" id="search" value="search" disabled="disabled"> |
| <input type="reset" id="reset" value="reset" disabled="disabled"> |
| </li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_top"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li><a href="#constructor.detail">Constr</a> | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <a id="skip.navbar.top"> |
| <!-- --> |
| </a></div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| </div> |
| <div class="navPadding"> </div> |
| <script type="text/javascript"><!-- |
| $('.navPadding').css('padding-top', $('.fixedNav').css("height")); |
| //--> |
| </script> |
| </nav> |
| </header> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <main role="main"> |
| <div class="header"> |
| <div class="subTitle"><span class="packageLabelInType">Package</span> <a href="package-summary.html">org.apache.calcite.sql</a></div> |
| <h2 title="Class SqlDialect" class="title">Class SqlDialect</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li>java.lang.Object</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><code><a href="dialect/AccessSqlDialect.html" title="class in org.apache.calcite.sql.dialect">AccessSqlDialect</a></code>, <code><a href="dialect/AnsiSqlDialect.html" title="class in org.apache.calcite.sql.dialect">AnsiSqlDialect</a></code>, <code><a href="dialect/BigQuerySqlDialect.html" title="class in org.apache.calcite.sql.dialect">BigQuerySqlDialect</a></code>, <code><a href="dialect/CalciteSqlDialect.html" title="class in org.apache.calcite.sql.dialect">CalciteSqlDialect</a></code>, <code><a href="dialect/Db2SqlDialect.html" title="class in org.apache.calcite.sql.dialect">Db2SqlDialect</a></code>, <code><a href="dialect/DerbySqlDialect.html" title="class in org.apache.calcite.sql.dialect">DerbySqlDialect</a></code>, <code><a href="dialect/FirebirdSqlDialect.html" title="class in org.apache.calcite.sql.dialect">FirebirdSqlDialect</a></code>, <code><a href="dialect/H2SqlDialect.html" title="class in org.apache.calcite.sql.dialect">H2SqlDialect</a></code>, <code><a href="dialect/HiveSqlDialect.html" title="class in org.apache.calcite.sql.dialect">HiveSqlDialect</a></code>, <code><a href="dialect/HsqldbSqlDialect.html" title="class in org.apache.calcite.sql.dialect">HsqldbSqlDialect</a></code>, <code><a href="dialect/InfobrightSqlDialect.html" title="class in org.apache.calcite.sql.dialect">InfobrightSqlDialect</a></code>, <code><a href="dialect/InformixSqlDialect.html" title="class in org.apache.calcite.sql.dialect">InformixSqlDialect</a></code>, <code><a href="dialect/IngresSqlDialect.html" title="class in org.apache.calcite.sql.dialect">IngresSqlDialect</a></code>, <code><a href="dialect/InterbaseSqlDialect.html" title="class in org.apache.calcite.sql.dialect">InterbaseSqlDialect</a></code>, <code><a href="dialect/JethroDataSqlDialect.html" title="class in org.apache.calcite.sql.dialect">JethroDataSqlDialect</a></code>, <code><a href="dialect/LucidDbSqlDialect.html" title="class in org.apache.calcite.sql.dialect">LucidDbSqlDialect</a></code>, <code><a href="dialect/MssqlSqlDialect.html" title="class in org.apache.calcite.sql.dialect">MssqlSqlDialect</a></code>, <code><a href="dialect/MysqlSqlDialect.html" title="class in org.apache.calcite.sql.dialect">MysqlSqlDialect</a></code>, <code><a href="dialect/NeoviewSqlDialect.html" title="class in org.apache.calcite.sql.dialect">NeoviewSqlDialect</a></code>, <code><a href="dialect/NetezzaSqlDialect.html" title="class in org.apache.calcite.sql.dialect">NetezzaSqlDialect</a></code>, <code><a href="dialect/OracleSqlDialect.html" title="class in org.apache.calcite.sql.dialect">OracleSqlDialect</a></code>, <code><a href="dialect/ParaccelSqlDialect.html" title="class in org.apache.calcite.sql.dialect">ParaccelSqlDialect</a></code>, <code><a href="dialect/PhoenixSqlDialect.html" title="class in org.apache.calcite.sql.dialect">PhoenixSqlDialect</a></code>, <code><a href="dialect/PostgresqlSqlDialect.html" title="class in org.apache.calcite.sql.dialect">PostgresqlSqlDialect</a></code>, <code><a href="dialect/RedshiftSqlDialect.html" title="class in org.apache.calcite.sql.dialect">RedshiftSqlDialect</a></code>, <code><a href="dialect/SnowflakeSqlDialect.html" title="class in org.apache.calcite.sql.dialect">SnowflakeSqlDialect</a></code>, <code><a href="dialect/SparkSqlDialect.html" title="class in org.apache.calcite.sql.dialect">SparkSqlDialect</a></code>, <code><a href="dialect/SybaseSqlDialect.html" title="class in org.apache.calcite.sql.dialect">SybaseSqlDialect</a></code>, <code><a href="dialect/TeradataSqlDialect.html" title="class in org.apache.calcite.sql.dialect">TeradataSqlDialect</a></code>, <code><a href="dialect/VerticaSqlDialect.html" title="class in org.apache.calcite.sql.dialect">VerticaSqlDialect</a></code></dd> |
| </dl> |
| <hr> |
| <pre>public class <span class="typeNameLabel">SqlDialect</span> |
| extends java.lang.Object</pre> |
| <div class="block"><code>SqlDialect</code> encapsulates the differences between dialects of SQL. |
| |
| <p>It is used by classes such as <a href="SqlWriter.html" title="interface in org.apache.calcite.sql"><code>SqlWriter</code></a> and |
| <a href="util/SqlBuilder.html" title="class in org.apache.calcite.sql.util"><code>SqlBuilder</code></a>.</div> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ======== NESTED CLASS SUMMARY ======== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="nested.class.summary"> |
| <!-- --> |
| </a> |
| <h3>Nested Class Summary</h3> |
| <table class="memberSummary"> |
| <caption><span>Nested Classes</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colSecond" scope="col">Class</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlDialect.CalendarPolicy.html" title="enum in org.apache.calcite.sql">SqlDialect.CalendarPolicy</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Whether this JDBC driver needs you to pass a Calendar object to methods |
| such as <code>ResultSet.getTimestamp(int, java.util.Calendar)</code>.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static interface </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlDialect.Context.html" title="interface in org.apache.calcite.sql">SqlDialect.Context</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Information for creating a dialect.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlDialect.ContextImpl.html" title="class in org.apache.calcite.sql">SqlDialect.ContextImpl</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Implementation of Context.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Rough list of flavors of database.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlDialect.FakeUtil.html" title="class in org.apache.calcite.sql">SqlDialect.FakeUtil</a></span></code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| </section> |
| <!-- =========== FIELD SUMMARY =========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="field.summary"> |
| <!-- --> |
| </a> |
| <h3>Field Summary</h3> |
| <table class="memberSummary"> |
| <caption><span>Fields</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colSecond" scope="col">Field</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>protected static java.util.Set<<a href="SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#BUILT_IN_OPERATORS_LIST">BUILT_IN_OPERATORS_LIST</a></span></code></th> |
| <td class="colLast"> |
| <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="SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#CALCITE">CALCITE</a></span></code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="deprecationComment">Use <a href="dialect/CalciteSqlDialect.html#DEFAULT"><code>CalciteSqlDialect.DEFAULT</code></a> instead.</div> |
| </div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#caseSensitive">caseSensitive</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private <a href="SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#databaseProduct">databaseProduct</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private <a href="../rel/type/RelDataTypeSystem.html" title="interface in org.apache.calcite.rel.type">RelDataTypeSystem</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dataTypeSystem">dataTypeSystem</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <a href="SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DUMMY">DUMMY</a></span></code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="deprecationComment">Use <a href="dialect/AnsiSqlDialect.html#DEFAULT"><code>AnsiSqlDialect.DEFAULT</code></a> instead.</div> |
| </div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <a href="SqlDialect.Context.html" title="interface in org.apache.calcite.sql">SqlDialect.Context</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EMPTY_CONTEXT">EMPTY_CONTEXT</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Empty context.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private static char[]</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#HEXITS">HEXITS</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>protected java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#identifierEndQuoteString">identifierEndQuoteString</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>protected java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#identifierEscapedQuote">identifierEscapedQuote</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>protected java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#identifierQuoteString">identifierQuoteString</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>protected java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#literalEndQuoteString">literalEndQuoteString</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>protected java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#literalEscapedQuote">literalEscapedQuote</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>protected java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#literalQuoteString">literalQuoteString</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>protected static org.slf4j.Logger</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#LOGGER">LOGGER</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>protected <a href="../config/NullCollation.html" title="enum in org.apache.calcite.config">NullCollation</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nullCollation">nullCollation</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private org.apache.calcite.avatica.util.Casing</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#quotedCasing">quotedCasing</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private org.apache.calcite.avatica.util.Casing</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unquotedCasing">unquotedCasing</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| </section> |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="constructor.summary"> |
| <!-- --> |
| </a> |
| <h3>Constructor Summary</h3> |
| <table class="memberSummary"> |
| <caption><span>Constructors</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Constructor</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr class="altColor"> |
| <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.calcite.sql.SqlDialect.Context)">SqlDialect</a></span>​(<a href="SqlDialect.Context.html" title="interface in org.apache.calcite.sql">SqlDialect.Context</a> context)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a SqlDialect.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.calcite.sql.SqlDialect.DatabaseProduct,java.lang.String,java.lang.String)">SqlDialect</a></span>​(<a href="SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a> databaseProduct, |
| java.lang.String databaseProductName, |
| java.lang.String identifierQuoteString)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.calcite.sql.SqlDialect.DatabaseProduct,java.lang.String,java.lang.String,org.apache.calcite.config.NullCollation)">SqlDialect</a></span>​(<a href="SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a> databaseProduct, |
| java.lang.String databaseProductName, |
| java.lang.String identifierQuoteString, |
| <a href="../config/NullCollation.html" title="enum in org.apache.calcite.config">NullCollation</a> nullCollation)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="deprecationComment">Use <a href="#%3Cinit%3E(org.apache.calcite.sql.SqlDialect.Context)"><code>SqlDialect(Context)</code></a></div> |
| </div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| </section> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="method.summary"> |
| <!-- --> |
| </a> |
| <h3>Method Summary</h3> |
| <table class="memberSummary"> |
| <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd"> </span></span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colSecond" scope="col">Method</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr id="i0" class="altColor"> |
| <td class="colFirst"><code>protected boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#allowsAs()">allowsAs</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code><a href="parser/SqlParser.ConfigBuilder.html" title="class in org.apache.calcite.sql.parser">SqlParser.ConfigBuilder</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#configureParser(org.apache.calcite.sql.parser.SqlParser.ConfigBuilder)">configureParser</a></span>​(<a href="parser/SqlParser.ConfigBuilder.html" title="class in org.apache.calcite.sql.parser">SqlParser.ConfigBuilder</a> configBuilder)</code></th> |
| <td class="colLast"> |
| <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> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#containsNonAscii(java.lang.String)">containsNonAscii</a></span>​(java.lang.String s)</code></th> |
| <td class="colLast"> |
| <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="SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#create(java.sql.DatabaseMetaData)">create</a></span>​(java.sql.DatabaseMetaData databaseMetaData)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="deprecationComment">Replaced by <a href="SqlDialectFactory.html" title="interface in org.apache.calcite.sql"><code>SqlDialectFactory</code></a></div> |
| </div> |
| </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code><a href="../rel/RelFieldCollation.NullDirection.html" title="enum in org.apache.calcite.rel">RelFieldCollation.NullDirection</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#defaultNullDirection(org.apache.calcite.rel.RelFieldCollation.Direction)">defaultNullDirection</a></span>​(<a href="../rel/RelFieldCollation.Direction.html" title="enum in org.apache.calcite.rel">RelFieldCollation.Direction</a> direction)</code></th> |
| <td class="colLast"> |
| <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>protected static <a href="SqlDialect.Context.html" title="interface in org.apache.calcite.sql">SqlDialect.Context</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#emptyContext()">emptyContext</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Creates an empty context.</div> |
| </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code><a href="JoinType.html" title="enum in org.apache.calcite.sql">JoinType</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#emulateJoinTypeForCrossJoin()">emulateJoinTypeForCrossJoin</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code><a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#emulateNullDirection(org.apache.calcite.sql.SqlNode,boolean,boolean)">emulateNullDirection</a></span>​(<a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| boolean nullsFirst, |
| boolean desc)</code></th> |
| <td class="colLast"> |
| <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="i8" class="altColor"> |
| <td class="colFirst"><code>protected <a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#emulateNullDirectionWithIsNull(org.apache.calcite.sql.SqlNode,boolean,boolean)">emulateNullDirectionWithIsNull</a></span>​(<a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| boolean nullsFirst, |
| boolean desc)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code><a href="SqlDialect.CalendarPolicy.html" title="enum in org.apache.calcite.sql">SqlDialect.CalendarPolicy</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCalendarPolicy()">getCalendarPolicy</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code><a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCastSpec(org.apache.calcite.rel.type.RelDataType)">getCastSpec</a></span>​(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code><a href="validate/SqlConformance.html" title="interface in org.apache.calcite.sql.validate">SqlConformance</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getConformance()">getConformance</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the <a href="validate/SqlConformance.html" title="interface in org.apache.calcite.sql.validate"><code>SqlConformance</code></a> that matches this dialect.</div> |
| </td> |
| </tr> |
| <tr id="i12" class="altColor"> |
| <td class="colFirst"><code><a href="SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDatabaseProduct()">getDatabaseProduct</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="deprecationComment">To be removed without replacement</div> |
| </div> |
| </td> |
| </tr> |
| <tr id="i13" class="rowColor"> |
| <td class="colFirst"><code><a href="../config/NullCollation.html" title="enum in org.apache.calcite.config">NullCollation</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getNullCollation()">getNullCollation</a></span>()</code></th> |
| <td class="colLast"> |
| <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="i14" class="altColor"> |
| <td class="colFirst"><code>static <a href="SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getProduct(java.lang.String,java.lang.String)">getProduct</a></span>​(java.lang.String productName, |
| java.lang.String productVersion)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr id="i15" class="rowColor"> |
| <td class="colFirst"><code>org.apache.calcite.avatica.util.Casing</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getQuotedCasing()">getQuotedCasing</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns how quoted identifiers are stored.</div> |
| </td> |
| </tr> |
| <tr id="i16" class="altColor"> |
| <td class="colFirst"><code>protected org.apache.calcite.avatica.util.Quoting</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getQuoting()">getQuoting</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the quoting scheme, or null if the combination of |
| <a href="#identifierQuoteString"><code>identifierQuoteString</code></a> and <a href="#identifierEndQuoteString"><code>identifierEndQuoteString</code></a> |
| does not correspond to any known quoting scheme.</div> |
| </td> |
| </tr> |
| <tr id="i17" class="rowColor"> |
| <td class="colFirst"><code>java.util.List<java.lang.String></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSingleRowTableName()">getSingleRowTableName</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the name of the system table that has precisely one row.</div> |
| </td> |
| </tr> |
| <tr id="i18" class="altColor"> |
| <td class="colFirst"><code><a href="../rel/type/RelDataTypeSystem.html" title="interface in org.apache.calcite.rel.type">RelDataTypeSystem</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTypeSystem()">getTypeSystem</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the type system implementation for this dialect.</div> |
| </td> |
| </tr> |
| <tr id="i19" class="rowColor"> |
| <td class="colFirst"><code>org.apache.calcite.avatica.util.Casing</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUnquotedCasing()">getUnquotedCasing</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns how unquoted identifiers are stored.</div> |
| </td> |
| </tr> |
| <tr id="i20" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasImplicitTableAlias()">hasImplicitTableAlias</a></span>()</code></th> |
| <td class="colLast"> |
| <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="i21" class="rowColor"> |
| <td class="colFirst"><code>protected boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#identifierNeedsQuote(java.lang.String)">identifierNeedsQuote</a></span>​(java.lang.String val)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether to quote an identifier.</div> |
| </td> |
| </tr> |
| <tr id="i22" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCaseSensitive()">isCaseSensitive</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether matching of identifiers is case-sensitive.</div> |
| </td> |
| </tr> |
| <tr id="i23" class="rowColor"> |
| <td class="colFirst"><code>java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#quoteIdentifier(java.lang.String)">quoteIdentifier</a></span>​(java.lang.String val)</code></th> |
| <td class="colLast"> |
| <div class="block">Encloses an identifier in quotation marks appropriate for the current SQL |
| dialect.</div> |
| </td> |
| </tr> |
| <tr id="i24" class="altColor"> |
| <td class="colFirst"><code>java.lang.StringBuilder</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#quoteIdentifier(java.lang.StringBuilder,java.lang.String)">quoteIdentifier</a></span>​(java.lang.StringBuilder buf, |
| java.lang.String val)</code></th> |
| <td class="colLast"> |
| <div class="block">Encloses an identifier in quotation marks appropriate for the current SQL |
| dialect, writing the result to a <code>StringBuilder</code>.</div> |
| </td> |
| </tr> |
| <tr id="i25" class="rowColor"> |
| <td class="colFirst"><code>java.lang.StringBuilder</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#quoteIdentifier(java.lang.StringBuilder,java.util.List)">quoteIdentifier</a></span>​(java.lang.StringBuilder buf, |
| java.util.List<java.lang.String> identifiers)</code></th> |
| <td class="colLast"> |
| <div class="block">Quotes a multi-part identifier.</div> |
| </td> |
| </tr> |
| <tr id="i26" class="altColor"> |
| <td class="colFirst"><code>java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#quoteStringLiteral(java.lang.String)">quoteStringLiteral</a></span>​(java.lang.String val)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts a string into a string literal.</div> |
| </td> |
| </tr> |
| <tr id="i27" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#quoteStringLiteral(java.lang.StringBuilder,java.lang.String,java.lang.String)">quoteStringLiteral</a></span>​(java.lang.StringBuilder buf, |
| java.lang.String charsetName, |
| java.lang.String val)</code></th> |
| <td class="colLast"> |
| <div class="block">Appends a string literal to a buffer.</div> |
| </td> |
| </tr> |
| <tr id="i28" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#quoteStringLiteralUnicode(java.lang.StringBuilder,java.lang.String)">quoteStringLiteralUnicode</a></span>​(java.lang.StringBuilder buf, |
| java.lang.String val)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts a string into a unicode string literal.</div> |
| </td> |
| </tr> |
| <tr id="i29" class="rowColor"> |
| <td class="colFirst"><code>java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#quoteTimestampLiteral(java.sql.Timestamp)">quoteTimestampLiteral</a></span>​(java.sql.Timestamp timestamp)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts a timestamp to a SQL timestamp literal, e.g.</div> |
| </td> |
| </tr> |
| <tr id="i30" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#requiresAliasForFromItems()">requiresAliasForFromItems</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Whether a sub-query in the FROM clause must have an alias.</div> |
| </td> |
| </tr> |
| <tr id="i31" class="rowColor"> |
| <td class="colFirst"><code><a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rewriteSingleValueExpr(org.apache.calcite.sql.SqlNode)">rewriteSingleValueExpr</a></span>​(<a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> aggCall)</code></th> |
| <td class="colLast"> |
| <div class="block">Rewrite SINGLE_VALUE into expression based on database variants |
| E.g.</div> |
| </td> |
| </tr> |
| <tr id="i32" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsAggregateFunction(org.apache.calcite.sql.SqlKind)">supportsAggregateFunction</a></span>​(<a href="SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a> kind)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i33" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsAliasedValues()">supportsAliasedValues</a></span>()</code></th> |
| <td class="colLast"> |
| <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="i34" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsCharSet()">supportsCharSet</a></span>()</code></th> |
| <td class="colLast"> |
| <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="i35" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsDataType(org.apache.calcite.rel.type.RelDataType)">supportsDataType</a></span>​(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether this dialect supports a given type.</div> |
| </td> |
| </tr> |
| <tr id="i36" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsFunction(org.apache.calcite.sql.SqlOperator,org.apache.calcite.rel.type.RelDataType,java.util.List)">supportsFunction</a></span>​(<a href="SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a> operator, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| java.util.List<<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> paramTypes)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether this dialect supports a given function or operator.</div> |
| </td> |
| </tr> |
| <tr id="i37" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsGroupByWithCube()">supportsGroupByWithCube</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether this dialect supports "WITH CUBE" in "GROUP BY" clause.</div> |
| </td> |
| </tr> |
| <tr id="i38" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsGroupByWithRollup()">supportsGroupByWithRollup</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether this dialect supports "WITH ROLLUP" in the "GROUP BY" |
| clause.</div> |
| </td> |
| </tr> |
| <tr id="i39" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsNestedAggregations()">supportsNestedAggregations</a></span>()</code></th> |
| <td class="colLast"> |
| <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> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsOffsetFetch()">supportsOffsetFetch</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="deprecationComment">This method is no longer used.</div> |
| </div> |
| </td> |
| </tr> |
| <tr id="i41" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsWindowFunctions()">supportsWindowFunctions</a></span>()</code></th> |
| <td class="colLast"> |
| <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> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unparseCall(org.apache.calcite.sql.SqlWriter,org.apache.calcite.sql.SqlCall,int,int)">unparseCall</a></span>​(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a> writer, |
| <a href="SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call, |
| int leftPrec, |
| int rightPrec)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i43" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unparseDateTimeLiteral(org.apache.calcite.sql.SqlWriter,org.apache.calcite.sql.SqlAbstractDateTimeLiteral,int,int)">unparseDateTimeLiteral</a></span>​(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a> writer, |
| <a href="SqlAbstractDateTimeLiteral.html" title="class in org.apache.calcite.sql">SqlAbstractDateTimeLiteral</a> literal, |
| int leftPrec, |
| int rightPrec)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i44" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unparseFetchUsingAnsi(org.apache.calcite.sql.SqlWriter,org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.SqlNode)">unparseFetchUsingAnsi</a></span>​(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a> writer, |
| <a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> offset, |
| <a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> fetch)</code></th> |
| <td class="colLast"> |
| <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> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unparseFetchUsingLimit(org.apache.calcite.sql.SqlWriter,org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.SqlNode)">unparseFetchUsingLimit</a></span>​(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a> writer, |
| <a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> offset, |
| <a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> fetch)</code></th> |
| <td class="colLast"> |
| <div class="block">Unparses offset/fetch using "LIMIT fetch OFFSET offset" syntax.</div> |
| </td> |
| </tr> |
| <tr id="i46" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unparseOffsetFetch(org.apache.calcite.sql.SqlWriter,org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.SqlNode)">unparseOffsetFetch</a></span>​(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a> writer, |
| <a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> offset, |
| <a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> fetch)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts an offset and fetch into SQL.</div> |
| </td> |
| </tr> |
| <tr id="i47" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unparseSqlDatetimeArithmetic(org.apache.calcite.sql.SqlWriter,org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.SqlKind,int,int)">unparseSqlDatetimeArithmetic</a></span>​(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a> writer, |
| <a href="SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call, |
| <a href="SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a> sqlKind, |
| int leftPrec, |
| int rightPrec)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i48" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unparseSqlIntervalLiteral(org.apache.calcite.sql.SqlWriter,org.apache.calcite.sql.SqlIntervalLiteral,int,int)">unparseSqlIntervalLiteral</a></span>​(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a> writer, |
| <a href="SqlIntervalLiteral.html" title="class in org.apache.calcite.sql">SqlIntervalLiteral</a> literal, |
| int leftPrec, |
| int rightPrec)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts an interval literal to a SQL string.</div> |
| </td> |
| </tr> |
| <tr id="i49" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unparseSqlIntervalQualifier(org.apache.calcite.sql.SqlWriter,org.apache.calcite.sql.SqlIntervalQualifier,org.apache.calcite.rel.type.RelDataTypeSystem)">unparseSqlIntervalQualifier</a></span>​(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a> writer, |
| <a href="SqlIntervalQualifier.html" title="class in org.apache.calcite.sql">SqlIntervalQualifier</a> qualifier, |
| <a href="../rel/type/RelDataTypeSystem.html" title="interface in org.apache.calcite.rel.type">RelDataTypeSystem</a> typeSystem)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts an interval qualifier to a SQL string.</div> |
| </td> |
| </tr> |
| <tr id="i50" class="altColor"> |
| <td class="colFirst"><code>java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unquoteStringLiteral(java.lang.String)">unquoteStringLiteral</a></span>​(java.lang.String val)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts a string literal back into a string.</div> |
| </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class java.lang.Object</h3> |
| <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </div> |
| <div class="details"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ============ FIELD DETAIL =========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="field.detail"> |
| <!-- --> |
| </a> |
| <h3>Field Detail</h3> |
| <a id="LOGGER"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>LOGGER</h4> |
| <pre>protected static final org.slf4j.Logger LOGGER</pre> |
| </li> |
| </ul> |
| <a id="EMPTY_CONTEXT"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>EMPTY_CONTEXT</h4> |
| <pre>public static final <a href="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 id="DUMMY"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>DUMMY</h4> |
| <pre>@Deprecated |
| public static final <a href="SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a> DUMMY</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="deprecationComment">Use <a href="dialect/AnsiSqlDialect.html#DEFAULT"><code>AnsiSqlDialect.DEFAULT</code></a> instead.</div> |
| </div> |
| </li> |
| </ul> |
| <a id="CALCITE"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>CALCITE</h4> |
| <pre>@Deprecated |
| public static final <a href="SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a> CALCITE</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="deprecationComment">Use <a href="dialect/CalciteSqlDialect.html#DEFAULT"><code>CalciteSqlDialect.DEFAULT</code></a> instead.</div> |
| </div> |
| </li> |
| </ul> |
| <a id="BUILT_IN_OPERATORS_LIST"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>BUILT_IN_OPERATORS_LIST</h4> |
| <pre>protected static final java.util.Set<<a href="SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a>> BUILT_IN_OPERATORS_LIST</pre> |
| <div class="block">Built-in scalar functions and operators common for every dialect.</div> |
| </li> |
| </ul> |
| <a id="identifierQuoteString"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>identifierQuoteString</h4> |
| <pre>protected final java.lang.String identifierQuoteString</pre> |
| </li> |
| </ul> |
| <a id="identifierEndQuoteString"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>identifierEndQuoteString</h4> |
| <pre>protected final java.lang.String identifierEndQuoteString</pre> |
| </li> |
| </ul> |
| <a id="identifierEscapedQuote"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>identifierEscapedQuote</h4> |
| <pre>protected final java.lang.String identifierEscapedQuote</pre> |
| </li> |
| </ul> |
| <a id="literalQuoteString"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>literalQuoteString</h4> |
| <pre>protected final java.lang.String literalQuoteString</pre> |
| </li> |
| </ul> |
| <a id="literalEndQuoteString"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>literalEndQuoteString</h4> |
| <pre>protected final java.lang.String literalEndQuoteString</pre> |
| </li> |
| </ul> |
| <a id="literalEscapedQuote"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>literalEscapedQuote</h4> |
| <pre>protected final java.lang.String literalEscapedQuote</pre> |
| </li> |
| </ul> |
| <a id="databaseProduct"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>databaseProduct</h4> |
| <pre>private final <a href="SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a> databaseProduct</pre> |
| </li> |
| </ul> |
| <a id="nullCollation"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>nullCollation</h4> |
| <pre>protected final <a href="../config/NullCollation.html" title="enum in org.apache.calcite.config">NullCollation</a> nullCollation</pre> |
| </li> |
| </ul> |
| <a id="dataTypeSystem"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>dataTypeSystem</h4> |
| <pre>private final <a href="../rel/type/RelDataTypeSystem.html" title="interface in org.apache.calcite.rel.type">RelDataTypeSystem</a> dataTypeSystem</pre> |
| </li> |
| </ul> |
| <a id="unquotedCasing"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>unquotedCasing</h4> |
| <pre>private final org.apache.calcite.avatica.util.Casing unquotedCasing</pre> |
| </li> |
| </ul> |
| <a id="quotedCasing"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>quotedCasing</h4> |
| <pre>private final org.apache.calcite.avatica.util.Casing quotedCasing</pre> |
| </li> |
| </ul> |
| <a id="caseSensitive"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>caseSensitive</h4> |
| <pre>private final boolean caseSensitive</pre> |
| </li> |
| </ul> |
| <a id="HEXITS"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>HEXITS</h4> |
| <pre>private static final char[] HEXITS</pre> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="constructor.detail"> |
| <!-- --> |
| </a> |
| <h3>Constructor Detail</h3> |
| <a id="<init>(org.apache.calcite.sql.SqlDialect.DatabaseProduct,java.lang.String,java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>SqlDialect</h4> |
| <pre>@Deprecated |
| public SqlDialect​(<a href="SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a> databaseProduct, |
| java.lang.String databaseProductName, |
| java.lang.String identifierQuoteString)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| </li> |
| </ul> |
| <a id="<init>(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>@Deprecated |
| public SqlDialect​(<a href="SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a> databaseProduct, |
| java.lang.String databaseProductName, |
| java.lang.String identifierQuoteString, |
| <a href="../config/NullCollation.html" title="enum in org.apache.calcite.config">NullCollation</a> nullCollation)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="deprecationComment">Use <a href="#%3Cinit%3E(org.apache.calcite.sql.SqlDialect.Context)"><code>SqlDialect(Context)</code></a></div> |
| </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 id="<init>(org.apache.calcite.sql.SqlDialect.Context)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>SqlDialect</h4> |
| <pre>public SqlDialect​(<a href="SqlDialect.Context.html" title="interface in org.apache.calcite.sql">SqlDialect.Context</a> 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> |
| </section> |
| <!-- ============ METHOD DETAIL ========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="method.detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a id="create(java.sql.DatabaseMetaData)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>create</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a> create​(java.sql.DatabaseMetaData databaseMetaData)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="deprecationComment">Replaced by <a href="SqlDialectFactory.html" title="interface in org.apache.calcite.sql"><code>SqlDialectFactory</code></a></div> |
| </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 <code>Connection</code> -- 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 id="emptyContext()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>emptyContext</h4> |
| <pre class="methodSignature">protected static <a href="SqlDialect.Context.html" title="interface in org.apache.calcite.sql">SqlDialect.Context</a> emptyContext()</pre> |
| <div class="block">Creates an empty context. Use <a href="#EMPTY_CONTEXT"><code>EMPTY_CONTEXT</code></a> if possible.</div> |
| </li> |
| </ul> |
| <a id="getProduct(java.lang.String,java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getProduct</h4> |
| <pre class="methodSignature">@Deprecated |
| public static <a href="SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a> getProduct​(java.lang.String productName, |
| java.lang.String productVersion)</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></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 id="getTypeSystem()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getTypeSystem</h4> |
| <pre class="methodSignature">public <a href="../rel/type/RelDataTypeSystem.html" title="interface in org.apache.calcite.rel.type">RelDataTypeSystem</a> getTypeSystem()</pre> |
| <div class="block">Returns the type system implementation for this dialect.</div> |
| </li> |
| </ul> |
| <a id="quoteIdentifier(java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>quoteIdentifier</h4> |
| <pre class="methodSignature">public java.lang.String quoteIdentifier​(java.lang.String 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 id="quoteIdentifier(java.lang.StringBuilder,java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>quoteIdentifier</h4> |
| <pre class="methodSignature">public java.lang.StringBuilder quoteIdentifier​(java.lang.StringBuilder buf, |
| java.lang.String val)</pre> |
| <div class="block">Encloses an identifier in quotation marks appropriate for the current SQL |
| dialect, writing the result to a <code>StringBuilder</code>. |
| |
| <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 id="quoteIdentifier(java.lang.StringBuilder,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>quoteIdentifier</h4> |
| <pre class="methodSignature">public java.lang.StringBuilder quoteIdentifier​(java.lang.StringBuilder buf, |
| java.util.List<java.lang.String> 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 id="identifierNeedsQuote(java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>identifierNeedsQuote</h4> |
| <pre class="methodSignature">protected boolean identifierNeedsQuote​(java.lang.String val)</pre> |
| <div class="block">Returns whether to quote an identifier. |
| By default, all identifiers are quoted.</div> |
| </li> |
| </ul> |
| <a id="quoteStringLiteral(java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>quoteStringLiteral</h4> |
| <pre class="methodSignature">public final java.lang.String quoteStringLiteral​(java.lang.String 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 id="quoteStringLiteral(java.lang.StringBuilder,java.lang.String,java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>quoteStringLiteral</h4> |
| <pre class="methodSignature">public void quoteStringLiteral​(java.lang.StringBuilder buf, |
| java.lang.String charsetName, |
| java.lang.String 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 id="unparseCall(org.apache.calcite.sql.SqlWriter,org.apache.calcite.sql.SqlCall,int,int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>unparseCall</h4> |
| <pre class="methodSignature">public void unparseCall​(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a> writer, |
| <a href="SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call, |
| int leftPrec, |
| int rightPrec)</pre> |
| </li> |
| </ul> |
| <a id="unparseDateTimeLiteral(org.apache.calcite.sql.SqlWriter,org.apache.calcite.sql.SqlAbstractDateTimeLiteral,int,int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>unparseDateTimeLiteral</h4> |
| <pre class="methodSignature">public void unparseDateTimeLiteral​(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a> writer, |
| <a href="SqlAbstractDateTimeLiteral.html" title="class in org.apache.calcite.sql">SqlAbstractDateTimeLiteral</a> literal, |
| int leftPrec, |
| int rightPrec)</pre> |
| </li> |
| </ul> |
| <a id="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 class="methodSignature">public void unparseSqlDatetimeArithmetic​(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a> writer, |
| <a href="SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call, |
| <a href="SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a> sqlKind, |
| int leftPrec, |
| int rightPrec)</pre> |
| </li> |
| </ul> |
| <a id="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 class="methodSignature">public void unparseSqlIntervalQualifier​(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a> writer, |
| <a href="SqlIntervalQualifier.html" title="class in org.apache.calcite.sql">SqlIntervalQualifier</a> qualifier, |
| <a href="../rel/type/RelDataTypeSystem.html" title="interface in org.apache.calcite.rel.type">RelDataTypeSystem</a> 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 id="unparseSqlIntervalLiteral(org.apache.calcite.sql.SqlWriter,org.apache.calcite.sql.SqlIntervalLiteral,int,int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>unparseSqlIntervalLiteral</h4> |
| <pre class="methodSignature">public void unparseSqlIntervalLiteral​(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a> writer, |
| <a href="SqlIntervalLiteral.html" title="class in org.apache.calcite.sql">SqlIntervalLiteral</a> literal, |
| int leftPrec, |
| int 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 id="containsNonAscii(java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>containsNonAscii</h4> |
| <pre class="methodSignature">protected static boolean containsNonAscii​(java.lang.String 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 id="quoteStringLiteralUnicode(java.lang.StringBuilder,java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>quoteStringLiteralUnicode</h4> |
| <pre class="methodSignature">public void quoteStringLiteralUnicode​(java.lang.StringBuilder buf, |
| java.lang.String 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 id="unquoteStringLiteral(java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>unquoteStringLiteral</h4> |
| <pre class="methodSignature">public java.lang.String unquoteStringLiteral​(java.lang.String 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 id="allowsAs()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>allowsAs</h4> |
| <pre class="methodSignature">protected boolean allowsAs()</pre> |
| </li> |
| </ul> |
| <a id="requiresAliasForFromItems()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>requiresAliasForFromItems</h4> |
| <pre class="methodSignature">public boolean 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 id="hasImplicitTableAlias()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>hasImplicitTableAlias</h4> |
| <pre class="methodSignature">public boolean 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="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="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 id="quoteTimestampLiteral(java.sql.Timestamp)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>quoteTimestampLiteral</h4> |
| <pre class="methodSignature">public java.lang.String quoteTimestampLiteral​(java.sql.Timestamp 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 id="getDatabaseProduct()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getDatabaseProduct</h4> |
| <pre class="methodSignature">@Deprecated |
| public <a href="SqlDialect.DatabaseProduct.html" title="enum in org.apache.calcite.sql">SqlDialect.DatabaseProduct</a> getDatabaseProduct()</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="deprecationComment">To be removed without replacement</div> |
| </div> |
| <div class="block">Returns the database this dialect belongs to, |
| <a href="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 id="supportsCharSet()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>supportsCharSet</h4> |
| <pre class="methodSignature">public boolean 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 id="supportsAggregateFunction(org.apache.calcite.sql.SqlKind)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>supportsAggregateFunction</h4> |
| <pre class="methodSignature">public boolean supportsAggregateFunction​(<a href="SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a> kind)</pre> |
| </li> |
| </ul> |
| <a id="supportsWindowFunctions()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>supportsWindowFunctions</h4> |
| <pre class="methodSignature">public boolean supportsWindowFunctions()</pre> |
| <div class="block">Returns whether this dialect supports window functions (OVER clause).</div> |
| </li> |
| </ul> |
| <a id="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 class="methodSignature">public boolean supportsFunction​(<a href="SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a> operator, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| java.util.List<<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> 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 id="getCalendarPolicy()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCalendarPolicy</h4> |
| <pre class="methodSignature">public <a href="SqlDialect.CalendarPolicy.html" title="enum in org.apache.calcite.sql">SqlDialect.CalendarPolicy</a> getCalendarPolicy()</pre> |
| </li> |
| </ul> |
| <a id="supportsDataType(org.apache.calcite.rel.type.RelDataType)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>supportsDataType</h4> |
| <pre class="methodSignature">public boolean supportsDataType​(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</pre> |
| <div class="block">Returns whether this dialect supports a given type.</div> |
| </li> |
| </ul> |
| <a id="getCastSpec(org.apache.calcite.rel.type.RelDataType)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCastSpec</h4> |
| <pre class="methodSignature">public <a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> getCastSpec​(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</pre> |
| </li> |
| </ul> |
| <a id="rewriteSingleValueExpr(org.apache.calcite.sql.SqlNode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>rewriteSingleValueExpr</h4> |
| <pre class="methodSignature">public <a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> rewriteSingleValueExpr​(<a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> aggCall)</pre> |
| <div class="block">Rewrite SINGLE_VALUE into expression based on database variants |
| E.g. HSQLDB, MYSQL, ORACLE, etc</div> |
| </li> |
| </ul> |
| <a id="emulateNullDirection(org.apache.calcite.sql.SqlNode,boolean,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>emulateNullDirection</h4> |
| <pre class="methodSignature">public <a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> emulateNullDirection​(<a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| boolean nullsFirst, |
| boolean 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="../rel/RelFieldCollation.Direction.html#DESCENDING"><code>RelFieldCollation.Direction.DESCENDING</code></a> or |
| <a href="../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 id="emulateJoinTypeForCrossJoin()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>emulateJoinTypeForCrossJoin</h4> |
| <pre class="methodSignature">public <a href="JoinType.html" title="enum in org.apache.calcite.sql">JoinType</a> emulateJoinTypeForCrossJoin()</pre> |
| </li> |
| </ul> |
| <a id="emulateNullDirectionWithIsNull(org.apache.calcite.sql.SqlNode,boolean,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>emulateNullDirectionWithIsNull</h4> |
| <pre class="methodSignature">protected <a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> emulateNullDirectionWithIsNull​(<a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| boolean nullsFirst, |
| boolean desc)</pre> |
| </li> |
| </ul> |
| <a id="supportsOffsetFetch()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>supportsOffsetFetch</h4> |
| <pre class="methodSignature">@Deprecated |
| public boolean supportsOffsetFetch()</pre> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="deprecationComment">This method is no longer used. To change how the dialect |
| unparses offset/fetch, override the <a href="#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.</div> |
| </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 id="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 class="methodSignature">public void unparseOffsetFetch​(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a> writer, |
| <a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> offset, |
| <a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> 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="#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="#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 id="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 class="methodSignature">protected final void unparseFetchUsingAnsi​(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a> writer, |
| <a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> offset, |
| <a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> fetch)</pre> |
| <div class="block">Unparses offset/fetch using ANSI standard "OFFSET offset ROWS FETCH NEXT |
| fetch ROWS ONLY" syntax.</div> |
| </li> |
| </ul> |
| <a id="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 class="methodSignature">protected final void unparseFetchUsingLimit​(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a> writer, |
| <a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> offset, |
| <a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> fetch)</pre> |
| <div class="block">Unparses offset/fetch using "LIMIT fetch OFFSET offset" syntax.</div> |
| </li> |
| </ul> |
| <a id="supportsNestedAggregations()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>supportsNestedAggregations</h4> |
| <pre class="methodSignature">public boolean supportsNestedAggregations()</pre> |
| <div class="block">Returns whether the dialect supports nested aggregations, for instance |
| <code>SELECT SUM(SUM(1)) </code>.</div> |
| </li> |
| </ul> |
| <a id="supportsGroupByWithRollup()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>supportsGroupByWithRollup</h4> |
| <pre class="methodSignature">public boolean 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="#supportsAggregateFunction(org.apache.calcite.sql.SqlKind)"><code>supportsAggregateFunction(SqlKind)</code></a> applied to |
| <a href="SqlKind.html#ROLLUP"><code>SqlKind.ROLLUP</code></a>, which returns true in MySQL 8 and higher.</div> |
| </li> |
| </ul> |
| <a id="supportsGroupByWithCube()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>supportsGroupByWithCube</h4> |
| <pre class="methodSignature">public boolean supportsGroupByWithCube()</pre> |
| <div class="block">Returns whether this dialect supports "WITH CUBE" in "GROUP BY" clause.</div> |
| </li> |
| </ul> |
| <a id="getNullCollation()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getNullCollation</h4> |
| <pre class="methodSignature">public <a href="../config/NullCollation.html" title="enum in org.apache.calcite.config">NullCollation</a> 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 id="defaultNullDirection(org.apache.calcite.rel.RelFieldCollation.Direction)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>defaultNullDirection</h4> |
| <pre class="methodSignature">@Nonnull |
| public <a href="../rel/RelFieldCollation.NullDirection.html" title="enum in org.apache.calcite.rel">RelFieldCollation.NullDirection</a> defaultNullDirection​(<a href="../rel/RelFieldCollation.Direction.html" title="enum in org.apache.calcite.rel">RelFieldCollation.Direction</a> 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 id="supportsAliasedValues()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>supportsAliasedValues</h4> |
| <pre class="methodSignature">public boolean 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 id="getSingleRowTableName()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getSingleRowTableName</h4> |
| <pre class="methodSignature">@Nullable |
| public java.util.List<java.lang.String> 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 id="configureParser(org.apache.calcite.sql.parser.SqlParser.ConfigBuilder)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>configureParser</h4> |
| <pre class="methodSignature">@Nonnull |
| public <a href="parser/SqlParser.ConfigBuilder.html" title="class in org.apache.calcite.sql.parser">SqlParser.ConfigBuilder</a> configureParser​(<a href="parser/SqlParser.ConfigBuilder.html" title="class in org.apache.calcite.sql.parser">SqlParser.ConfigBuilder</a> configBuilder)</pre> |
| <div class="block">Copies settings from this dialect into a parser configuration. |
| |
| <p><code>SqlDialect</code>, <a href="parser/SqlParser.Config.html" title="interface in org.apache.calcite.sql.parser"><code>SqlParser.Config</code></a> and <a href="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="#getQuoting()"><code>getQuoting()</code></a> |
| <li><a href="#getQuotedCasing()"><code>getQuotedCasing()</code></a> |
| <li><a href="#getUnquotedCasing()"><code>getUnquotedCasing()</code></a> |
| <li><a href="#isCaseSensitive()"><code>isCaseSensitive()</code></a> |
| <li><a href="#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 id="getConformance()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getConformance</h4> |
| <pre class="methodSignature">@Nonnull |
| public <a href="validate/SqlConformance.html" title="interface in org.apache.calcite.sql.validate">SqlConformance</a> getConformance()</pre> |
| <div class="block">Returns the <a href="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="#databaseProduct"><code>databaseProduct</code></a>; sub-classes may override.</div> |
| </li> |
| </ul> |
| <a id="getQuoting()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getQuoting</h4> |
| <pre class="methodSignature">protected org.apache.calcite.avatica.util.Quoting getQuoting()</pre> |
| <div class="block">Returns the quoting scheme, or null if the combination of |
| <a href="#identifierQuoteString"><code>identifierQuoteString</code></a> and <a href="#identifierEndQuoteString"><code>identifierEndQuoteString</code></a> |
| does not correspond to any known quoting scheme.</div> |
| </li> |
| </ul> |
| <a id="getUnquotedCasing()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getUnquotedCasing</h4> |
| <pre class="methodSignature">public org.apache.calcite.avatica.util.Casing getUnquotedCasing()</pre> |
| <div class="block">Returns how unquoted identifiers are stored.</div> |
| </li> |
| </ul> |
| <a id="getQuotedCasing()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getQuotedCasing</h4> |
| <pre class="methodSignature">public org.apache.calcite.avatica.util.Casing getQuotedCasing()</pre> |
| <div class="block">Returns how quoted identifiers are stored.</div> |
| </li> |
| </ul> |
| <a id="isCaseSensitive()"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>isCaseSensitive</h4> |
| <pre class="methodSignature">public boolean isCaseSensitive()</pre> |
| <div class="block">Returns whether matching of identifiers is case-sensitive.</div> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </main> |
| <!-- ========= END OF CLASS DATA ========= --> |
| <footer role="contentinfo"> |
| <nav role="navigation"> |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <div class="bottomNav"><a id="navbar.bottom"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> |
| <a id="navbar.bottom.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../index.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/SqlDialect.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../help-doc.html">Help</a></li> |
| </ul> |
| </div> |
| <div class="subNav"> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../allclasses.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_bottom"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li><a href="#constructor.detail">Constr</a> | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <a id="skip.navbar.bottom"> |
| <!-- --> |
| </a></div> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| </nav> |
| <p class="legalCopy"><small>Copyright © 2012–2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </footer> |
| </body> |
| </html> |