| <!DOCTYPE HTML> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc --> |
| <title>ReturnTypes (Apache Calcite calcite API)</title> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta name="description" content="declaration: package: org.apache.calcite.sql.type, class: ReturnTypes"> |
| <meta name="generator" content="javadoc/ClassWriterImpl"> |
| <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.css" title="Style"> |
| <script type="text/javascript" src="../../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../../script-dir/jszip/dist/jszip.min.js"></script> |
| <script type="text/javascript" src="../../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script> |
| <!--[if IE]> |
| <script type="text/javascript" src="../../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script> |
| <![endif]--> |
| <script type="text/javascript" src="../../../../../script-dir/jquery-3.4.1.js"></script> |
| <script type="text/javascript" src="../../../../../script-dir/jquery-ui.js"></script> |
| </head> |
| <body class="class-declaration"> |
| <script type="text/javascript">var data = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9}; |
| var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]}; |
| var altColor = "altColor"; |
| var rowColor = "rowColor"; |
| var tableTab = "tableTab"; |
| var activeTableTab = "activeTableTab"; |
| var pathtoroot = "../../../../../"; |
| loadScripts(document, 'script');</script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <div class="flexBox"> |
| <header role="banner" class="flexHeader"> |
| <nav role="navigation"> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a id="navbar.top"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> |
| <a id="navbar.top.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../index.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../help-doc.html">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><b>Apache Calcite</b></div> |
| </div> |
| <div class="subNav"> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li>Constr | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li>Constr | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <div class="navListSearch"><label for="search">SEARCH:</label> |
| <input type="text" id="search" value="search" disabled="disabled"> |
| <input type="reset" id="reset" value="reset" disabled="disabled"> |
| </div> |
| </div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <div class="skipNav"><a id="skip.navbar.top"> |
| <!-- --> |
| </a></div> |
| </nav> |
| </header> |
| <div class="flexContent"> |
| <main role="main"> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="subTitle"><span class="packageLabelInType">Package</span> <a href="package-summary.html">org.apache.calcite.sql.type</a></div> |
| <h1 title="Class ReturnTypes" class="title">Class ReturnTypes</h1> |
| </div> |
| <div class="contentContainer"> |
| <div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a> |
| <div class="inheritance">org.apache.calcite.sql.type.ReturnTypes</div> |
| </div> |
| <section class="description"> |
| <hr> |
| <pre>public abstract class <span class="typeNameLabel">ReturnTypes</span> |
| extends <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></pre> |
| <div class="block">A collection of return-type inference strategies.</div> |
| </section> |
| <section class="summary"> |
| <ul class="blockList"> |
| <!-- =========== FIELD SUMMARY =========== --> |
| <li class="blockList"> |
| <section class="fieldSummary"><a id="field.summary"> |
| <!-- --> |
| </a> |
| <h2>Field Summary</h2> |
| <div class="memberSummary"> |
| <table> |
| <caption><span>Fields</span><span class="tabEnd"> </span></caption> |
| <thead> |
| <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> |
| </thead> |
| <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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#ARG0_INTERVAL">ARG0_INTERVAL</a></span></code></th> |
| <td class="colLast"> </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"><code><span class="memberNameLink"><a href="#ARG0_INTERVAL_NULLABLE">ARG0_INTERVAL_NULLABLE</a></span></code></th> |
| <td class="colLast"> </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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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="#DECIMAL_SCALE0"><code>DECIMAL_SCALE0</code></a> with a fallback to <a href="#ARG0"><code>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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#AVG_AGG_FUNCTION">AVG_AGG_FUNCTION</a></span></code></th> |
| <td class="colLast"> </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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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 a 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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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="#BOOLEAN_NULLABLE"><code>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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#COVAR_REGR_FUNCTION">COVAR_REGR_FUNCTION</a></span></code></th> |
| <td class="colLast"> </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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#DECIMAL_MOD">DECIMAL_MOD</a></span></code></th> |
| <td class="colLast"> </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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#DECIMAL_PRODUCT_NULLABLE">DECIMAL_PRODUCT_NULLABLE</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Same as <a href="#DECIMAL_PRODUCT"><code>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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#DECIMAL_QUOTIENT_NULLABLE">DECIMAL_QUOTIENT_NULLABLE</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Same as <a href="#DECIMAL_QUOTIENT"><code>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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#DECIMAL_SUM_NULLABLE">DECIMAL_SUM_NULLABLE</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Same as <a href="#DECIMAL_SUM"><code>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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#DYADIC_STRING_SUM_PRECISION">DYADIC_STRING_SUM_PRECISION</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Type-inference strategy for concatenating two string arguments.</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"><code><span class="memberNameLink"><a href="#DYADIC_STRING_SUM_PRECISION_NULLABLE">DYADIC_STRING_SUM_PRECISION_NULLABLE</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Same as <a href="#DYADIC_STRING_SUM_PRECISION"><code>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"><code><span class="memberNameLink"><a href="#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="#DYADIC_STRING_SUM_PRECISION"><code>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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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="#ARG0_INTERVAL_NULLABLE"><code>ARG0_INTERVAL_NULLABLE</code></a> and <a href="#LEAST_RESTRICTIVE"><code>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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#MULTISET_NULLABLE">MULTISET_NULLABLE</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Same as <a href="#MULTISET"><code>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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#MULTIVALENT_STRING_SUM_PRECISION">MULTIVALENT_STRING_SUM_PRECISION</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Type-inference strategy for String concatenation.</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"><code><span class="memberNameLink"><a href="#MULTIVALENT_STRING_SUM_PRECISION_NULLABLE">MULTIVALENT_STRING_SUM_PRECISION_NULLABLE</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Same as <a href="#MULTIVALENT_STRING_SUM_PRECISION"><code>MULTIVALENT_STRING_SUM_PRECISION</code></a> and 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"><code><span class="memberNameLink"><a href="#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="#DECIMAL_MOD_NULLABLE"><code>DECIMAL_MOD_NULLABLE</code></a> with a fallback to <a href="#ARG1_NULLABLE"><code>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"><code><span class="memberNameLink"><a href="#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="#DECIMAL_SUM_NULLABLE"><code>DECIMAL_SUM_NULLABLE</code></a> with a fallback to <a href="#LEAST_RESTRICTIVE"><code>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"><code><span class="memberNameLink"><a href="#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="#DECIMAL_PRODUCT_NULLABLE"><code>DECIMAL_PRODUCT_NULLABLE</code></a> with a fallback to |
| <a href="#ARG0_INTERVAL_NULLABLE"><code>ARG0_INTERVAL_NULLABLE</code></a> |
| and <a href="#LEAST_RESTRICTIVE"><code>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"><code><span class="memberNameLink"><a href="#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="#DECIMAL_QUOTIENT_NULLABLE"><code>DECIMAL_QUOTIENT_NULLABLE</code></a> with a fallback to |
| <a href="#ARG0_INTERVAL_NULLABLE"><code>ARG0_INTERVAL_NULLABLE</code></a> and <a href="#LEAST_RESTRICTIVE"><code>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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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>static <a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#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="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"><code><span class="memberNameLink"><a href="#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="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"><code><span class="memberNameLink"><a href="#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="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"><code><span class="memberNameLink"><a href="#TIMESTAMP">TIMESTAMP</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Type-inference strategy whereby the result type of a call is TIMESTAMP.</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"><code><span class="memberNameLink"><a href="#TIMESTAMP_NULLABLE">TIMESTAMP_NULLABLE</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Type-inference strategy whereby the result type of a call is nullable |
| TIMESTAMP.</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"><code><span class="memberNameLink"><a href="#TO_ARRAY">TO_ARRAY</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Returns an ARRAY type.</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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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"><code><span class="memberNameLink"><a href="#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> |
| </div> |
| </section> |
| </li> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <li class="blockList"> |
| <section class="methodSummary"><a id="method.summary"> |
| <!-- --> |
| </a> |
| <h2>Method Summary</h2> |
| <div class="memberSummary"> |
| <div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t1" class="tableTab" onclick="show(1);">Static Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div> |
| <div id="memberSummary_tabpanel" role="tabpanel"> |
| <table aria-labelledby="t0"> |
| <thead> |
| <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> |
| </thead> |
| <tbody> |
| <tr class="altColor" id="i0"> |
| <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"><code><span class="memberNameLink"><a href="#andThen(java.util.function.UnaryOperator,org.apache.calcite.sql.type.SqlReturnTypeInference)">andThen</a></span>​(<a href="https://docs.oracle.com/javase/9/docs/api/java/util/function/UnaryOperator.html?is-external=true" title="class or interface in java.util.function" class="externalLink">UnaryOperator</a><<a href="../SqlOperatorBinding.html" title="class in org.apache.calcite.sql">SqlOperatorBinding</a>> bindingTransform, |
| <a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a> typeInference)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a return-type inference that first transforms a binding and |
| then applies an inference.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i1"> |
| <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"><code><span class="memberNameLink"><a href="#cascade(org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlTypeTransform...)">cascade</a></span>​(<a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a> rule, |
| <a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a>... 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="altColor" id="i2"> |
| <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"><code><span class="memberNameLink"><a href="#chain(org.apache.calcite.sql.type.SqlReturnTypeInference...)">chain</a></span>​(<a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>... rules)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a return-type inference that applies a rule then a sequence of |
| rules, returning the first non-null result.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i3"> |
| <td class="colFirst"><code>static <a href="ExplicitReturnTypeInference.html" title="class in org.apache.calcite.sql.type">ExplicitReturnTypeInference</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#explicit(org.apache.calcite.rel.type.RelDataType)">explicit</a></span>​(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates an inference rule which returns a copy of a given data type.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i4"> |
| <td class="colFirst"><code>static <a href="ExplicitReturnTypeInference.html" title="class in org.apache.calcite.sql.type">ExplicitReturnTypeInference</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#explicit(org.apache.calcite.rel.type.RelProtoDataType)">explicit</a></span>​(<a href="../../rel/type/RelProtoDataType.html" title="interface in org.apache.calcite.rel.type">RelProtoDataType</a> protoType)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor" id="i5"> |
| <td class="colFirst"><code>static <a href="ExplicitReturnTypeInference.html" title="class in org.apache.calcite.sql.type">ExplicitReturnTypeInference</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#explicit(org.apache.calcite.sql.type.SqlTypeName)">explicit</a></span>​(<a href="SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a> typeName)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates an inference rule which returns a type with no precision or scale, |
| such as <code>DATE</code>.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i6"> |
| <td class="colFirst"><code>static <a href="ExplicitReturnTypeInference.html" title="class in org.apache.calcite.sql.type">ExplicitReturnTypeInference</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#explicit(org.apache.calcite.sql.type.SqlTypeName,int)">explicit</a></span>​(<a href="SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a> typeName, |
| int precision)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates an inference rule which returns a type with precision but no scale, |
| such as <code>VARCHAR(100)</code>.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i7"> |
| <td class="colFirst"><code>static <a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stripOrderBy(org.apache.calcite.sql.SqlCall)">stripOrderBy</a></span>​(<a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor" id="i8"> |
| <td class="colFirst"><code>static <a href="../SqlOperatorBinding.html" title="class in org.apache.calcite.sql">SqlOperatorBinding</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stripOrderBy(org.apache.calcite.sql.SqlOperatorBinding)">stripOrderBy</a></span>​(<a href="../SqlOperatorBinding.html" title="class in org.apache.calcite.sql">SqlOperatorBinding</a> operatorBinding)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts a binding of <code>FOO(x, y ORDER BY z)</code> |
| or <code>FOO(x, y ORDER BY z SEPARATOR s)</code> |
| to a binding of <code>FOO(x, y)</code>.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i9"> |
| <td class="colFirst"><code>static <a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stripSeparator(org.apache.calcite.sql.SqlCall)">stripSeparator</a></span>​(<a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| <div class="inheritedList"> |
| <h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3> |
| <a id="methods.inherited.from.class.java.lang.Object"> |
| <!-- --> |
| </a><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <section class="details"> |
| <ul class="blockList"> |
| <!-- ============ FIELD DETAIL =========== --> |
| <li class="blockList"> |
| <section class="fieldDetails"><a id="field.detail"> |
| <!-- --> |
| </a> |
| <h2>Field Details</h2> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="ARG0">ARG0</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">ARG0</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is the type of |
| the operand #0 (0-based).</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="ARG0_NULLABLE_VARYING">ARG0_NULLABLE_VARYING</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">ARG0_NULLABLE_VARYING</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is VARYING the |
| type of the first argument. The length returned is the same as length of |
| the first argument. If any of the other operands are nullable the |
| returned type will also be nullable. First Arg must be of string type.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="ARG0_NULLABLE">ARG0_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">ARG0_NULLABLE</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is the type of |
| the operand #0 (0-based). If any of the other operands are nullable the |
| returned type will also be nullable.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="ARG0_FORCE_NULLABLE">ARG0_FORCE_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">ARG0_FORCE_NULLABLE</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="ARG0_INTERVAL">ARG0_INTERVAL</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">ARG0_INTERVAL</span></div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="ARG0_INTERVAL_NULLABLE">ARG0_INTERVAL_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">ARG0_INTERVAL_NULLABLE</span></div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="ARG0_NULLABLE_IF_EMPTY">ARG0_NULLABLE_IF_EMPTY</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">ARG0_NULLABLE_IF_EMPTY</span></div> |
| <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. E.g. in "select sum(1) as s from empty", s may be |
| null.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="ARG1">ARG1</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">ARG1</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is the type of |
| the operand #1 (0-based).</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="ARG1_NULLABLE">ARG1_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">ARG1_NULLABLE</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is the type of |
| the operand #1 (0-based). If any of the other operands are nullable the |
| returned type will also be nullable.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="ARG2">ARG2</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">ARG2</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is the type of |
| operand #2 (0-based).</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="ARG2_NULLABLE">ARG2_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">ARG2_NULLABLE</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is the type of |
| operand #2 (0-based). If any of the other operands are nullable the |
| returned type will also be nullable.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="BOOLEAN">BOOLEAN</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">BOOLEAN</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is Boolean.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="BOOLEAN_NULLABLE">BOOLEAN_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">BOOLEAN_NULLABLE</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="BOOLEAN_NULLABLE_OPTIMIZED">BOOLEAN_NULLABLE_OPTIMIZED</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">BOOLEAN_NULLABLE_OPTIMIZED</span></div> |
| <div class="block">Type-inference strategy with similar effect to <a href="#BOOLEAN_NULLABLE"><code>BOOLEAN_NULLABLE</code></a>, |
| which is more efficient, but can only be used if all arguments are |
| BOOLEAN.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="BOOLEAN_FORCE_NULLABLE">BOOLEAN_FORCE_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">BOOLEAN_FORCE_NULLABLE</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is a nullable |
| Boolean.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="BOOLEAN_NOT_NULL">BOOLEAN_NOT_NULL</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">BOOLEAN_NOT_NULL</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is BOOLEAN |
| NOT NULL.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="DATE">DATE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">DATE</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is DATE.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="DATE_NULLABLE">DATE_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">DATE_NULLABLE</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is nullable |
| DATE.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="TIME">TIME</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">TIME</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is TIME(0).</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="TIME_NULLABLE">TIME_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">TIME_NULLABLE</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is nullable |
| TIME(0).</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="TIMESTAMP">TIMESTAMP</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">TIMESTAMP</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is TIMESTAMP.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="TIMESTAMP_NULLABLE">TIMESTAMP_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">TIMESTAMP_NULLABLE</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is nullable |
| TIMESTAMP.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="DOUBLE">DOUBLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">DOUBLE</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is Double.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="DOUBLE_NULLABLE">DOUBLE_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">DOUBLE_NULLABLE</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="CHAR">CHAR</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">CHAR</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is a Char.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="INTEGER">INTEGER</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">INTEGER</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is an Integer.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="INTEGER_NULLABLE">INTEGER_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">INTEGER_NULLABLE</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="BIGINT">BIGINT</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">BIGINT</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is a BIGINT.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="BIGINT_FORCE_NULLABLE">BIGINT_FORCE_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">BIGINT_FORCE_NULLABLE</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is a nullable |
| BIGINT.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="BIGINT_NULLABLE">BIGINT_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">BIGINT_NULLABLE</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is a BIGINT |
| with nulls allowed if any of the operands allow nulls.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="VARCHAR_4">VARCHAR_4</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">VARCHAR_4</span></div> |
| <div class="block">Type-inference strategy that always returns "VARCHAR(4)".</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="VARCHAR_4_NULLABLE">VARCHAR_4_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">VARCHAR_4_NULLABLE</span></div> |
| <div class="block">Type-inference strategy that always returns "VARCHAR(4)" with nulls |
| allowed if any of the operands allow nulls.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="VARCHAR_2000">VARCHAR_2000</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">VARCHAR_2000</span></div> |
| <div class="block">Type-inference strategy that always returns "VARCHAR(2000)".</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="VARCHAR_2000_NULLABLE">VARCHAR_2000_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">VARCHAR_2000_NULLABLE</span></div> |
| <div class="block">Type-inference strategy that always returns "VARCHAR(2000)" with nulls |
| allowed if any of the operands allow nulls.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="HISTOGRAM">HISTOGRAM</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">HISTOGRAM</span></div> |
| <div class="block">Type-inference strategy for Histogram agg support.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="CURSOR">CURSOR</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">CURSOR</span></div> |
| <div class="block">Type-inference strategy that always returns "CURSOR".</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="COLUMN_LIST">COLUMN_LIST</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">COLUMN_LIST</span></div> |
| <div class="block">Type-inference strategy that always returns "COLUMN_LIST".</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="LEAST_RESTRICTIVE">LEAST_RESTRICTIVE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">LEAST_RESTRICTIVE</span></div> |
| <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". These rules are used in union, except, |
| intersect, case and other places.</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../util/Glossary.html#SQL99"><code>SQL:1999 Part 2 Section 9.3</code></a></dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="MULTISET">MULTISET</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">MULTISET</span></div> |
| <div class="block">Returns the same type as the multiset carries. The multiset type returned |
| is the least restrictive of the call's multiset operands</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="TO_MULTISET">TO_MULTISET</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">TO_MULTISET</span></div> |
| <div class="block">Returns a MULTISET type. |
| |
| <p>For example, given <code>INTEGER</code>, returns |
| <code>INTEGER MULTISET</code>.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="MULTISET_ELEMENT_NULLABLE">MULTISET_ELEMENT_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">MULTISET_ELEMENT_NULLABLE</span></div> |
| <div class="block">Returns the element type of a MULTISET.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="MULTISET_NULLABLE">MULTISET_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">MULTISET_NULLABLE</span></div> |
| <div class="block">Same as <a href="#MULTISET"><code>MULTISET</code></a> but returns with nullability if any of the |
| operands is nullable.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="MULTISET_PROJECT_ONLY">MULTISET_PROJECT_ONLY</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">MULTISET_PROJECT_ONLY</span></div> |
| <div class="block">Returns the type of the only column of a multiset. |
| |
| <p>For example, given <code>RECORD(x INTEGER) MULTISET</code>, returns |
| <code>INTEGER MULTISET</code>.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="TO_ARRAY">TO_ARRAY</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">TO_ARRAY</span></div> |
| <div class="block">Returns an ARRAY type. |
| |
| <p>For example, given <code>INTEGER</code>, returns |
| <code>INTEGER ARRAY</code>.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="INTEGER_QUOTIENT_NULLABLE">INTEGER_QUOTIENT_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">INTEGER_QUOTIENT_NULLABLE</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is |
| <a href="#ARG0_INTERVAL_NULLABLE"><code>ARG0_INTERVAL_NULLABLE</code></a> and <a href="#LEAST_RESTRICTIVE"><code>LEAST_RESTRICTIVE</code></a>. These rules |
| are used for integer division.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="DECIMAL_SCALE0">DECIMAL_SCALE0</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">DECIMAL_SCALE0</span></div> |
| <div class="block">Type-inference strategy for a call where the first argument is a decimal. |
| The result type of a call is a decimal with a scale of 0, and the same |
| precision and nullability as the first argument.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="ARG0_OR_EXACT_NO_SCALE">ARG0_OR_EXACT_NO_SCALE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">ARG0_OR_EXACT_NO_SCALE</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is |
| <a href="#DECIMAL_SCALE0"><code>DECIMAL_SCALE0</code></a> with a fallback to <a href="#ARG0"><code>ARG0</code></a> This rule |
| is used for floor, ceiling.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="DECIMAL_PRODUCT">DECIMAL_PRODUCT</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">DECIMAL_PRODUCT</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="DECIMAL_PRODUCT_NULLABLE">DECIMAL_PRODUCT_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">DECIMAL_PRODUCT_NULLABLE</span></div> |
| <div class="block">Same as <a href="#DECIMAL_PRODUCT"><code>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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="PRODUCT_NULLABLE">PRODUCT_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">PRODUCT_NULLABLE</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is |
| <a href="#DECIMAL_PRODUCT_NULLABLE"><code>DECIMAL_PRODUCT_NULLABLE</code></a> with a fallback to |
| <a href="#ARG0_INTERVAL_NULLABLE"><code>ARG0_INTERVAL_NULLABLE</code></a> |
| and <a href="#LEAST_RESTRICTIVE"><code>LEAST_RESTRICTIVE</code></a>. |
| These rules are used for multiplication.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="DECIMAL_QUOTIENT">DECIMAL_QUOTIENT</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">DECIMAL_QUOTIENT</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="DECIMAL_QUOTIENT_NULLABLE">DECIMAL_QUOTIENT_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">DECIMAL_QUOTIENT_NULLABLE</span></div> |
| <div class="block">Same as <a href="#DECIMAL_QUOTIENT"><code>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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="QUOTIENT_NULLABLE">QUOTIENT_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">QUOTIENT_NULLABLE</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is |
| <a href="#DECIMAL_QUOTIENT_NULLABLE"><code>DECIMAL_QUOTIENT_NULLABLE</code></a> with a fallback to |
| <a href="#ARG0_INTERVAL_NULLABLE"><code>ARG0_INTERVAL_NULLABLE</code></a> and <a href="#LEAST_RESTRICTIVE"><code>LEAST_RESTRICTIVE</code></a>. These rules |
| are used for division.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="DECIMAL_SUM">DECIMAL_SUM</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">DECIMAL_SUM</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="DECIMAL_SUM_NULLABLE">DECIMAL_SUM_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">DECIMAL_SUM_NULLABLE</span></div> |
| <div class="block">Same as <a href="#DECIMAL_SUM"><code>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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="NULLABLE_SUM">NULLABLE_SUM</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">NULLABLE_SUM</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is |
| <a href="#DECIMAL_SUM_NULLABLE"><code>DECIMAL_SUM_NULLABLE</code></a> with a fallback to <a href="#LEAST_RESTRICTIVE"><code>LEAST_RESTRICTIVE</code></a> |
| These rules are used for addition and subtraction.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="DECIMAL_MOD">DECIMAL_MOD</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">DECIMAL_MOD</span></div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="DECIMAL_MOD_NULLABLE">DECIMAL_MOD_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">DECIMAL_MOD_NULLABLE</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="NULLABLE_MOD">NULLABLE_MOD</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">NULLABLE_MOD</span></div> |
| <div class="block">Type-inference strategy whereby the result type of a call is |
| <a href="#DECIMAL_MOD_NULLABLE"><code>DECIMAL_MOD_NULLABLE</code></a> with a fallback to <a href="#ARG1_NULLABLE"><code>ARG1_NULLABLE</code></a> |
| These rules are used for modulus.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="DYADIC_STRING_SUM_PRECISION">DYADIC_STRING_SUM_PRECISION</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">DYADIC_STRING_SUM_PRECISION</span></div> |
| <div class="block">Type-inference strategy for concatenating two string arguments. The result |
| type of a call is: |
| |
| <ul> |
| <li>the same type as the input types but with the combined length of the |
| two first types</li> |
| <li>if types are of char type the type with the highest coercibility will |
| be used</li> |
| <li>result is varying if either input is; otherwise fixed |
| </ul> |
| |
| <p>Pre-requisites: |
| |
| <ul> |
| <li>input types must be of the same string type |
| <li>types must be comparable without casting |
| </ul></div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="MULTIVALENT_STRING_SUM_PRECISION">MULTIVALENT_STRING_SUM_PRECISION</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">MULTIVALENT_STRING_SUM_PRECISION</span></div> |
| <div class="block">Type-inference strategy for String concatenation. |
| Result is varying if either input is; otherwise fixed. |
| For example, |
| |
| <p>concat(cast('a' as varchar(2)), cast('b' as varchar(3)),cast('c' as varchar(2))) |
| returns varchar(7).</p> |
| |
| <p>concat(cast('a' as varchar), cast('b' as varchar(2), cast('c' as varchar(2)))) |
| returns varchar.</p> |
| |
| <p>concat(cast('a' as varchar(65535)), cast('b' as varchar(2)), cast('c' as varchar(2))) |
| returns varchar.</p></div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="MULTIVALENT_STRING_SUM_PRECISION_NULLABLE">MULTIVALENT_STRING_SUM_PRECISION_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">MULTIVALENT_STRING_SUM_PRECISION_NULLABLE</span></div> |
| <div class="block">Same as <a href="#MULTIVALENT_STRING_SUM_PRECISION"><code>MULTIVALENT_STRING_SUM_PRECISION</code></a> and using |
| <a href="SqlTypeTransforms.html#TO_NULLABLE"><code>SqlTypeTransforms.TO_NULLABLE</code></a>.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="DYADIC_STRING_SUM_PRECISION_NULLABLE_VARYING">DYADIC_STRING_SUM_PRECISION_NULLABLE_VARYING</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">DYADIC_STRING_SUM_PRECISION_NULLABLE_VARYING</span></div> |
| <div class="block">Same as <a href="#DYADIC_STRING_SUM_PRECISION"><code>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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="DYADIC_STRING_SUM_PRECISION_NULLABLE">DYADIC_STRING_SUM_PRECISION_NULLABLE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">DYADIC_STRING_SUM_PRECISION_NULLABLE</span></div> |
| <div class="block">Same as <a href="#DYADIC_STRING_SUM_PRECISION"><code>DYADIC_STRING_SUM_PRECISION</code></a> and using |
| <a href="SqlTypeTransforms.html#TO_NULLABLE"><code>SqlTypeTransforms.TO_NULLABLE</code></a>.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="SCOPE">SCOPE</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">SCOPE</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="MULTISET_PROJECT0">MULTISET_PROJECT0</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">MULTISET_PROJECT0</span></div> |
| <div class="block">Returns a multiset of column #0 of a multiset. For example, given |
| <code>RECORD(x INTEGER, y DATE) MULTISET</code>, returns <code>INTEGER |
| MULTISET</code>.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="MULTISET_RECORD">MULTISET_RECORD</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">MULTISET_RECORD</span></div> |
| <div class="block">Returns a multiset of the first column of a multiset. For example, given |
| <code>INTEGER MULTISET</code>, returns <code>RECORD(x INTEGER) |
| MULTISET</code>.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="RECORD_TO_SCALAR">RECORD_TO_SCALAR</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">RECORD_TO_SCALAR</span></div> |
| <div class="block">Returns the field type of a structured type which has only one field. For |
| example, given <code>RECORD(x INTEGER)</code> returns <code>INTEGER</code>.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="AGG_SUM">AGG_SUM</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">AGG_SUM</span></div> |
| <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. E.g. in "select sum(x) as s from empty", s may be null. Also, |
| with the default implementation of RelDataTypeSystem, s has the same |
| type name as x.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="AGG_SUM_EMPTY_IS_ZERO">AGG_SUM_EMPTY_IS_ZERO</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">AGG_SUM_EMPTY_IS_ZERO</span></div> |
| <div class="block">Type-inference strategy for $SUM0 aggregate function inferred from the |
| operand type. By default the inferred type is identical to the operand |
| type. E.g. in "select $sum0(x) as s from empty", s has the same type as |
| x.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="FRACTIONAL_RANK">FRACTIONAL_RANK</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">FRACTIONAL_RANK</span></div> |
| <div class="block">Type-inference strategy for the <code>CUME_DIST</code> and <code>PERCENT_RANK</code> |
| aggregate functions.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="RANK">RANK</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">RANK</span></div> |
| <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> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="AVG_AGG_FUNCTION">AVG_AGG_FUNCTION</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">AVG_AGG_FUNCTION</span></div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="COVAR_REGR_FUNCTION">COVAR_REGR_FUNCTION</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static final</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">COVAR_REGR_FUNCTION</span></div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| <!-- ============ METHOD DETAIL ========== --> |
| <li class="blockList"> |
| <section class="methodDetails"><a id="method.detail"> |
| <!-- --> |
| </a> |
| <h2>Method Details</h2> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="chain(org.apache.calcite.sql.type.SqlReturnTypeInference...)">chain</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static</span> <span class="returnType"><a href="SqlReturnTypeInferenceChain.html" title="class in org.apache.calcite.sql.type">SqlReturnTypeInferenceChain</a></span> <span class="memberName">chain</span>​(<span class="arguments"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>... rules)</span></div> |
| <div class="block">Creates a return-type inference that applies a rule then a sequence of |
| rules, returning the first non-null result.</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="SqlReturnTypeInference.html#orElse(org.apache.calcite.sql.type.SqlReturnTypeInference)"><code>SqlReturnTypeInference.orElse(SqlReturnTypeInference)</code></a></dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="cascade(org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlTypeTransform...)">cascade</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static</span> <span class="returnType"><a href="SqlTypeTransformCascade.html" title="class in org.apache.calcite.sql.type">SqlTypeTransformCascade</a></span> <span class="memberName">cascade</span>​(<span class="arguments"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a> rule, |
| <a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a>... transforms)</span></div> |
| <div class="block">Creates a return-type inference that applies a rule then a sequence of |
| transforms.</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="SqlReturnTypeInference.html#andThen(org.apache.calcite.sql.type.SqlTypeTransform)"><code>SqlReturnTypeInference.andThen(SqlTypeTransform)</code></a></dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="explicit(org.apache.calcite.rel.type.RelProtoDataType)">explicit</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static</span> <span class="returnType"><a href="ExplicitReturnTypeInference.html" title="class in org.apache.calcite.sql.type">ExplicitReturnTypeInference</a></span> <span class="memberName">explicit</span>​(<span class="arguments"><a href="../../rel/type/RelProtoDataType.html" title="interface in org.apache.calcite.rel.type">RelProtoDataType</a> protoType)</span></div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="explicit(org.apache.calcite.rel.type.RelDataType)">explicit</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static</span> <span class="returnType"><a href="ExplicitReturnTypeInference.html" title="class in org.apache.calcite.sql.type">ExplicitReturnTypeInference</a></span> <span class="memberName">explicit</span>​(<span class="arguments"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Creates an inference rule which returns a copy of a given data type.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="explicit(org.apache.calcite.sql.type.SqlTypeName)">explicit</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static</span> <span class="returnType"><a href="ExplicitReturnTypeInference.html" title="class in org.apache.calcite.sql.type">ExplicitReturnTypeInference</a></span> <span class="memberName">explicit</span>​(<span class="arguments"><a href="SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a> typeName)</span></div> |
| <div class="block">Creates an inference rule which returns a type with no precision or scale, |
| such as <code>DATE</code>.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="explicit(org.apache.calcite.sql.type.SqlTypeName,int)">explicit</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static</span> <span class="returnType"><a href="ExplicitReturnTypeInference.html" title="class in org.apache.calcite.sql.type">ExplicitReturnTypeInference</a></span> <span class="memberName">explicit</span>​(<span class="arguments"><a href="SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a> typeName, |
| int precision)</span></div> |
| <div class="block">Creates an inference rule which returns a type with precision but no scale, |
| such as <code>VARCHAR(100)</code>.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="andThen(java.util.function.UnaryOperator,org.apache.calcite.sql.type.SqlReturnTypeInference)">andThen</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static</span> <span class="returnType"><a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span> <span class="memberName">andThen</span>​(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/function/UnaryOperator.html?is-external=true" title="class or interface in java.util.function" class="externalLink">UnaryOperator</a><<a href="../SqlOperatorBinding.html" title="class in org.apache.calcite.sql">SqlOperatorBinding</a>> bindingTransform, |
| <a href="SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a> typeInference)</span></div> |
| <div class="block">Returns a return-type inference that first transforms a binding and |
| then applies an inference. |
| |
| <p><a href="#stripOrderBy(org.apache.calcite.sql.SqlOperatorBinding)"><code>stripOrderBy(org.apache.calcite.sql.SqlOperatorBinding)</code></a> is an example of <code>bindingTransform</code>.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="stripOrderBy(org.apache.calcite.sql.SqlOperatorBinding)">stripOrderBy</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static</span> <span class="returnType"><a href="../SqlOperatorBinding.html" title="class in org.apache.calcite.sql">SqlOperatorBinding</a></span> <span class="memberName">stripOrderBy</span>​(<span class="arguments"><a href="../SqlOperatorBinding.html" title="class in org.apache.calcite.sql">SqlOperatorBinding</a> operatorBinding)</span></div> |
| <div class="block">Converts a binding of <code>FOO(x, y ORDER BY z)</code> |
| or <code>FOO(x, y ORDER BY z SEPARATOR s)</code> |
| to a binding of <code>FOO(x, y)</code>. |
| Used for <code>STRING_AGG</code> and <code>GROUP_CONCAT</code>.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="stripOrderBy(org.apache.calcite.sql.SqlCall)">stripOrderBy</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static</span> <span class="returnType"><a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a></span> <span class="memberName">stripOrderBy</span>​(<span class="arguments"><a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call)</span></div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="stripSeparator(org.apache.calcite.sql.SqlCall)">stripSeparator</a></h3> |
| <div class="memberSignature"><span class="modifiers">public static</span> <span class="returnType"><a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a></span> <span class="memberName">stripSeparator</span>​(<span class="arguments"><a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call)</span></div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </div> |
| <!-- ========= END OF CLASS DATA ========= --> |
| </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 class="navBarCell1Rev">Class</li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../help-doc.html">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><b>Apache Calcite</b></div> |
| </div> |
| <div class="subNav"> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li>Constr | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li>Constr | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| </div> |
| <a id="skip.navbar.bottom"> |
| <!-- --> |
| </a> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| </nav> |
| <p class="legalCopy"><small>Copyright © 2012-2021 Apache Software Foundation. All Rights Reserved.</small></p> |
| </footer> |
| </div> |
| </div> |
| </body> |
| </html> |