| <!DOCTYPE HTML> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc (17) --> |
| <title>SqlTypeUtil (Apache Calcite API)</title> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta name="description" content="declaration: package: org.apache.calcite.sql.type, class: SqlTypeUtil"> |
| <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.min.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style"> |
| <script type="text/javascript" src="../../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script> |
| <script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script> |
| </head> |
| <body class="class-declaration-page"> |
| <script type="text/javascript">var evenRowColor = "even-row-color"; |
| var oddRowColor = "odd-row-color"; |
| var tableTab = "table-tab"; |
| var activeTableTab = "active-table-tab"; |
| var pathtoroot = "../../../../../"; |
| loadScripts(document, 'script');</script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <div class="flex-box"> |
| <header role="banner" class="flex-header"> |
| <nav role="navigation"> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="top-nav" id="navbar-top"> |
| <div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div> |
| <div class="about-language"><b>Apache Calcite</b></div> |
| <ul id="navbar-top-firstrow" class="nav-list" title="Navigation"> |
| <li><a href="../../../../../index.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="nav-bar-cell1-rev">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#class">Help</a></li> |
| </ul> |
| </div> |
| <div class="sub-nav"> |
| <div> |
| <ul class="sub-nav-list"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li><a href="#constructor-summary">Constr</a> | </li> |
| <li><a href="#method-summary">Method</a></li> |
| </ul> |
| <ul class="sub-nav-list"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor-detail">Constr</a> | </li> |
| <li><a href="#method-detail">Method</a></li> |
| </ul> |
| </div> |
| <div class="nav-list-search"><label for="search-input">SEARCH:</label> |
| <input type="text" id="search-input" value="search" disabled="disabled"> |
| <input type="reset" id="reset-button" value="reset" disabled="disabled"> |
| </div> |
| </div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <span class="skip-nav" id="skip-navbar-top"></span></nav> |
| </header> |
| <div class="flex-content"> |
| <main role="main"> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="sub-title"><span class="package-label-in-type">Package</span> <a href="package-summary.html">org.apache.calcite.sql.type</a></div> |
| <h1 title="Class SqlTypeUtil" class="title">Class SqlTypeUtil</h1> |
| </div> |
| <div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a> |
| <div class="inheritance">org.apache.calcite.sql.type.SqlTypeUtil</div> |
| </div> |
| <section class="class-description" id="class-description"> |
| <hr> |
| <div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">SqlTypeUtil</span> |
| <span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div> |
| <div class="block">Contains utility methods used during SQL validation or type derivation.</div> |
| </section> |
| <section class="summary"> |
| <ul class="summary-list"> |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| <li> |
| <section class="constructor-summary" id="constructor-summary"> |
| <h2>Constructor Summary</h2> |
| <div class="caption"><span>Constructors</span></div> |
| <div class="summary-table two-column-summary"> |
| <div class="table-header col-first">Constructor</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">SqlTypeUtil</a>()</code></div> |
| <div class="col-last even-row-color"> </div> |
| </div> |
| </section> |
| </li> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <li> |
| <section class="method-summary" id="method-summary"> |
| <h2>Method Summary</h2> |
| <div id="method-summary-table"> |
| <div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button><button id="method-summary-table-tab6" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab6', 3)" class="table-tab">Deprecated Methods</button></div> |
| <div id="method-summary-table.tabpanel" role="tabpanel"> |
| <div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0"> |
| <div class="table-header col-first">Modifier and Type</div> |
| <div class="table-header col-second">Method</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#addCharsetAndCollation(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataTypeFactory)" class="member-name-link">addCharsetAndCollation</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| <a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Adds collation and charset to a character type, returns other types |
| unchanged.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#allNullable(java.util.List)" class="member-name-link">allNullable</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> types)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether all of array of types are nullable.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#areCharacterSetsMismatched(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">areCharacterSetsMismatched</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> t1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> t2)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Determines whether two types both have different character sets.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#areSameFamily(java.lang.Iterable)" class="member-name-link">areSameFamily</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> types)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether all types in a collection have the same family, as |
| determined by <code>isSameFamily(RelDataType, RelDataType)</code>.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#canAssignFrom(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">canAssignFrom</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> toType, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> fromType)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Tests whether a value can be assigned to a site.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#canCastFrom(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType,boolean)" class="member-name-link">canCastFrom</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> toType, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> fromType, |
| boolean coerce)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Compares two types and returns true if fromType can be cast to toType.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static int</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#comparePrecision(int,int)" class="member-name-link">comparePrecision</a><wbr>(int p0, |
| int p1)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a precision is greater or equal than another, |
| treating <a href="../../rel/type/RelDataType.html#PRECISION_NOT_SPECIFIED"><code>RelDataType.PRECISION_NOT_SPECIFIED</code></a> as infinity.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#containsNullable(java.util.List)" class="member-name-link">containsNullable</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> types)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether one or more of an array of types is nullable.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#containsNullable(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">containsNullable</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Determines whether a type or any of its fields (if a structured type) are |
| nullable.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../SqlDataTypeSpec.html" title="class in org.apache.calcite.sql">SqlDataTypeSpec</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#convertTypeToSpec(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">convertTypeToSpec</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Converts an instance of RelDataType to an instance of SqlDataTypeSpec.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../SqlDataTypeSpec.html" title="class in org.apache.calcite.sql">SqlDataTypeSpec</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#convertTypeToSpec(org.apache.calcite.rel.type.RelDataType,java.lang.String,int,int)" class="member-name-link">convertTypeToSpec</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> charSetName, |
| int maxPrecision, |
| int maxScale)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Converts an instance of RelDataType to an instance of SqlDataTypeSpec.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#createArrayType(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,boolean)" class="member-name-link">createArrayType</a><wbr>(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| boolean nullable)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#createEmptyStructType(org.apache.calcite.rel.type.RelDataTypeFactory)" class="member-name-link">createEmptyStructType</a><wbr>(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Records a struct type with no fields.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#createMapType(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType,boolean)" class="member-name-link">createMapType</a><wbr>(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> keyType, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> valueType, |
| boolean nullable)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#createMapTypeFromRecord(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">createMapTypeFromRecord</a><wbr>(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Creates a MAP type from a record type.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#createMultisetType(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,boolean)" class="member-name-link">createMultisetType</a><wbr>(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| boolean nullable)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#deriveAndCollectTypes(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope,java.util.List)" class="member-name-link">deriveAndCollectTypes</a><wbr>(<a href="../validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a> validator, |
| <a href="../validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> operands)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Iterates over all operands, derives their types, and collects them into |
| a list.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#deriveCollectionQueryComponentType(org.apache.calcite.sql.type.SqlTypeName,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">deriveCollectionQueryComponentType</a><wbr>(<a href="SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a> collectionType, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> origin)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Derives component type for ARRAY, MULTISET, MAP when input is sub-query.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#deriveType(org.apache.calcite.sql.SqlCallBinding)" class="member-name-link">deriveType</a><wbr>(<a href="../SqlCallBinding.html" title="class in org.apache.calcite.sql">SqlCallBinding</a> binding)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Derives type of the call via its binding.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#deriveType(org.apache.calcite.sql.SqlCallBinding,java.util.List)" class="member-name-link">deriveType</a><wbr>(<a href="../SqlCallBinding.html" title="class in org.apache.calcite.sql">SqlCallBinding</a> binding, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> nodes)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Derives types for the list of nodes.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#deriveType(org.apache.calcite.sql.SqlCallBinding,org.apache.calcite.sql.SqlNode)" class="member-name-link">deriveType</a><wbr>(<a href="../SqlCallBinding.html" title="class in org.apache.calcite.sql">SqlCallBinding</a> binding, |
| <a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Derives type of the given call under given binding.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#equalAsCollectionSansNullability(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">equalAsCollectionSansNullability</a><wbr>(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> factory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type2)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether two collection types are equal, ignoring nullability.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#equalAsMapSansNullability(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">equalAsMapSansNullability</a><wbr>(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> factory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type2)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether two map types are equal, ignoring nullability.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#equalAsStructSansNullability(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.sql.validate.SqlNameMatcher)" class="member-name-link">equalAsStructSansNullability</a><wbr>(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> factory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type2, |
| @Nullable <a href="../validate/SqlNameMatcher.html" title="interface in org.apache.calcite.sql.validate">SqlNameMatcher</a> nameMatcher)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether two struct types are equal, ignoring nullability.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#equalSansNullability(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">equalSansNullability</a><wbr>(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> factory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type2)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether two types are equal, ignoring nullability.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#equalSansNullability(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">equalSansNullability</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type2)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">This is a poorman's |
| <a href="#equalSansNullability(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)"><code>equalSansNullability(RelDataTypeFactory, RelDataType, RelDataType)</code></a>.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#extractLastNFields(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,int)" class="member-name-link">extractLastNFields</a><wbr>(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| int numToKeep)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Keeps only the last N fields and returns the new struct type.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>protected static <a href="../../rel/type/RelDataTypeFamily.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFamily</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#family(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">family</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static int</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#findField(org.apache.calcite.rel.type.RelDataType,java.lang.String)" class="member-name-link">findField</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> fieldName)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns the ordinal of a given field in a record type, or -1 if the field |
| is not found.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#flattenRecordType(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,int%5B%5D)" class="member-name-link">flattenRecordType</a><wbr>(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> recordType, |
| int @Nullable [] flatteningMap)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Flattens a record type by recursively expanding any fields which are |
| themselves record types.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static int</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getMaxByteSize(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">getMaxByteSize</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Computes the maximum number of bytes required to represent a value of a |
| type having user-defined precision.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getMaxPrecisionScaleDecimal(org.apache.calcite.rel.type.RelDataTypeFactory)" class="member-name-link">getMaxPrecisionScaleDecimal</a><wbr>(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> factory)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns a DECIMAL type with the maximum precision for the current |
| type system.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static long</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getMaxValue(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">getMaxValue</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns the maximum unscaled value of a numeric type.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static long</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getMinValue(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">getMinValue</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns the minimum unscaled value of a numeric type.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#getNumericJavaClassName(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">getNumericJavaClassName</a><wbr>(@Nullable <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span></div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#getPrimitiveWrapperJavaClassName(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">getPrimitiveWrapperJavaClassName</a><wbr>(@Nullable <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span></div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#hasCharacter(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">hasCharacter</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is a CHARACTER or contains a CHARACTER type.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#hasCharactor(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">hasCharactor</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">Use <a href="#hasCharacter(org.apache.calcite.rel.type.RelDataType)"><code>hasCharacter(RelDataType)</code></a></div> |
| </div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#hasScale(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">hasScale</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type's scale is set.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#inBooleanFamily(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">inBooleanFamily</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is in SqlTypeFamily.Boolean.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#inCharFamily(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">inCharFamily</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is in SqlTypeFamily.Character.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#inCharFamily(org.apache.calcite.sql.type.SqlTypeName)" class="member-name-link">inCharFamily</a><wbr>(<a href="SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a> typeName)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type name is in SqlTypeFamily.Character.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#inCharOrBinaryFamilies(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">inCharOrBinaryFamilies</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type family is either character or binary.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#inSameFamily(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">inSameFamily</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> t1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> t2)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether two types are in same type family.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#inSameFamilyOrNull(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">inSameFamilyOrNull</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> t1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> t2)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether two types are in same type family, or one or the other is |
| of type <a href="SqlTypeName.html#NULL"><code>SqlTypeName.NULL</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isApproximateNumeric(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isApproximateNumeric</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is numeric with approximate precision.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isArray(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isArray</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is ARRAY.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isAtomic(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isAtomic</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is atomic (datetime, numeric, string or |
| BOOLEAN).</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isBigint(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isBigint</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is BIGINT.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isBinary(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isBinary</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is BINARY.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isBoolean(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isBoolean</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is BOOLEAN.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isBoundedVariableWidth(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isBoundedVariableWidth</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is variable width with bounded precision.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isCharacter(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isCharacter</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is CHARACTER.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isCharTypeComparable(java.util.List)" class="member-name-link">isCharTypeComparable</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> argTypes)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Checks whether two types or more are char comparable.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isCharTypeComparable(org.apache.calcite.sql.SqlCallBinding,java.util.List,boolean)" class="member-name-link">isCharTypeComparable</a><wbr>(<a href="../SqlCallBinding.html" title="class in org.apache.calcite.sql">SqlCallBinding</a> binding, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> operands, |
| boolean throwOnFailure)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether the operands to a call are char type-comparable.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isCollection(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isCollection</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is ARRAY or MULTISET.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isComparable(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isComparable</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type2)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether two types are comparable.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isDate(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isDate</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is DATE.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isDatetime(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isDatetime</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is DATE, TIME, or TIMESTAMP.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isDecimal(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isDecimal</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is DECIMAL.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isDouble(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isDouble</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is DOUBLE.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isExactNumeric(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isExactNumeric</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is numeric with exact precision.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isFlat(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isFlat</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is flat.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isInterval(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isInterval</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is some kind of INTERVAL.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isIntType(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isIntType</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is one of the integer types.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#isJavaPrimitive(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isJavaPrimitive</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span></div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isLob(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isLob</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is a LOB of some kind.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isMap(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isMap</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is MAP.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isMultiset(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isMultiset</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is MULTISET.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isNull(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isNull</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is the NULL type.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isNumeric(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isNumeric</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is numeric.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isOfSameTypeName(java.util.Collection,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isOfSameTypeName</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><<a href="SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a>> typeNames, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns true if any element in <code>typeNames</code> matches |
| type.getSqlTypeName().</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isOfSameTypeName(org.apache.calcite.sql.type.SqlTypeName,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isOfSameTypeName</a><wbr>(<a href="SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a> typeName, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns typeName.equals(type.getSqlTypeName()).</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isRow(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isRow</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is ROW.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isString(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isString</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is STRING.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isTimestamp(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isTimestamp</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a type is TIMESTAMP.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isUnicode(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isUnicode</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Checks whether a type represents Unicode character data.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isValidDecimalValue(java.math.BigDecimal,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isValidDecimalValue</a><wbr>(@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/math/BigDecimal.html" title="class or interface in java.math" class="external-link">BigDecimal</a> value, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> toType)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether the decimal value is valid for the type.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#keepSourceTypeAndTargetNullability(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataTypeFactory)" class="member-name-link">keepSourceTypeAndTargetNullability</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> sourceRelDataType, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> targetRelDataType, |
| <a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Creates a RelDataType having the same type of the sourceRelDataType, |
| and the same nullability as the targetRelDataType.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static @Nullable <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#leastRestrictiveForComparison(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">leastRestrictiveForComparison</a><wbr>(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type2)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns the least restrictive type T, such that a value of type T can be |
| compared with values of type <code>type1</code> and <code>type2</code> using |
| <code>=</code>.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#makeNullableIfOperandsAre(org.apache.calcite.rel.type.RelDataTypeFactory,java.util.List,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">makeNullableIfOperandsAre</a><wbr>(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> argTypes, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Recreates a given RelDataType with nullability iff any of the param |
| argTypes are nullable.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#makeNullableIfOperandsAre(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlCall,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">makeNullableIfOperandsAre</a><wbr>(<a href="../validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a> validator, |
| <a href="../validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| <a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Recreates a given RelDataType with nullability iff any of the operands |
| of a call are nullable.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static int</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#maxPrecision(int,int)" class="member-name-link">maxPrecision</a><wbr>(int p0, |
| int p1)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns the larger of two precisions, treating |
| <a href="../../rel/type/RelDataType.html#PRECISION_NOT_SPECIFIED"><code>RelDataType.PRECISION_NOT_SPECIFIED</code></a> as infinity.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static long</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#maxValue(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">maxValue</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns the maximum value of an integral type, as a long value.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#needsNullIndicator(org.apache.calcite.rel.type.RelDataType)" class="member-name-link">needsNullIndicator</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> recordType)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#projectTypes(org.apache.calcite.rel.type.RelDataType,java.util.List)" class="member-name-link">projectTypes</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> rowType, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Number.html" title="class or interface in java.lang" class="external-link">Number</a>> requiredFields)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Selects data types of the specified fields from an input row type.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#promoteToRowType(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,java.lang.String)" class="member-name-link">promoteToRowType</a><wbr>(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> fieldName)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Promotes a type to a row type (does nothing if it already is one).</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#sameNamedType(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">sameNamedType</a><wbr>(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> t1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> t2)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Tests whether two types have the same name and structure, possibly with |
| differing modifiers.</div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="inherited-list"> |
| <h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3> |
| <code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <section class="details"> |
| <ul class="details-list"> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <li> |
| <section class="constructor-details" id="constructor-detail"> |
| <h2>Constructor Details</h2> |
| <ul class="member-list"> |
| <li> |
| <section class="detail" id="<init>()"> |
| <h3>SqlTypeUtil</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="element-name">SqlTypeUtil</span>()</div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| <!-- ============ METHOD DETAIL ========== --> |
| <li> |
| <section class="method-details" id="method-detail"> |
| <h2>Method Details</h2> |
| <ul class="member-list"> |
| <li> |
| <section class="detail" id="isCharTypeComparable(java.util.List)"> |
| <h3>isCharTypeComparable</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isCharTypeComparable</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> argTypes)</span></div> |
| <div class="block">Checks whether two types or more are char comparable.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>Returns true if all operands are of char type and if they are |
| comparable, i.e. of the same charset and collation of same charset</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isCharTypeComparable(org.apache.calcite.sql.SqlCallBinding,java.util.List,boolean)"> |
| <h3>isCharTypeComparable</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isCharTypeComparable</span><wbr><span class="parameters">(<a href="../SqlCallBinding.html" title="class in org.apache.calcite.sql">SqlCallBinding</a> binding, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> operands, |
| boolean throwOnFailure)</span></div> |
| <div class="block">Returns whether the operands to a call are char type-comparable.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>binding</code> - Binding of call to operands</dd> |
| <dd><code>operands</code> - Operands to check for compatibility; usually the |
| operands of the bound call, but not always</dd> |
| <dd><code>throwOnFailure</code> - Whether to throw an exception on failure</dd> |
| <dt>Returns:</dt> |
| <dd>whether operands are valid</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="deriveCollectionQueryComponentType(org.apache.calcite.sql.type.SqlTypeName,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>deriveCollectionQueryComponentType</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">deriveCollectionQueryComponentType</span><wbr><span class="parameters">(<a href="SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a> collectionType, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> origin)</span></div> |
| <div class="block">Derives component type for ARRAY, MULTISET, MAP when input is sub-query.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>origin</code> - original component type</dd> |
| <dt>Returns:</dt> |
| <dd>component type</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="deriveAndCollectTypes(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope,java.util.List)"> |
| <h3>deriveAndCollectTypes</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>></span> <span class="element-name">deriveAndCollectTypes</span><wbr><span class="parameters">(<a href="../validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a> validator, |
| <a href="../validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> operands)</span></div> |
| <div class="block">Iterates over all operands, derives their types, and collects them into |
| a list.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="deriveType(org.apache.calcite.sql.SqlCallBinding)"> |
| <h3>deriveType</h3> |
| <div class="member-signature"><span class="annotations">@API(since="1.26", |
| status=EXPERIMENTAL) |
| </span><span class="modifiers">public static</span> <span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">deriveType</span><wbr><span class="parameters">(<a href="../SqlCallBinding.html" title="class in org.apache.calcite.sql">SqlCallBinding</a> binding)</span></div> |
| <div class="block">Derives type of the call via its binding.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>binding</code> - binding to derive the type from</dd> |
| <dt>Returns:</dt> |
| <dd>datatype of the call</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="deriveType(org.apache.calcite.sql.SqlCallBinding,org.apache.calcite.sql.SqlNode)"> |
| <h3>deriveType</h3> |
| <div class="member-signature"><span class="annotations">@API(since="1.26", |
| status=EXPERIMENTAL) |
| </span><span class="modifiers">public static</span> <span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">deriveType</span><wbr><span class="parameters">(<a href="../SqlCallBinding.html" title="class in org.apache.calcite.sql">SqlCallBinding</a> binding, |
| <a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</span></div> |
| <div class="block">Derives type of the given call under given binding.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>binding</code> - binding to derive the type from</dd> |
| <dd><code>node</code> - node type to derive</dd> |
| <dt>Returns:</dt> |
| <dd>datatype of the given node</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="deriveType(org.apache.calcite.sql.SqlCallBinding,java.util.List)"> |
| <h3>deriveType</h3> |
| <div class="member-signature"><span class="annotations">@API(since="1.26", |
| status=EXPERIMENTAL) |
| </span><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>></span> <span class="element-name">deriveType</span><wbr><span class="parameters">(<a href="../SqlCallBinding.html" title="class in org.apache.calcite.sql">SqlCallBinding</a> binding, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> nodes)</span></div> |
| <div class="block">Derives types for the list of nodes.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>binding</code> - binding to derive the type from</dd> |
| <dd><code>nodes</code> - the list of nodes to derive types from</dd> |
| <dt>Returns:</dt> |
| <dd>the list of types of the given nodes</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="promoteToRowType(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,java.lang.String)"> |
| <h3>promoteToRowType</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">promoteToRowType</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> fieldName)</span></div> |
| <div class="block">Promotes a type to a row type (does nothing if it already is one).</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>type</code> - type to be promoted</dd> |
| <dd><code>fieldName</code> - name to give field in row type; null for default of |
| "ROW_VALUE"</dd> |
| <dt>Returns:</dt> |
| <dd>row type</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="makeNullableIfOperandsAre(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlCall,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>makeNullableIfOperandsAre</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">makeNullableIfOperandsAre</span><wbr><span class="parameters">(<a href="../validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a> validator, |
| <a href="../validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| <a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Recreates a given RelDataType with nullability iff any of the operands |
| of a call are nullable.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="makeNullableIfOperandsAre(org.apache.calcite.rel.type.RelDataTypeFactory,java.util.List,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>makeNullableIfOperandsAre</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">makeNullableIfOperandsAre</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> argTypes, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Recreates a given RelDataType with nullability iff any of the param |
| argTypes are nullable.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="allNullable(java.util.List)"> |
| <h3>allNullable</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">allNullable</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> types)</span></div> |
| <div class="block">Returns whether all of array of types are nullable.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="containsNullable(java.util.List)"> |
| <h3>containsNullable</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">containsNullable</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> types)</span></div> |
| <div class="block">Returns whether one or more of an array of types is nullable.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="containsNullable(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>containsNullable</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">containsNullable</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Determines whether a type or any of its fields (if a structured type) are |
| nullable.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="keepSourceTypeAndTargetNullability(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataTypeFactory)"> |
| <h3>keepSourceTypeAndTargetNullability</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">keepSourceTypeAndTargetNullability</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> sourceRelDataType, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> targetRelDataType, |
| <a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory)</span></div> |
| <div class="block">Creates a RelDataType having the same type of the sourceRelDataType, |
| and the same nullability as the targetRelDataType.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isOfSameTypeName(org.apache.calcite.sql.type.SqlTypeName,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isOfSameTypeName</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isOfSameTypeName</span><wbr><span class="parameters">(<a href="SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a> typeName, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns typeName.equals(type.getSqlTypeName()). If |
| typeName.equals(SqlTypeName.Any) true is always returned.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isOfSameTypeName(java.util.Collection,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isOfSameTypeName</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isOfSameTypeName</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><<a href="SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a>> typeNames, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns true if any element in <code>typeNames</code> matches |
| type.getSqlTypeName().</div> |
| <dl class="notes"> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list-long"> |
| <li><a href="#isOfSameTypeName(org.apache.calcite.sql.type.SqlTypeName,org.apache.calcite.rel.type.RelDataType)"><code>isOfSameTypeName(SqlTypeName, RelDataType)</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isDatetime(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isDatetime</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isDatetime</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is DATE, TIME, or TIMESTAMP.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isDate(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isDate</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isDate</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is DATE.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isTimestamp(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isTimestamp</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isTimestamp</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is TIMESTAMP.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isInterval(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isInterval</h3> |
| <div class="member-signature"><span class="annotations">@EnsuresNonNullIf(expression="#1.getIntervalQualifier()", |
| result=true) |
| </span><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isInterval</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is some kind of INTERVAL.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="inCharFamily(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>inCharFamily</h3> |
| <div class="member-signature"><span class="annotations">@EnsuresNonNullIf(expression="#1.getCharset()",result=true) @EnsuresNonNullIf(expression="#1.getCollation()",result=true) |
| </span><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">inCharFamily</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is in SqlTypeFamily.Character.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="inCharFamily(org.apache.calcite.sql.type.SqlTypeName)"> |
| <h3>inCharFamily</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">inCharFamily</span><wbr><span class="parameters">(<a href="SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a> typeName)</span></div> |
| <div class="block">Returns whether a type name is in SqlTypeFamily.Character.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="inBooleanFamily(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>inBooleanFamily</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">inBooleanFamily</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is in SqlTypeFamily.Boolean.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="inSameFamily(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>inSameFamily</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">inSameFamily</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> t1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> t2)</span></div> |
| <div class="block">Returns whether two types are in same type family.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="inSameFamilyOrNull(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>inSameFamilyOrNull</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">inSameFamilyOrNull</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> t1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> t2)</span></div> |
| <div class="block">Returns whether two types are in same type family, or one or the other is |
| of type <a href="SqlTypeName.html#NULL"><code>SqlTypeName.NULL</code></a>.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="inCharOrBinaryFamilies(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>inCharOrBinaryFamilies</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">inCharOrBinaryFamilies</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type family is either character or binary.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isLob(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isLob</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isLob</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is a LOB of some kind.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isBoundedVariableWidth(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isBoundedVariableWidth</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isBoundedVariableWidth</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is variable width with bounded precision.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isIntType(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isIntType</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isIntType</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is one of the integer types.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isDecimal(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isDecimal</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isDecimal</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is DECIMAL.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isDouble(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isDouble</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isDouble</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is DOUBLE.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isBigint(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isBigint</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isBigint</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is BIGINT.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isExactNumeric(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isExactNumeric</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isExactNumeric</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is numeric with exact precision.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="hasScale(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>hasScale</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">hasScale</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type's scale is set.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="maxValue(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>maxValue</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">long</span> <span class="element-name">maxValue</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns the maximum value of an integral type, as a long value.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isApproximateNumeric(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isApproximateNumeric</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isApproximateNumeric</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is numeric with approximate precision.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isNumeric(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isNumeric</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isNumeric</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is numeric.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isNull(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isNull</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isNull</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is the NULL type.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="sameNamedType(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>sameNamedType</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">sameNamedType</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> t1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> t2)</span></div> |
| <div class="block">Tests whether two types have the same name and structure, possibly with |
| differing modifiers. For example, VARCHAR(1) and VARCHAR(10) are |
| considered the same, while VARCHAR(1) and CHAR(1) are considered |
| different. Likewise, VARCHAR(1) MULTISET and VARCHAR(10) MULTISET are |
| considered the same.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>true if types have same name and structure</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getMaxByteSize(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>getMaxByteSize</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">int</span> <span class="element-name">getMaxByteSize</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Computes the maximum number of bytes required to represent a value of a |
| type having user-defined precision. This computation assumes no overhead |
| such as length indicators and NUL-terminators. Complex types for which |
| multiple representations are possible (e.g. DECIMAL or TIMESTAMP) return |
| 0.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>type</code> - type for which to compute storage</dd> |
| <dt>Returns:</dt> |
| <dd>maximum bytes, or 0 for a fixed-width type or type with unknown |
| maximum</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getMinValue(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>getMinValue</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">long</span> <span class="element-name">getMinValue</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns the minimum unscaled value of a numeric type.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>type</code> - a numeric type</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getMaxValue(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>getMaxValue</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">long</span> <span class="element-name">getMaxValue</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns the maximum unscaled value of a numeric type.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>type</code> - a numeric type</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isJavaPrimitive(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isJavaPrimitive</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isJavaPrimitive</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div> |
| <div class="block">Returns whether a type has a representation as a Java primitive (ignoring |
| nullability).</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getPrimitiveWrapperJavaClassName(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>getPrimitiveWrapperJavaClassName</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public static</span> <span class="return-type">@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">getPrimitiveWrapperJavaClassName</span><wbr><span class="parameters">(@Nullable <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div> |
| <div class="block">Returns the class name of the wrapper for the primitive data type.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getNumericJavaClassName(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>getNumericJavaClassName</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public static</span> <span class="return-type">@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">getNumericJavaClassName</span><wbr><span class="parameters">(@Nullable <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div> |
| <div class="block">Returns the class name of a numeric data type.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="canAssignFrom(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>canAssignFrom</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">canAssignFrom</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> toType, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> fromType)</span></div> |
| <div class="block">Tests whether a value can be assigned to a site.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>toType</code> - type of the target site</dd> |
| <dd><code>fromType</code> - type of the source value</dd> |
| <dt>Returns:</dt> |
| <dd>true iff assignable</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="areCharacterSetsMismatched(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>areCharacterSetsMismatched</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">areCharacterSetsMismatched</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> t1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> t2)</span></div> |
| <div class="block">Determines whether two types both have different character sets. If one |
| or the other type has no character set (e.g. in cast from INT to |
| VARCHAR), that is not a mismatch.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>t1</code> - first type</dd> |
| <dd><code>t2</code> - second type</dd> |
| <dt>Returns:</dt> |
| <dd>true iff mismatched</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="canCastFrom(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType,boolean)"> |
| <h3>canCastFrom</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">canCastFrom</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> toType, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> fromType, |
| boolean coerce)</span></div> |
| <div class="block">Compares two types and returns true if fromType can be cast to toType. |
| |
| <p>REVIEW jvs 17-Dec-2004: the coerce param below shouldn't really be |
| necessary. We're using it as a hack because |
| <a href="SqlTypeFactoryImpl.html#leastRestrictive(java.util.List)"><code>SqlTypeFactoryImpl.leastRestrictive(java.util.List<org.apache.calcite.rel.type.RelDataType>)</code></a> isn't complete enough |
| yet. Once it is, this param (and the non-coerce rules of |
| <a href="SqlTypeAssignmentRule.html" title="class in org.apache.calcite.sql.type"><code>SqlTypeAssignmentRule</code></a>) should go away.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>toType</code> - target of assignment</dd> |
| <dd><code>fromType</code> - source of assignment</dd> |
| <dd><code>coerce</code> - if true, the SQL rules for CAST are used; if false, the |
| rules are similar to Java; e.g. you can't assign short x = |
| (int) y, and you can't assign int x = (String) z.</dd> |
| <dt>Returns:</dt> |
| <dd>true iff cast is legal</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="flattenRecordType(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,int[])"> |
| <h3>flattenRecordType</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">flattenRecordType</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> recordType, |
| int @Nullable [] flatteningMap)</span></div> |
| <div class="block">Flattens a record type by recursively expanding any fields which are |
| themselves record types. For each record type, a representative null |
| value field is also prepended (with state NULL for a null value and FALSE |
| for non-null), and all component types are asserted to be nullable, since |
| SQL doesn't allow NOT NULL to be specified on attributes.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>typeFactory</code> - factory which should produced flattened type</dd> |
| <dd><code>recordType</code> - type with possible nesting</dd> |
| <dd><code>flatteningMap</code> - if non-null, receives map from unflattened ordinal |
| to flattened ordinal (must have length at least |
| recordType.getFieldList().size())</dd> |
| <dt>Returns:</dt> |
| <dd>flattened equivalent</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="needsNullIndicator(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>needsNullIndicator</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">needsNullIndicator</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> recordType)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="convertTypeToSpec(org.apache.calcite.rel.type.RelDataType,java.lang.String,int,int)"> |
| <h3>convertTypeToSpec</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../SqlDataTypeSpec.html" title="class in org.apache.calcite.sql">SqlDataTypeSpec</a></span> <span class="element-name">convertTypeToSpec</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> charSetName, |
| int maxPrecision, |
| int maxScale)</span></div> |
| <div class="block">Converts an instance of RelDataType to an instance of SqlDataTypeSpec.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>type</code> - type descriptor</dd> |
| <dd><code>charSetName</code> - charSet name</dd> |
| <dd><code>maxPrecision</code> - The max allowed precision.</dd> |
| <dd><code>maxScale</code> - max allowed scale</dd> |
| <dt>Returns:</dt> |
| <dd>corresponding parse representation</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="convertTypeToSpec(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>convertTypeToSpec</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../SqlDataTypeSpec.html" title="class in org.apache.calcite.sql">SqlDataTypeSpec</a></span> <span class="element-name">convertTypeToSpec</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Converts an instance of RelDataType to an instance of SqlDataTypeSpec.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>type</code> - type descriptor</dd> |
| <dt>Returns:</dt> |
| <dd>corresponding parse representation</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="createMultisetType(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,boolean)"> |
| <h3>createMultisetType</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">createMultisetType</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| boolean nullable)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="createArrayType(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,boolean)"> |
| <h3>createArrayType</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">createArrayType</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| boolean nullable)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="createMapType(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType,boolean)"> |
| <h3>createMapType</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">createMapType</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> keyType, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> valueType, |
| boolean nullable)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="createMapTypeFromRecord(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>createMapTypeFromRecord</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">createMapTypeFromRecord</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Creates a MAP type from a record type. The record type must have exactly |
| two fields.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="addCharsetAndCollation(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataTypeFactory)"> |
| <h3>addCharsetAndCollation</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">addCharsetAndCollation</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| <a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory)</span></div> |
| <div class="block">Adds collation and charset to a character type, returns other types |
| unchanged.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>type</code> - Type</dd> |
| <dd><code>typeFactory</code> - Type factory</dd> |
| <dt>Returns:</dt> |
| <dd>Type with added charset and collation, or unchanged type if it is |
| not a char type.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="equalSansNullability(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>equalSansNullability</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">equalSansNullability</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> factory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type2)</span></div> |
| <div class="block">Returns whether two types are equal, ignoring nullability. |
| |
| <p>They need not come from the same factory.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>factory</code> - Type factory</dd> |
| <dd><code>type1</code> - First type</dd> |
| <dd><code>type2</code> - Second type</dd> |
| <dt>Returns:</dt> |
| <dd>whether types are equal, ignoring nullability</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="equalSansNullability(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>equalSansNullability</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">equalSansNullability</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type2)</span></div> |
| <div class="block">This is a poorman's |
| <a href="#equalSansNullability(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)"><code>equalSansNullability(RelDataTypeFactory, RelDataType, RelDataType)</code></a>. |
| |
| <p>We assume that "not null" is represented in the type's digest |
| as a trailing "NOT NULL" (case sensitive). |
| |
| <p>If you got a type factory, <a href="#equalSansNullability(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)"><code>equalSansNullability(RelDataTypeFactory, RelDataType, RelDataType)</code></a> |
| is preferred.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>type1</code> - First type</dd> |
| <dd><code>type2</code> - Second type</dd> |
| <dt>Returns:</dt> |
| <dd>true if the types are equal or the only difference is nullability</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="equalAsCollectionSansNullability(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>equalAsCollectionSansNullability</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">equalAsCollectionSansNullability</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> factory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type2)</span></div> |
| <div class="block">Returns whether two collection types are equal, ignoring nullability. |
| |
| <p>They need not come from the same factory.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>factory</code> - Type factory</dd> |
| <dd><code>type1</code> - First type</dd> |
| <dd><code>type2</code> - Second type</dd> |
| <dt>Returns:</dt> |
| <dd>Whether types are equal, ignoring nullability</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="equalAsMapSansNullability(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>equalAsMapSansNullability</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">equalAsMapSansNullability</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> factory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type2)</span></div> |
| <div class="block">Returns whether two map types are equal, ignoring nullability. |
| |
| <p>They need not come from the same factory.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>factory</code> - Type factory</dd> |
| <dd><code>type1</code> - First type</dd> |
| <dd><code>type2</code> - Second type</dd> |
| <dt>Returns:</dt> |
| <dd>Whether types are equal, ignoring nullability</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="equalAsStructSansNullability(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.sql.validate.SqlNameMatcher)"> |
| <h3>equalAsStructSansNullability</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">equalAsStructSansNullability</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> factory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type2, |
| @Nullable <a href="../validate/SqlNameMatcher.html" title="interface in org.apache.calcite.sql.validate">SqlNameMatcher</a> nameMatcher)</span></div> |
| <div class="block">Returns whether two struct types are equal, ignoring nullability. |
| |
| <p>They do not need to come from the same factory.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>factory</code> - Type factory</dd> |
| <dd><code>type1</code> - First type</dd> |
| <dd><code>type2</code> - Second type</dd> |
| <dd><code>nameMatcher</code> - Name matcher used to compare the field names, if null, |
| the field names are also ignored</dd> |
| <dt>Returns:</dt> |
| <dd>Whether types are equal, ignoring nullability</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="findField(org.apache.calcite.rel.type.RelDataType,java.lang.String)"> |
| <h3>findField</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">int</span> <span class="element-name">findField</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> fieldName)</span></div> |
| <div class="block">Returns the ordinal of a given field in a record type, or -1 if the field |
| is not found. |
| |
| <p>The <code>fieldName</code> is always simple, if the field is nested within a record field, |
| returns index of the outer field instead. i.g. for row type |
| (a int, b (b1 bigint, b2 varchar(20) not null)), returns 1 for both simple name "b1" and "b2".</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>type</code> - Record type</dd> |
| <dd><code>fieldName</code> - Name of field</dd> |
| <dt>Returns:</dt> |
| <dd>Ordinal of field</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="projectTypes(org.apache.calcite.rel.type.RelDataType,java.util.List)"> |
| <h3>projectTypes</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>></span> <span class="element-name">projectTypes</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> rowType, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Number.html" title="class or interface in java.lang" class="external-link">Number</a>> requiredFields)</span></div> |
| <div class="block">Selects data types of the specified fields from an input row type. |
| This is useful when identifying data types of a function that is going |
| to operate on inputs that are specified as field ordinals (e.g. |
| aggregate calls).</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>rowType</code> - input row type</dd> |
| <dd><code>requiredFields</code> - ordinals of the projected fields</dd> |
| <dt>Returns:</dt> |
| <dd>list of data types that are requested by requiredFields</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="createEmptyStructType(org.apache.calcite.rel.type.RelDataTypeFactory)"> |
| <h3>createEmptyStructType</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">createEmptyStructType</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory)</span></div> |
| <div class="block">Records a struct type with no fields.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>typeFactory</code> - Type factory</dd> |
| <dt>Returns:</dt> |
| <dd>Struct type with no fields</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isFlat(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isFlat</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isFlat</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is flat. It is not flat if it is a record type that |
| has one or more fields that are themselves record types.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isComparable(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isComparable</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isComparable</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type2)</span></div> |
| <div class="block">Returns whether two types are comparable. They need to be scalar types of |
| the same family, or struct types whose fields are pairwise comparable.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>type1</code> - First type</dd> |
| <dd><code>type2</code> - Second type</dd> |
| <dt>Returns:</dt> |
| <dd>Whether types are comparable</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="leastRestrictiveForComparison(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>leastRestrictiveForComparison</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">@Nullable <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">leastRestrictiveForComparison</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type1, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type2)</span></div> |
| <div class="block">Returns the least restrictive type T, such that a value of type T can be |
| compared with values of type <code>type1</code> and <code>type2</code> using |
| <code>=</code>.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="family(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>family</h3> |
| <div class="member-signature"><span class="modifiers">protected static</span> <span class="return-type"><a href="../../rel/type/RelDataTypeFamily.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFamily</a></span> <span class="element-name">family</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="areSameFamily(java.lang.Iterable)"> |
| <h3>areSameFamily</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">areSameFamily</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> types)</span></div> |
| <div class="block">Returns whether all types in a collection have the same family, as |
| determined by <code>isSameFamily(RelDataType, RelDataType)</code>.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>types</code> - Types to check</dd> |
| <dt>Returns:</dt> |
| <dd>true if all types are of the same family</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isUnicode(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isUnicode</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isUnicode</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Checks whether a type represents Unicode character data.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>type</code> - type to test</dd> |
| <dt>Returns:</dt> |
| <dd>whether type represents Unicode character data</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="maxPrecision(int,int)"> |
| <h3>maxPrecision</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">int</span> <span class="element-name">maxPrecision</span><wbr><span class="parameters">(int p0, |
| int p1)</span></div> |
| <div class="block">Returns the larger of two precisions, treating |
| <a href="../../rel/type/RelDataType.html#PRECISION_NOT_SPECIFIED"><code>RelDataType.PRECISION_NOT_SPECIFIED</code></a> as infinity.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="comparePrecision(int,int)"> |
| <h3>comparePrecision</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">int</span> <span class="element-name">comparePrecision</span><wbr><span class="parameters">(int p0, |
| int p1)</span></div> |
| <div class="block">Returns whether a precision is greater or equal than another, |
| treating <a href="../../rel/type/RelDataType.html#PRECISION_NOT_SPECIFIED"><code>RelDataType.PRECISION_NOT_SPECIFIED</code></a> as infinity.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isArray(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isArray</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isArray</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is ARRAY.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isRow(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isRow</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isRow</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is ROW.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isMap(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isMap</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isMap</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is MAP.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isMultiset(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isMultiset</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isMultiset</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is MULTISET.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isCollection(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isCollection</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isCollection</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is ARRAY or MULTISET.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isCharacter(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isCharacter</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isCharacter</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is CHARACTER.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="hasCharactor(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>hasCharactor</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">hasCharactor</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">Use <a href="#hasCharacter(org.apache.calcite.rel.type.RelDataType)"><code>hasCharacter(RelDataType)</code></a></div> |
| </div> |
| <div class="block">Returns whether a type is a CHARACTER or contains a CHARACTER type.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="hasCharacter(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>hasCharacter</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">hasCharacter</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is a CHARACTER or contains a CHARACTER type.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isString(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isString</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isString</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is STRING.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isBoolean(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isBoolean</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isBoolean</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is BOOLEAN.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isBinary(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isBinary</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isBinary</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is BINARY.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isAtomic(org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isAtomic</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isAtomic</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Returns whether a type is atomic (datetime, numeric, string or |
| BOOLEAN).</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getMaxPrecisionScaleDecimal(org.apache.calcite.rel.type.RelDataTypeFactory)"> |
| <h3>getMaxPrecisionScaleDecimal</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">getMaxPrecisionScaleDecimal</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> factory)</span></div> |
| <div class="block">Returns a DECIMAL type with the maximum precision for the current |
| type system.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="extractLastNFields(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rel.type.RelDataType,int)"> |
| <h3>extractLastNFields</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">extractLastNFields</span><wbr><span class="parameters">(<a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| int numToKeep)</span></div> |
| <div class="block">Keeps only the last N fields and returns the new struct type.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isValidDecimalValue(java.math.BigDecimal,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isValidDecimalValue</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isValidDecimalValue</span><wbr><span class="parameters">(@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/math/BigDecimal.html" title="class or interface in java.math" class="external-link">BigDecimal</a> value, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> toType)</span></div> |
| <div class="block">Returns whether the decimal value is valid for the type. For example, 1111.11 is not |
| valid for DECIMAL(3, 1) since it overflows.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>value</code> - Value of literal</dd> |
| <dd><code>toType</code> - Type of the literal</dd> |
| <dt>Returns:</dt> |
| <dd>whether the value is valid for the type</dd> |
| </dl> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <!-- ========= END OF CLASS DATA ========= --> |
| </main> |
| <footer role="contentinfo"> |
| <hr> |
| <p class="legal-copy"><small>Copyright © 2012-2023 Apache Software Foundation. All Rights Reserved.</small></p> |
| </footer> |
| </div> |
| </div> |
| </body> |
| </html> |