blob: d58b04c2ce976cec9bc23d6062f4f0c83e7a9e87 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SqlValidator.Config (Apache Calcite calcite API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SqlValidator.Config (Apache Calcite calcite API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/calcite/sql/validate/SqlValidator.Config.html" target="_top">Frames</a></li>
<li><a href="SqlValidator.Config.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.calcite.sql.validate</div>
<h2 title="Interface SqlValidator.Config" class="title">Interface SqlValidator.Config</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Enclosing interface:</dt>
<dd><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a></dd>
</dl>
<hr>
<br>
<pre>public static interface <span class="typeNameLabel">SqlValidator.Config</span></pre>
<div class="block">Interface to define the configuration for a SqlValidator.
Provides methods to set each configuration option.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html#DEFAULT">DEFAULT</a></span></code>
<div class="block">Default configuration.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html#callRewrite--">callRewrite</a></span>()</code>
<div class="block">Returns whether to enable rewrite of "macro-like" calls such as COALESCE.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html#columnReferenceExpansion--">columnReferenceExpansion</a></span>()</code>
<div class="block">Returns whether column reference expansion is enabled</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/config/NullCollation.html" title="enum in org.apache.calcite.config">NullCollation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html#defaultNullCollation--">defaultNullCollation</a></span>()</code>
<div class="block">Returns how NULL values should be collated if an ORDER BY item does not
contain NULLS FIRST or NULLS LAST.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html#identifierExpansion--">identifierExpansion</a></span>()</code>
<div class="block">Returns whether to expand identifiers other than column
references.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html#lenientOperatorLookup--">lenientOperatorLookup</a></span>()</code>
<div class="block">Returns whether this validator should be lenient upon encountering an
unknown function, default false.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlConformance.html" title="interface in org.apache.calcite.sql.validate">SqlConformance</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html#sqlConformance--">sqlConformance</a></span>()</code>
<div class="block">Returns the dialect of SQL (SQL:2003, etc.) this validator recognizes.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html#typeCoercionEnabled--">typeCoercionEnabled</a></span>()</code>
<div class="block">Returns whether the validator supports implicit type coercion.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/implicit/TypeCoercionFactory.html" title="interface in org.apache.calcite.sql.validate.implicit">TypeCoercionFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html#typeCoercionFactory--">typeCoercionFactory</a></span>()</code>
<div class="block">Returns the type coercion factory.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/type/SqlTypeCoercionRule.html" title="class in org.apache.calcite.sql.type">SqlTypeCoercionRule</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html#typeCoercionRules--">typeCoercionRules</a></span>()</code>
<div class="block">Returns the type coercion rules for explicit type coercion.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html#withCallRewrite-boolean-">withCallRewrite</a></span>(boolean&nbsp;rewrite)</code>
<div class="block">Sets whether to enable rewrite of "macro-like" calls such as COALESCE.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html#withColumnReferenceExpansion-boolean-">withColumnReferenceExpansion</a></span>(boolean&nbsp;expand)</code>
<div class="block">Sets whether to enable expansion of column references.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html#withDefaultNullCollation-org.apache.calcite.config.NullCollation-">withDefaultNullCollation</a></span>(<a href="../../../../../org/apache/calcite/config/NullCollation.html" title="enum in org.apache.calcite.config">NullCollation</a>&nbsp;nullCollation)</code>
<div class="block">Sets how NULL values should be collated if an ORDER BY item does not
contain NULLS FIRST or NULLS LAST.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html#withIdentifierExpansion-boolean-">withIdentifierExpansion</a></span>(boolean&nbsp;expand)</code>
<div class="block">Sets whether to enable expansion of identifiers other than column
references.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html#withLenientOperatorLookup-boolean-">withLenientOperatorLookup</a></span>(boolean&nbsp;lenient)</code>
<div class="block">Sets whether this validator should be lenient upon encountering an unknown
function.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html#withSqlConformance-org.apache.calcite.sql.validate.SqlConformance-">withSqlConformance</a></span>(<a href="../../../../../org/apache/calcite/sql/validate/SqlConformance.html" title="interface in org.apache.calcite.sql.validate">SqlConformance</a>&nbsp;conformance)</code>
<div class="block">Sets up the sql conformance of the validator.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html#withTypeCoercionEnabled-boolean-">withTypeCoercionEnabled</a></span>(boolean&nbsp;enabled)</code>
<div class="block">Sets whether to enable implicit type coercion for validation, default true.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html#withTypeCoercionFactory-org.apache.calcite.sql.validate.implicit.TypeCoercionFactory-">withTypeCoercionFactory</a></span>(<a href="../../../../../org/apache/calcite/sql/validate/implicit/TypeCoercionFactory.html" title="interface in org.apache.calcite.sql.validate.implicit">TypeCoercionFactory</a>&nbsp;factory)</code>
<div class="block">Sets a factory to create type coercion instance that overrides the
default coercion rules defined in
<a href="../../../../../org/apache/calcite/sql/validate/implicit/TypeCoercionImpl.html" title="class in org.apache.calcite.sql.validate.implicit"><code>TypeCoercionImpl</code></a>.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html#withTypeCoercionRules-org.apache.calcite.sql.type.SqlTypeCoercionRule-">withTypeCoercionRules</a></span>(<a href="../../../../../org/apache/calcite/sql/type/SqlTypeCoercionRule.html" title="class in org.apache.calcite.sql.type">SqlTypeCoercionRule</a>&nbsp;rules)</code>
<div class="block">Sets the <a href="../../../../../org/apache/calcite/sql/type/SqlTypeCoercionRule.html" title="class in org.apache.calcite.sql.type"><code>SqlTypeCoercionRule</code></a> instance which defines the type conversion matrix
for the explicit type coercion.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="DEFAULT">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DEFAULT</h4>
<pre>static final&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a> DEFAULT</pre>
<div class="block">Default configuration.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="callRewrite--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>callRewrite</h4>
<pre>boolean&nbsp;callRewrite()</pre>
<div class="block">Returns whether to enable rewrite of "macro-like" calls such as COALESCE.</div>
</li>
</ul>
<a name="withCallRewrite-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withCallRewrite</h4>
<pre><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a>&nbsp;withCallRewrite(boolean&nbsp;rewrite)</pre>
<div class="block">Sets whether to enable rewrite of "macro-like" calls such as COALESCE.</div>
</li>
</ul>
<a name="defaultNullCollation--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>defaultNullCollation</h4>
<pre><a href="../../../../../org/apache/calcite/config/NullCollation.html" title="enum in org.apache.calcite.config">NullCollation</a>&nbsp;defaultNullCollation()</pre>
<div class="block">Returns how NULL values should be collated if an ORDER BY item does not
contain NULLS FIRST or NULLS LAST.</div>
</li>
</ul>
<a name="withDefaultNullCollation-org.apache.calcite.config.NullCollation-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withDefaultNullCollation</h4>
<pre><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a>&nbsp;withDefaultNullCollation(<a href="../../../../../org/apache/calcite/config/NullCollation.html" title="enum in org.apache.calcite.config">NullCollation</a>&nbsp;nullCollation)</pre>
<div class="block">Sets how NULL values should be collated if an ORDER BY item does not
contain NULLS FIRST or NULLS LAST.</div>
</li>
</ul>
<a name="columnReferenceExpansion--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>columnReferenceExpansion</h4>
<pre>boolean&nbsp;columnReferenceExpansion()</pre>
<div class="block">Returns whether column reference expansion is enabled</div>
</li>
</ul>
<a name="withColumnReferenceExpansion-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withColumnReferenceExpansion</h4>
<pre><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a>&nbsp;withColumnReferenceExpansion(boolean&nbsp;expand)</pre>
<div class="block">Sets whether to enable expansion of column references. (Currently this does
not apply to the ORDER BY clause; may be fixed in the future.)</div>
</li>
</ul>
<a name="identifierExpansion--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>identifierExpansion</h4>
<pre>boolean&nbsp;identifierExpansion()</pre>
<div class="block">Returns whether to expand identifiers other than column
references.
<p>REVIEW jvs 30-June-2006: subclasses may override shouldExpandIdentifiers
in a way that ignores this; we should probably get rid of the protected
method and always use this variable (or better, move preferences like
this to a separate "parameter" class).</div>
</li>
</ul>
<a name="withIdentifierExpansion-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withIdentifierExpansion</h4>
<pre><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a>&nbsp;withIdentifierExpansion(boolean&nbsp;expand)</pre>
<div class="block">Sets whether to enable expansion of identifiers other than column
references.</div>
</li>
</ul>
<a name="lenientOperatorLookup--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lenientOperatorLookup</h4>
<pre>boolean&nbsp;lenientOperatorLookup()</pre>
<div class="block">Returns whether this validator should be lenient upon encountering an
unknown function, default false.
<p>If true, if a statement contains a call to a function that is not
present in the operator table, or if the call does not have the required
number or types of operands, the validator nevertheless regards the
statement as valid. The type of the function call will be
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html#getUnknownType--"><code>UNKNOWN</code></a>.
<p>If false (the default behavior), an unknown function call causes a
validation error to be thrown.</div>
</li>
</ul>
<a name="withLenientOperatorLookup-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withLenientOperatorLookup</h4>
<pre><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a>&nbsp;withLenientOperatorLookup(boolean&nbsp;lenient)</pre>
<div class="block">Sets whether this validator should be lenient upon encountering an unknown
function.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lenient</code> - Whether to be lenient when encountering an unknown function</dd>
</dl>
</li>
</ul>
<a name="typeCoercionEnabled--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>typeCoercionEnabled</h4>
<pre>boolean&nbsp;typeCoercionEnabled()</pre>
<div class="block">Returns whether the validator supports implicit type coercion.</div>
</li>
</ul>
<a name="withTypeCoercionEnabled-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withTypeCoercionEnabled</h4>
<pre><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a>&nbsp;withTypeCoercionEnabled(boolean&nbsp;enabled)</pre>
<div class="block">Sets whether to enable implicit type coercion for validation, default true.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/calcite/sql/validate/implicit/TypeCoercionImpl.html" title="class in org.apache.calcite.sql.validate.implicit"><code>TypeCoercionImpl</code></a></dd>
</dl>
</li>
</ul>
<a name="typeCoercionFactory--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>typeCoercionFactory</h4>
<pre><a href="../../../../../org/apache/calcite/sql/validate/implicit/TypeCoercionFactory.html" title="interface in org.apache.calcite.sql.validate.implicit">TypeCoercionFactory</a>&nbsp;typeCoercionFactory()</pre>
<div class="block">Returns the type coercion factory.</div>
</li>
</ul>
<a name="withTypeCoercionFactory-org.apache.calcite.sql.validate.implicit.TypeCoercionFactory-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withTypeCoercionFactory</h4>
<pre><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a>&nbsp;withTypeCoercionFactory(<a href="../../../../../org/apache/calcite/sql/validate/implicit/TypeCoercionFactory.html" title="interface in org.apache.calcite.sql.validate.implicit">TypeCoercionFactory</a>&nbsp;factory)</pre>
<div class="block">Sets a factory to create type coercion instance that overrides the
default coercion rules defined in
<a href="../../../../../org/apache/calcite/sql/validate/implicit/TypeCoercionImpl.html" title="class in org.apache.calcite.sql.validate.implicit"><code>TypeCoercionImpl</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>factory</code> - Factory to create <a href="../../../../../org/apache/calcite/sql/validate/implicit/TypeCoercion.html" title="interface in org.apache.calcite.sql.validate.implicit"><code>TypeCoercion</code></a> instance</dd>
</dl>
</li>
</ul>
<a name="typeCoercionRules--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>typeCoercionRules</h4>
<pre><a href="../../../../../org/apache/calcite/sql/type/SqlTypeCoercionRule.html" title="class in org.apache.calcite.sql.type">SqlTypeCoercionRule</a>&nbsp;typeCoercionRules()</pre>
<div class="block">Returns the type coercion rules for explicit type coercion.</div>
</li>
</ul>
<a name="withTypeCoercionRules-org.apache.calcite.sql.type.SqlTypeCoercionRule-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withTypeCoercionRules</h4>
<pre><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a>&nbsp;withTypeCoercionRules(<a href="../../../../../org/apache/calcite/sql/type/SqlTypeCoercionRule.html" title="class in org.apache.calcite.sql.type">SqlTypeCoercionRule</a>&nbsp;rules)</pre>
<div class="block">Sets the <a href="../../../../../org/apache/calcite/sql/type/SqlTypeCoercionRule.html" title="class in org.apache.calcite.sql.type"><code>SqlTypeCoercionRule</code></a> instance which defines the type conversion matrix
for the explicit type coercion.
<p>The <code>rules</code> setting should be thread safe. In the default implementation,
it is set to a ThreadLocal variable.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rules</code> - The <a href="../../../../../org/apache/calcite/sql/type/SqlTypeCoercionRule.html" title="class in org.apache.calcite.sql.type"><code>SqlTypeCoercionRule</code></a> instance,
see its documentation for how to customize the rules</dd>
</dl>
</li>
</ul>
<a name="sqlConformance--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sqlConformance</h4>
<pre><a href="../../../../../org/apache/calcite/sql/validate/SqlConformance.html" title="interface in org.apache.calcite.sql.validate">SqlConformance</a>&nbsp;sqlConformance()</pre>
<div class="block">Returns the dialect of SQL (SQL:2003, etc.) this validator recognizes.
Default is <a href="../../../../../org/apache/calcite/sql/validate/SqlConformanceEnum.html#DEFAULT"><code>SqlConformanceEnum.DEFAULT</code></a>.</div>
</li>
</ul>
<a name="withSqlConformance-org.apache.calcite.sql.validate.SqlConformance-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>withSqlConformance</h4>
<pre><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a>&nbsp;withSqlConformance(<a href="../../../../../org/apache/calcite/sql/validate/SqlConformance.html" title="interface in org.apache.calcite.sql.validate">SqlConformance</a>&nbsp;conformance)</pre>
<div class="block">Sets up the sql conformance of the validator.</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/calcite/sql/validate/SqlValidator.Config.html" target="_top">Frames</a></li>
<li><a href="SqlValidator.Config.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &copy; 2012-2020 Apache Software Foundation. All Rights Reserved.</small></p>
</body>
</html>