blob: 3472e6859ddf20a3882b8aee21a3196c4650cb35 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Uses of Interface org.apache.calcite.sql.type.SqlReturnTypeInference (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="Uses of Interface org.apache.calcite.sql.type.SqlReturnTypeInference (Apache Calcite API)";
}
}
catch(err) {
}
//-->
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><a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">Class</a></li>
<li class="navBarCell1Rev">Use</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&nbsp;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>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="header">
<h2 title="Uses of Interface org.apache.calcite.sql.type.SqlReturnTypeInference" class="title">Uses of Interface<br>org.apache.calcite.sql.type.SqlReturnTypeInference</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">
<li class="blockList">
<table class="useSummary">
<caption><span>Packages that use <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.piglet">org.apache.calcite.piglet</a></th>
<td class="colLast">
<div class="block">Piglet, a Pig-like language.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.prepare">org.apache.calcite.prepare</a></th>
<td class="colLast">
<div class="block">Preparation of queries (parsing, planning and implementation).</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.sql">org.apache.calcite.sql</a></th>
<td class="colLast">
<div class="block">Provides a SQL parser and object model.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.sql.fun">org.apache.calcite.sql.fun</a></th>
<td class="colLast">
<div class="block">Defines the set of standard SQL row-level functions and
operators.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.sql.type">org.apache.calcite.sql.type</a></th>
<td class="colLast">
<div class="block">SQL type system.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.sql.validate">org.apache.calcite.sql.validate</a></th>
<td class="colLast">
<div class="block">SQL validation.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<ul class="blockList">
<li class="blockList">
<section role="region"><a id="org.apache.calcite.piglet">
<!-- -->
</a>
<h3>Uses of <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a> in <a href="../../../piglet/package-summary.html">org.apache.calcite.piglet</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../../piglet/package-summary.html">org.apache.calcite.piglet</a> that return <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelSqlUdfs.</span><code><span class="memberNameLink"><a href="../../../piglet/PigRelSqlUdfs.html#infer(org.apache.calcite.schema.ScalarFunction)">infer</a></span>&#8203;(<a href="../../../schema/ScalarFunction.html" title="interface in org.apache.calcite.schema">ScalarFunction</a>&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Gets the SqlReturnTypeInference that can infer the return type from a
function.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">PigRelSqlUdfs.</span><code><span class="memberNameLink"><a href="../../../piglet/PigRelSqlUdfs.html#multisetProjectionInfer()">multisetProjectionInfer</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type"><code>SqlReturnTypeInference</code></a> for multiset projection operator.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../../piglet/package-summary.html">org.apache.calcite.piglet</a> with parameters of type <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../piglet/PigUserDefinedFunction.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,java.util.List,org.apache.calcite.schema.Function)">PigUserDefinedFunction</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
java.util.List&lt;<a href="../../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;paramTypes,
<a href="../../../schema/Function.html" title="interface in org.apache.calcite.schema">Function</a>&nbsp;function)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../piglet/PigUserDefinedFunction.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,java.util.List,org.apache.calcite.schema.Function,org.apache.pig.FuncSpec)">PigUserDefinedFunction</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
java.util.List&lt;<a href="../../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;paramTypes,
<a href="../../../schema/Function.html" title="interface in org.apache.calcite.schema">Function</a>&nbsp;function,
org.apache.pig.FuncSpec&nbsp;funcSpec)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../piglet/PigUserDefinedFunction.html#%3Cinit%3E(org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,java.util.List,org.apache.calcite.schema.Function,org.apache.pig.FuncSpec)">PigUserDefinedFunction</a></span>&#8203;(<a href="../../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;opName,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
java.util.List&lt;<a href="../../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;paramTypes,
<a href="../../../schema/Function.html" title="interface in org.apache.calcite.schema">Function</a>&nbsp;function,
org.apache.pig.FuncSpec&nbsp;funcSpec)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.prepare">
<!-- -->
</a>
<h3>Uses of <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a> in <a href="../../../prepare/package-summary.html">org.apache.calcite.prepare</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../../prepare/package-summary.html">org.apache.calcite.prepare</a> that return <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteCatalogReader.</span><code><span class="memberNameLink"><a href="../../../prepare/CalciteCatalogReader.html#infer(org.apache.calcite.schema.AggregateFunction)">infer</a></span>&#8203;(<a href="../../../schema/AggregateFunction.html" title="interface in org.apache.calcite.schema">AggregateFunction</a>&nbsp;function)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteCatalogReader.</span><code><span class="memberNameLink"><a href="../../../prepare/CalciteCatalogReader.html#infer(org.apache.calcite.schema.ScalarFunction)">infer</a></span>&#8203;(<a href="../../../schema/ScalarFunction.html" title="interface in org.apache.calcite.schema">ScalarFunction</a>&nbsp;function)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.sql">
<!-- -->
</a>
<h3>Uses of <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a> in <a href="../../package-summary.html">org.apache.calcite.sql</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../../package-summary.html">org.apache.calcite.sql</a> declared as <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlOperator.</span><code><span class="memberNameLink"><a href="../../SqlOperator.html#returnTypeInference">returnTypeInference</a></span></code></th>
<td class="colLast">
<div class="block">used to infer the return type of a call to this operator</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../package-summary.html">org.apache.calcite.sql</a> that return <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlOperator.</span><code><span class="memberNameLink"><a href="../../SqlOperator.html#getReturnTypeInference()">getReturnTypeInference</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../package-summary.html">org.apache.calcite.sql</a> with parameters of type <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlAggFunction.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.SqlKind,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,org.apache.calcite.sql.SqlFunctionCategory)">SqlAggFunction</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;sqlIdentifier,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
<a href="../../SqlFunctionCategory.html" title="enum in org.apache.calcite.sql">SqlFunctionCategory</a>&nbsp;funcType)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlAggFunction.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.SqlKind,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,org.apache.calcite.sql.SqlFunctionCategory,boolean,boolean)">SqlAggFunction</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;sqlIdentifier,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
<a href="../../SqlFunctionCategory.html" title="enum in org.apache.calcite.sql">SqlFunctionCategory</a>&nbsp;funcType,
boolean&nbsp;requiresOrder,
boolean&nbsp;requiresOver)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlAggFunction.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.SqlKind,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,org.apache.calcite.sql.SqlFunctionCategory,boolean,boolean,org.apache.calcite.util.Optionality)">SqlAggFunction</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;sqlIdentifier,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
<a href="../../SqlFunctionCategory.html" title="enum in org.apache.calcite.sql">SqlFunctionCategory</a>&nbsp;funcType,
boolean&nbsp;requiresOrder,
boolean&nbsp;requiresOver,
<a href="../../../util/Optionality.html" title="enum in org.apache.calcite.util">Optionality</a>&nbsp;requiresGroupOrder)</code></th>
<td class="colLast">
<div class="block">Creates a built-in or user-defined SqlAggFunction or window function.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlAggFunction.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.SqlKind,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,org.apache.calcite.sql.SqlFunctionCategory)">SqlAggFunction</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
<a href="../../SqlFunctionCategory.html" title="enum in org.apache.calcite.sql">SqlFunctionCategory</a>&nbsp;funcType)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlAsOperator.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.SqlKind,int,boolean,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker)">SqlAsOperator</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
int&nbsp;prec,
boolean&nbsp;leftAssoc,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlBinaryOperator.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.SqlKind,int,boolean,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker)">SqlBinaryOperator</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
int&nbsp;prec,
boolean&nbsp;leftAssoc,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker)</code></th>
<td class="colLast">
<div class="block">Creates a SqlBinaryOperator.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlFunction.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.SqlKind,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,java.util.List,org.apache.calcite.sql.SqlFunctionCategory)">SqlFunction</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;sqlIdentifier,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
java.util.List&lt;<a href="../../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;paramTypes,
<a href="../../SqlFunctionCategory.html" title="enum in org.apache.calcite.sql">SqlFunctionCategory</a>&nbsp;category)</code></th>
<td class="colLast">
<div class="block">Internal constructor.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlFunction.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.SqlKind,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,org.apache.calcite.sql.SqlFunctionCategory)">SqlFunction</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
<a href="../../SqlFunctionCategory.html" title="enum in org.apache.calcite.sql">SqlFunctionCategory</a>&nbsp;category)</code></th>
<td class="colLast">
<div class="block">Creates a new SqlFunction for a call to a builtin function.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlFunction.html#%3Cinit%3E(org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,java.util.List,org.apache.calcite.sql.SqlFunctionCategory)">SqlFunction</a></span>&#8203;(<a href="../../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;sqlIdentifier,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
java.util.List&lt;<a href="../../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;paramTypes,
<a href="../../SqlFunctionCategory.html" title="enum in org.apache.calcite.sql">SqlFunctionCategory</a>&nbsp;funcType)</code></th>
<td class="colLast">
<div class="block">Creates a placeholder SqlFunction for an invocation of a function with a
possibly qualified name.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlFunctionalOperator.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.SqlKind,int,boolean,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker)">SqlFunctionalOperator</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
int&nbsp;pred,
boolean&nbsp;isLeftAssoc,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlGroupedWindowFunction.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.SqlKind,org.apache.calcite.sql.SqlGroupedWindowFunction,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,org.apache.calcite.sql.SqlFunctionCategory)">SqlGroupedWindowFunction</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
<a href="../../SqlGroupedWindowFunction.html" title="class in org.apache.calcite.sql">SqlGroupedWindowFunction</a>&nbsp;groupFunction,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
<a href="../../SqlFunctionCategory.html" title="enum in org.apache.calcite.sql">SqlFunctionCategory</a>&nbsp;category)</code></th>
<td class="colLast">
<div class="block">Creates a SqlGroupedWindowFunction.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlInfixOperator.html#%3Cinit%3E(java.lang.String%5B%5D,org.apache.calcite.sql.SqlKind,int,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker)">SqlInfixOperator</a></span>&#8203;(java.lang.String[]&nbsp;names,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
int&nbsp;precedence,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlInternalOperator.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.SqlKind,int,boolean,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker)">SqlInternalOperator</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
int&nbsp;prec,
boolean&nbsp;isLeftAssoc,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlOperator.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.SqlKind,int,boolean,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker)">SqlOperator</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
int&nbsp;prec,
boolean&nbsp;leftAssoc,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker)</code></th>
<td class="colLast">
<div class="block">Creates an operator specifying left/right associativity.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlOperator.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.SqlKind,int,int,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker)">SqlOperator</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
int&nbsp;leftPrecedence,
int&nbsp;rightPrecedence,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker)</code></th>
<td class="colLast">
<div class="block">Creates an operator.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlPostfixOperator.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.SqlKind,int,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker)">SqlPostfixOperator</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
int&nbsp;prec,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlPrefixOperator.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.SqlKind,int,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker)">SqlPrefixOperator</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
int&nbsp;prec,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlRankFunction.html#%3Cinit%3E(org.apache.calcite.sql.SqlKind,org.apache.calcite.sql.type.SqlReturnTypeInference,boolean)">SqlRankFunction</a></span>&#8203;(<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypes,
boolean&nbsp;requiresOrder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlSetOperator.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.SqlKind,int,boolean,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker)">SqlSetOperator</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
int&nbsp;prec,
boolean&nbsp;all,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlSpecialOperator.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.SqlKind,int,boolean,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker)">SqlSpecialOperator</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
int&nbsp;prec,
boolean&nbsp;leftAssoc,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlUnresolvedFunction.html#%3Cinit%3E(org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,java.util.List,org.apache.calcite.sql.SqlFunctionCategory)">SqlUnresolvedFunction</a></span>&#8203;(<a href="../../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;sqlIdentifier,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
java.util.List&lt;<a href="../../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;paramTypes,
<a href="../../SqlFunctionCategory.html" title="enum in org.apache.calcite.sql">SqlFunctionCategory</a>&nbsp;funcType)</code></th>
<td class="colLast">
<div class="block">Creates a placeholder SqlUnresolvedFunction for an invocation of a function
with a possibly qualified name.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.sql.fun">
<!-- -->
</a>
<h3>Uses of <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a> in <a href="../../fun/package-summary.html">org.apache.calcite.sql.fun</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../../fun/package-summary.html">org.apache.calcite.sql.fun</a> declared as <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlLibraryOperators.</span><code><span class="memberNameLink"><a href="../../fun/SqlLibraryOperators.html#DECODE_RETURN_TYPE">DECODE_RETURN_TYPE</a></span></code></th>
<td class="colLast">
<div class="block">Return type inference for <code>DECODE</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlLeadLagAggFunction.</span><code><span class="memberNameLink"><a href="../../fun/SqlLeadLagAggFunction.html#RETURN_TYPE">RETURN_TYPE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlTimestampAddFunction.</span><code><span class="memberNameLink"><a href="../../fun/SqlTimestampAddFunction.html#RETURN_TYPE_INFERENCE">RETURN_TYPE_INFERENCE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlTimestampDiffFunction.</span><code><span class="memberNameLink"><a href="../../fun/SqlTimestampDiffFunction.html#RETURN_TYPE_INFERENCE">RETURN_TYPE_INFERENCE</a></span></code></th>
<td class="colLast">
<div class="block">Creates a SqlTimestampDiffFunction.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../fun/package-summary.html">org.apache.calcite.sql.fun</a> with parameters of type <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../fun/SqlAbstractGroupFunction.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.SqlKind,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,org.apache.calcite.sql.SqlFunctionCategory)">SqlAbstractGroupFunction</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
<a href="../../SqlFunctionCategory.html" title="enum in org.apache.calcite.sql">SqlFunctionCategory</a>&nbsp;category)</code></th>
<td class="colLast">
<div class="block">Creates a SqlAbstractGroupFunction.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../fun/SqlBaseContextVariable.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.SqlFunctionCategory)">SqlBaseContextVariable</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnType,
<a href="../../SqlFunctionCategory.html" title="enum in org.apache.calcite.sql">SqlFunctionCategory</a>&nbsp;category)</code></th>
<td class="colLast">
<div class="block">Creates a SqlBaseContextVariable.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../fun/SqlMonotonicBinaryOperator.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.SqlKind,int,boolean,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker)">SqlMonotonicBinaryOperator</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
int&nbsp;prec,
boolean&nbsp;isLeftAssoc,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../fun/SqlMonotonicUnaryFunction.html#%3Cinit%3E(java.lang.String,org.apache.calcite.sql.SqlKind,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,org.apache.calcite.sql.SqlFunctionCategory)">SqlMonotonicUnaryFunction</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
<a href="../../SqlFunctionCategory.html" title="enum in org.apache.calcite.sql">SqlFunctionCategory</a>&nbsp;funcType)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.sql.type">
<!-- -->
</a>
<h3>Uses of <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a> in <a href="../package-summary.html">org.apache.calcite.sql.type</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../package-summary.html">org.apache.calcite.sql.type</a> that implement <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../CursorReturnTypeInference.html" title="class in org.apache.calcite.sql.type">CursorReturnTypeInference</a></span></code></th>
<td class="colLast">
<div class="block">Returns the rowtype of a cursor of the operand at a particular 0-based
ordinal position.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../ExplicitReturnTypeInference.html" title="class in org.apache.calcite.sql.type">ExplicitReturnTypeInference</a></span></code></th>
<td class="colLast">
<div class="block">A <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type"><code>SqlReturnTypeInference</code></a> which always returns the same SQL type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../MatchReturnTypeInference.html" title="class in org.apache.calcite.sql.type">MatchReturnTypeInference</a></span></code></th>
<td class="colLast">
<div class="block">Returns the first type that matches a set of given <a href="../SqlTypeName.html" title="enum in org.apache.calcite.sql.type"><code>SqlTypeName</code></a>s.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../OrdinalReturnTypeInference.html" title="class in org.apache.calcite.sql.type">OrdinalReturnTypeInference</a></span></code></th>
<td class="colLast">
<div class="block">Returns the type of the operand at a particular 0-based ordinal position.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../SqlReturnTypeInferenceChain.html" title="class in org.apache.calcite.sql.type">SqlReturnTypeInferenceChain</a></span></code></th>
<td class="colLast">
<div class="block">Strategy to infer the type of an operator call from the type of the operands
by using a series of <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type"><code>SqlReturnTypeInference</code></a> rules in a given order.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../SqlTypeTransformCascade.html" title="class in org.apache.calcite.sql.type">SqlTypeTransformCascade</a></span></code></th>
<td class="colLast">
<div class="block">Strategy to infer the type of an operator call from the type of the operands
by using one <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type"><code>SqlReturnTypeInference</code></a> rule and a combination of
<a href="../SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type"><code>SqlTypeTransform</code></a>s</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../TableFunctionReturnTypeInference.html" title="class in org.apache.calcite.sql.type">TableFunctionReturnTypeInference</a></span></code></th>
<td class="colLast">
<div class="block">TableFunctionReturnTypeInference implements rules for deriving table function
output row types by expanding references to cursor parameters.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../package-summary.html">org.apache.calcite.sql.type</a> declared as <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#AGG_SUM">AGG_SUM</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy for SUM aggregate function inferred from the
operand type, and nullable if the call occurs within a "GROUP BY ()"
query.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#AGG_SUM_EMPTY_IS_ZERO">AGG_SUM_EMPTY_IS_ZERO</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy for $SUM0 aggregate function inferred from the
operand type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#ARG0">ARG0</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is the type of
the operand #0 (0-based).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#ARG0_FORCE_NULLABLE">ARG0_FORCE_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is the type of
the operand #0 (0-based), with nulls always allowed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#ARG0_INTERVAL">ARG0_INTERVAL</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#ARG0_INTERVAL_NULLABLE">ARG0_INTERVAL_NULLABLE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#ARG0_NULLABLE">ARG0_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is the type of
the operand #0 (0-based).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#ARG0_NULLABLE_IF_EMPTY">ARG0_NULLABLE_IF_EMPTY</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is the type of
the operand #0 (0-based), and nullable if the call occurs within a
"GROUP BY ()" query.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#ARG0_NULLABLE_VARYING">ARG0_NULLABLE_VARYING</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is VARYING the
type of the first argument.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#ARG0_OR_EXACT_NO_SCALE">ARG0_OR_EXACT_NO_SCALE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is
<a href="../ReturnTypes.html#DECIMAL_SCALE0"><code>ReturnTypes.DECIMAL_SCALE0</code></a> with a fallback to <a href="../ReturnTypes.html#ARG0"><code>ReturnTypes.ARG0</code></a> This rule
is used for floor, ceiling.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#ARG1">ARG1</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is the type of
the operand #1 (0-based).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#ARG1_NULLABLE">ARG1_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is the type of
the operand #1 (0-based).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#ARG2">ARG2</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is the type of
operand #2 (0-based).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#ARG2_NULLABLE">ARG2_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is the type of
operand #2 (0-based).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#AVG_AGG_FUNCTION">AVG_AGG_FUNCTION</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#BIGINT">BIGINT</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is a Bigint</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#BIGINT_FORCE_NULLABLE">BIGINT_FORCE_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is a nullable
Bigint</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#BIGINT_NULLABLE">BIGINT_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is an Bigint
with nulls allowed if any of the operands allow nulls.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#BOOLEAN">BOOLEAN</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is Boolean.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#BOOLEAN_FORCE_NULLABLE">BOOLEAN_FORCE_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is a nullable
Boolean.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#BOOLEAN_NOT_NULL">BOOLEAN_NOT_NULL</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is Boolean
not null.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#BOOLEAN_NULLABLE">BOOLEAN_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is Boolean,
with nulls allowed if any of the operands allow nulls.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#BOOLEAN_NULLABLE_OPTIMIZED">BOOLEAN_NULLABLE_OPTIMIZED</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy with similar effect to <a href="../ReturnTypes.html#BOOLEAN_NULLABLE"><code>ReturnTypes.BOOLEAN_NULLABLE</code></a>,
which is more efficient, but can only be used if all arguments are
BOOLEAN.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#CHAR">CHAR</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is a Char.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#COLUMN_LIST">COLUMN_LIST</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy that always returns "COLUMN_LIST".</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#COVAR_REGR_FUNCTION">COVAR_REGR_FUNCTION</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#CURSOR">CURSOR</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy that always returns "CURSOR".</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#DATE">DATE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is Date.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#DATE_NULLABLE">DATE_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is nullable
Date.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#DECIMAL_MOD">DECIMAL_MOD</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#DECIMAL_MOD_NULLABLE">DECIMAL_MOD_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is the decimal
modulus of two exact numeric operands where at least one of the operands is a
decimal.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#DECIMAL_PRODUCT">DECIMAL_PRODUCT</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is the decimal
product of two exact numeric operands where at least one of the operands
is a decimal.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#DECIMAL_PRODUCT_NULLABLE">DECIMAL_PRODUCT_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Same as <a href="../ReturnTypes.html#DECIMAL_PRODUCT"><code>ReturnTypes.DECIMAL_PRODUCT</code></a> but returns with nullability if any of
the operands is nullable by using
<a href="../SqlTypeTransforms.html#TO_NULLABLE"><code>SqlTypeTransforms.TO_NULLABLE</code></a></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#DECIMAL_QUOTIENT">DECIMAL_QUOTIENT</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is the decimal
quotient of two exact numeric operands where at least one of the operands
is a decimal.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#DECIMAL_QUOTIENT_NULLABLE">DECIMAL_QUOTIENT_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Same as <a href="../ReturnTypes.html#DECIMAL_QUOTIENT"><code>ReturnTypes.DECIMAL_QUOTIENT</code></a> but returns with nullability if any of
the operands is nullable by using
<a href="../SqlTypeTransforms.html#TO_NULLABLE"><code>SqlTypeTransforms.TO_NULLABLE</code></a></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#DECIMAL_SCALE0">DECIMAL_SCALE0</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy for a call where the first argument is a decimal.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#DECIMAL_SUM">DECIMAL_SUM</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is the decimal
sum of two exact numeric operands where at least one of the operands is a
decimal.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#DECIMAL_SUM_NULLABLE">DECIMAL_SUM_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Same as <a href="../ReturnTypes.html#DECIMAL_SUM"><code>ReturnTypes.DECIMAL_SUM</code></a> but returns with nullability if any
of the operands is nullable by using
<a href="../SqlTypeTransforms.html#TO_NULLABLE"><code>SqlTypeTransforms.TO_NULLABLE</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#DOUBLE">DOUBLE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is Double.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#DOUBLE_NULLABLE">DOUBLE_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is Double with
nulls allowed if any of the operands allow nulls.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#DYADIC_STRING_SUM_PRECISION">DYADIC_STRING_SUM_PRECISION</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is
the same type as the input types but with the combined length of the
two first types
if types are of char type the type with the highest coercibility will
be used
result is varying if either input is; otherwise fixed
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#DYADIC_STRING_SUM_PRECISION_NULLABLE">DYADIC_STRING_SUM_PRECISION_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Same as <a href="../ReturnTypes.html#DYADIC_STRING_SUM_PRECISION"><code>ReturnTypes.DYADIC_STRING_SUM_PRECISION</code></a> and using
<a href="../SqlTypeTransforms.html#TO_NULLABLE"><code>SqlTypeTransforms.TO_NULLABLE</code></a></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#DYADIC_STRING_SUM_PRECISION_NULLABLE_VARYING">DYADIC_STRING_SUM_PRECISION_NULLABLE_VARYING</a></span></code></th>
<td class="colLast">
<div class="block">Same as <a href="../ReturnTypes.html#DYADIC_STRING_SUM_PRECISION"><code>ReturnTypes.DYADIC_STRING_SUM_PRECISION</code></a> and using
<a href="../SqlTypeTransforms.html#TO_NULLABLE"><code>SqlTypeTransforms.TO_NULLABLE</code></a>,
<a href="../SqlTypeTransforms.html#TO_VARYING"><code>SqlTypeTransforms.TO_VARYING</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#FRACTIONAL_RANK">FRACTIONAL_RANK</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy for the <code>CUME_DIST</code> and <code>PERCENT_RANK</code>
aggregate functions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#HISTOGRAM">HISTOGRAM</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy for Histogram agg support</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#INTEGER">INTEGER</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is an Integer.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#INTEGER_NULLABLE">INTEGER_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is an Integer
with nulls allowed if any of the operands allow nulls.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#INTEGER_QUOTIENT_NULLABLE">INTEGER_QUOTIENT_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is
<a href="../ReturnTypes.html#ARG0_INTERVAL_NULLABLE"><code>ReturnTypes.ARG0_INTERVAL_NULLABLE</code></a> and <a href="../ReturnTypes.html#LEAST_RESTRICTIVE"><code>ReturnTypes.LEAST_RESTRICTIVE</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#LEAST_RESTRICTIVE">LEAST_RESTRICTIVE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is using its
operands biggest type, using the SQL:1999 rules described in "Data types
of results of aggregations".</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#MULTISET">MULTISET</a></span></code></th>
<td class="colLast">
<div class="block">Returns the same type as the multiset carries.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#MULTISET_ELEMENT_NULLABLE">MULTISET_ELEMENT_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Returns the element type of a multiset</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#MULTISET_NULLABLE">MULTISET_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Same as <a href="../ReturnTypes.html#MULTISET"><code>ReturnTypes.MULTISET</code></a> but returns with nullability if any of the
operands is nullable.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#MULTISET_PROJECT_ONLY">MULTISET_PROJECT_ONLY</a></span></code></th>
<td class="colLast">
<div class="block">Returns the type of the only column of a multiset.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#MULTISET_PROJECT0">MULTISET_PROJECT0</a></span></code></th>
<td class="colLast">
<div class="block">Returns a multiset of column #0 of a multiset.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#MULTISET_RECORD">MULTISET_RECORD</a></span></code></th>
<td class="colLast">
<div class="block">Returns a multiset of the first column of a multiset.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#NULLABLE_MOD">NULLABLE_MOD</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is
<a href="../ReturnTypes.html#DECIMAL_MOD_NULLABLE"><code>ReturnTypes.DECIMAL_MOD_NULLABLE</code></a> with a fallback to <a href="../ReturnTypes.html#ARG1_NULLABLE"><code>ReturnTypes.ARG1_NULLABLE</code></a>
These rules are used for modulus.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#NULLABLE_SUM">NULLABLE_SUM</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is
<a href="../ReturnTypes.html#DECIMAL_SUM_NULLABLE"><code>ReturnTypes.DECIMAL_SUM_NULLABLE</code></a> with a fallback to <a href="../ReturnTypes.html#LEAST_RESTRICTIVE"><code>ReturnTypes.LEAST_RESTRICTIVE</code></a>
These rules are used for addition and subtraction.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#PRODUCT_NULLABLE">PRODUCT_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is
<a href="../ReturnTypes.html#DECIMAL_PRODUCT_NULLABLE"><code>ReturnTypes.DECIMAL_PRODUCT_NULLABLE</code></a> with a fallback to
<a href="../ReturnTypes.html#ARG0_INTERVAL_NULLABLE"><code>ReturnTypes.ARG0_INTERVAL_NULLABLE</code></a>
and <a href="../ReturnTypes.html#LEAST_RESTRICTIVE"><code>ReturnTypes.LEAST_RESTRICTIVE</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#QUOTIENT_NULLABLE">QUOTIENT_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is
<a href="../ReturnTypes.html#DECIMAL_QUOTIENT_NULLABLE"><code>ReturnTypes.DECIMAL_QUOTIENT_NULLABLE</code></a> with a fallback to
<a href="../ReturnTypes.html#ARG0_INTERVAL_NULLABLE"><code>ReturnTypes.ARG0_INTERVAL_NULLABLE</code></a> and <a href="../ReturnTypes.html#LEAST_RESTRICTIVE"><code>ReturnTypes.LEAST_RESTRICTIVE</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#RANK">RANK</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy for the <code>NTILE</code>, <code>RANK</code>,
<code>DENSE_RANK</code>, and <code>ROW_NUMBER</code> aggregate functions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#RECORD_TO_SCALAR">RECORD_TO_SCALAR</a></span></code></th>
<td class="colLast">
<div class="block">Returns the field type of a structured type which has only one field.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlTypeTransformCascade.</span><code><span class="memberNameLink"><a href="../SqlTypeTransformCascade.html#rule">rule</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#SCOPE">SCOPE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy where the expression is assumed to be registered
as a <a href="../../validate/SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate"><code>SqlValidatorNamespace</code></a>, and
therefore the result type of the call is the type of that namespace.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#TIME">TIME</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is Time(0).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#TIME_NULLABLE">TIME_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy whereby the result type of a call is nullable
Time(0).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#TO_MULTISET">TO_MULTISET</a></span></code></th>
<td class="colLast">
<div class="block">Returns a multiset type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#VARCHAR_2000">VARCHAR_2000</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy that always returns "VARCHAR(2000)".</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#VARCHAR_2000_NULLABLE">VARCHAR_2000_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy that always returns "VARCHAR(2000)" with nulls
allowed if any of the operands allow nulls.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#VARCHAR_4">VARCHAR_4</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy that always returns "VARCHAR(4)".</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#VARCHAR_4_NULLABLE">VARCHAR_4_NULLABLE</a></span></code></th>
<td class="colLast">
<div class="block">Type-inference strategy that always returns "VARCHAR(4)" with nulls
allowed if any of the operands allow nulls.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../package-summary.html">org.apache.calcite.sql.type</a> with type parameters of type <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private com.google.common.collect.ImmutableList&lt;<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlReturnTypeInferenceChain.</span><code><span class="memberNameLink"><a href="../SqlReturnTypeInferenceChain.html#rules">rules</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../package-summary.html">org.apache.calcite.sql.type</a> with parameters of type <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../SqlTypeTransformCascade.html" title="class in org.apache.calcite.sql.type">SqlTypeTransformCascade</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#cascade(org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlTypeTransform...)">cascade</a></span>&#8203;(<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;rule,
<a href="../SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a>...&nbsp;transforms)</code></th>
<td class="colLast">
<div class="block">Creates a return-type inference that applies a rule then a sequence of
transforms.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../SqlReturnTypeInferenceChain.html" title="class in org.apache.calcite.sql.type">SqlReturnTypeInferenceChain</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ReturnTypes.</span><code><span class="memberNameLink"><a href="../ReturnTypes.html#chain(org.apache.calcite.sql.type.SqlReturnTypeInference...)">chain</a></span>&#8203;(<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>...&nbsp;rules)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../package-summary.html">org.apache.calcite.sql.type</a> with parameters of type <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../SqlReturnTypeInferenceChain.html#%3Cinit%3E(org.apache.calcite.sql.type.SqlReturnTypeInference...)">SqlReturnTypeInferenceChain</a></span>&#8203;(<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>...&nbsp;rules)</code></th>
<td class="colLast">
<div class="block">Creates a SqlReturnTypeInferenceChain from an array of rules.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../SqlTypeTransformCascade.html#%3Cinit%3E(org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlTypeTransform...)">SqlTypeTransformCascade</a></span>&#8203;(<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;rule,
<a href="../SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a>...&nbsp;transforms)</code></th>
<td class="colLast">
<div class="block">Creates a SqlTypeTransformCascade from a rule and an array of one or more
transforms.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.sql.validate">
<!-- -->
</a>
<h3>Uses of <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a> in <a href="../../validate/package-summary.html">org.apache.calcite.sql.validate</a></h3>
<table class="useSummary">
<caption><span>Constructors in <a href="../../validate/package-summary.html">org.apache.calcite.sql.validate</a> with parameters of type <a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../validate/SqlUserDefinedAggFunction.html#%3Cinit%3E(org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,org.apache.calcite.schema.AggregateFunction,boolean,boolean,org.apache.calcite.util.Optionality,org.apache.calcite.rel.type.RelDataTypeFactory)">SqlUserDefinedAggFunction</a></span>&#8203;(<a href="../../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;opName,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
<a href="../../../schema/AggregateFunction.html" title="interface in org.apache.calcite.schema">AggregateFunction</a>&nbsp;function,
boolean&nbsp;requiresOrder,
boolean&nbsp;requiresOver,
<a href="../../../util/Optionality.html" title="enum in org.apache.calcite.util">Optionality</a>&nbsp;requiresGroupOrder,
<a href="../../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a>&nbsp;typeFactory)</code></th>
<td class="colLast">
<div class="block">Creates a SqlUserDefinedAggFunction.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../validate/SqlUserDefinedFunction.html#%3Cinit%3E(org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,java.util.List,org.apache.calcite.schema.Function)">SqlUserDefinedFunction</a></span>&#8203;(<a href="../../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;opName,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
java.util.List&lt;<a href="../../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;paramTypes,
<a href="../../../schema/Function.html" title="interface in org.apache.calcite.schema">Function</a>&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Creates a <a href="../../validate/SqlUserDefinedFunction.html" title="class in org.apache.calcite.sql.validate"><code>SqlUserDefinedFunction</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../validate/SqlUserDefinedFunction.html#%3Cinit%3E(org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,java.util.List,org.apache.calcite.schema.Function,org.apache.calcite.sql.SqlFunctionCategory)">SqlUserDefinedFunction</a></span>&#8203;(<a href="../../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;opName,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
java.util.List&lt;<a href="../../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;paramTypes,
<a href="../../../schema/Function.html" title="interface in org.apache.calcite.schema">Function</a>&nbsp;function,
<a href="../../SqlFunctionCategory.html" title="enum in org.apache.calcite.sql">SqlFunctionCategory</a>&nbsp;category)</code></th>
<td class="colLast">
<div class="block">Constructor used internally and by derived classes.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../validate/SqlUserDefinedTableFunction.html#%3Cinit%3E(org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,java.util.List,org.apache.calcite.schema.TableFunction)">SqlUserDefinedTableFunction</a></span>&#8203;(<a href="../../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;opName,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
java.util.List&lt;<a href="../../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;paramTypes,
<a href="../../../schema/TableFunction.html" title="interface in org.apache.calcite.schema">TableFunction</a>&nbsp;function)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../validate/SqlUserDefinedTableMacro.html#%3Cinit%3E(org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,java.util.List,org.apache.calcite.schema.TableMacro)">SqlUserDefinedTableMacro</a></span>&#8203;(<a href="../../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;opName,
<a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="../SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference,
<a href="../SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
java.util.List&lt;<a href="../../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;paramTypes,
<a href="../../../schema/TableMacro.html" title="interface in org.apache.calcite.schema">TableMacro</a>&nbsp;tableMacro)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
</ul>
</li>
</ul>
</div>
</main>
<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><a href="../SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">Class</a></li>
<li class="navBarCell1Rev">Use</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&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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>