blob: 8b264e47543f08f46f92229cb87755f2770c61c3 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>RelDataTypeFactory (Apache Calcite API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="RelDataTypeFactory (Apache Calcite API)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":38,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/RelDataTypeFactory.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.rel.type</a></div>
<h2 title="Interface RelDataTypeFactory" class="title">Interface RelDataTypeFactory</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><code><a href="../../adapter/java/JavaTypeFactory.html" title="interface in org.apache.calcite.adapter.java">JavaTypeFactory</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../../adapter/geode/util/JavaTypeFactoryExtImpl.html" title="class in org.apache.calcite.adapter.geode.util">JavaTypeFactoryExtImpl</a></code>, <code><a href="../../jdbc/JavaTypeFactoryImpl.html" title="class in org.apache.calcite.jdbc">JavaTypeFactoryImpl</a></code>, <code><a href="RelDataTypeFactoryImpl.html" title="class in org.apache.calcite.rel.type">RelDataTypeFactoryImpl</a></code>, <code><a href="../../sql/type/SqlTypeFactoryImpl.html" title="class in org.apache.calcite.sql.type">SqlTypeFactoryImpl</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">RelDataTypeFactory</span></pre>
<div class="block">RelDataTypeFactory is a factory for datatype descriptors. It defines methods
for instantiating and combining SQL, Java, and collection types. The factory
also provides methods for return type inference for arithmetic in cases where
SQL 2003 is implementation defined or impractical.
<p>This interface is an example of the
<a href="../../util/Glossary.html#ABSTRACT_FACTORY_PATTERN"><code>abstract factory pattern</code></a>.
Any implementation of <code>RelDataTypeFactory</code> must ensure that type
objects are canonical: two types are equal if and only if they are
represented by the same Java object. This reduces memory consumption and
comparison cost.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelDataTypeFactory.Builder.html" title="class in org.apache.calcite.rel.type">RelDataTypeFactory.Builder</a></span></code></th>
<td class="colLast">
<div class="block">Fluid API to build a list of fields.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelDataTypeFactory.FieldInfo.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory.FieldInfo</a></span></code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelDataTypeFactory.FieldInfoBuilder.html" title="class in org.apache.calcite.rel.type">RelDataTypeFactory.FieldInfoBuilder</a></span></code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="RelDataTypeFactory.FieldInfoBuilder.html" title="class in org.apache.calcite.rel.type">RelDataTypeFactory.FieldInfoBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#builder()">builder</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates a
<a href="RelDataTypeFactory.FieldInfoBuilder.html" title="class in org.apache.calcite.rel.type"><code>RelDataTypeFactory.FieldInfoBuilder</code></a>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#copyType(org.apache.calcite.rel.type.RelDataType)">copyType</a></span>&#8203;(<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Duplicates a type, making a deep copy.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createArrayType(org.apache.calcite.rel.type.RelDataType,long)">createArrayType</a></span>&#8203;(<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;elementType,
long&nbsp;maxCardinality)</code></th>
<td class="colLast">
<div class="block">Creates an array type.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createDecimalProduct(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)">createDecimalProduct</a></span>&#8203;(<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type1,
<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type2)</code></th>
<td class="colLast">
<div class="block">Infers the return type of a decimal multiplication.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createDecimalQuotient(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)">createDecimalQuotient</a></span>&#8203;(<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type1,
<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type2)</code></th>
<td class="colLast">
<div class="block">Infers the return type of a decimal division.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createJavaType(java.lang.Class)">createJavaType</a></span>&#8203;(java.lang.Class&nbsp;clazz)</code></th>
<td class="colLast">
<div class="block">Creates a type that corresponds to a Java class.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createJoinType(org.apache.calcite.rel.type.RelDataType...)">createJoinType</a></span>&#8203;(<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>...&nbsp;types)</code></th>
<td class="colLast">
<div class="block">Creates a cartesian product type.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createMapType(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)">createMapType</a></span>&#8203;(<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;keyType,
<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;valueType)</code></th>
<td class="colLast">
<div class="block">Creates a map type.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createMultisetType(org.apache.calcite.rel.type.RelDataType,long)">createMultisetType</a></span>&#8203;(<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;elementType,
long&nbsp;maxCardinality)</code></th>
<td class="colLast">
<div class="block">Creates a multiset type.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createSqlIntervalType(org.apache.calcite.sql.SqlIntervalQualifier)">createSqlIntervalType</a></span>&#8203;(<a href="../../sql/SqlIntervalQualifier.html" title="class in org.apache.calcite.sql">SqlIntervalQualifier</a>&nbsp;intervalQualifier)</code></th>
<td class="colLast">
<div class="block">Creates a SQL interval type.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createSqlType(org.apache.calcite.sql.type.SqlTypeName)">createSqlType</a></span>&#8203;(<a href="../../sql/type/SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a>&nbsp;typeName)</code></th>
<td class="colLast">
<div class="block">Creates a SQL type with no precision or scale.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createSqlType(org.apache.calcite.sql.type.SqlTypeName,int)">createSqlType</a></span>&#8203;(<a href="../../sql/type/SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a>&nbsp;typeName,
int&nbsp;precision)</code></th>
<td class="colLast">
<div class="block">Creates a SQL type with length (precision) but no scale.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createSqlType(org.apache.calcite.sql.type.SqlTypeName,int,int)">createSqlType</a></span>&#8203;(<a href="../../sql/type/SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a>&nbsp;typeName,
int&nbsp;precision,
int&nbsp;scale)</code></th>
<td class="colLast">
<div class="block">Creates a SQL type with precision and scale.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createStructType(java.util.List)">createStructType</a></span>&#8203;(java.util.List&lt;? extends java.util.Map.Entry&lt;java.lang.String,&#8203;<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&gt;&nbsp;fieldList)</code></th>
<td class="colLast">
<div class="block">Creates a type that represents a structured collection of fieldList,
obtaining the field information from a list of (name, type) pairs.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createStructType(java.util.List,java.util.List)">createStructType</a></span>&#8203;(java.util.List&lt;<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;typeList,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNameList)</code></th>
<td class="colLast">
<div class="block">Creates a type that represents a structured collection of fields.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createStructType(org.apache.calcite.rel.type.RelDataTypeFactory.FieldInfo)">createStructType</a></span>&#8203;(<a href="RelDataTypeFactory.FieldInfo.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory.FieldInfo</a>&nbsp;fieldInfo)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createStructType(org.apache.calcite.rel.type.StructKind,java.util.List,java.util.List)">createStructType</a></span>&#8203;(<a href="StructKind.html" title="enum in org.apache.calcite.rel.type">StructKind</a>&nbsp;kind,
java.util.List&lt;<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;typeList,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNameList)</code></th>
<td class="colLast">
<div class="block">Creates a type that represents a structured collection of fields, given
lists of the names and types of the fields.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createTypeWithCharsetAndCollation(org.apache.calcite.rel.type.RelDataType,java.nio.charset.Charset,org.apache.calcite.sql.SqlCollation)">createTypeWithCharsetAndCollation</a></span>&#8203;(<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type,
java.nio.charset.Charset&nbsp;charset,
<a href="../../sql/SqlCollation.html" title="class in org.apache.calcite.sql">SqlCollation</a>&nbsp;collation)</code></th>
<td class="colLast">
<div class="block">Creates a type that is the same as another type but with possibly
different charset or collation.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createTypeWithNullability(org.apache.calcite.rel.type.RelDataType,boolean)">createTypeWithNullability</a></span>&#8203;(<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type,
boolean&nbsp;nullable)</code></th>
<td class="colLast">
<div class="block">Creates a type that is the same as another type but with possibly
different nullability.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createUnknownType()">createUnknownType</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates a SQL type that represents the "unknown" type.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>java.nio.charset.Charset</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDefaultCharset()">getDefaultCharset</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="RelDataTypeSystem.html" title="interface in org.apache.calcite.rel.type">RelDataTypeSystem</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTypeSystem()">getTypeSystem</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the type system.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#leastRestrictive(java.util.List)">leastRestrictive</a></span>&#8203;(java.util.List&lt;<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;types)</code></th>
<td class="colLast">
<div class="block">Returns the most general of a set of types (that is, one type to which
they can all be cast), or null if conversion is not possible.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#useDoubleMultiplication(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)">useDoubleMultiplication</a></span>&#8203;(<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type1,
<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type2)</code></th>
<td class="colLast">
<div class="block">Returns whether a decimal multiplication should be implemented by casting
arguments to double values.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getTypeSystem()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTypeSystem</h4>
<pre class="methodSignature"><a href="RelDataTypeSystem.html" title="interface in org.apache.calcite.rel.type">RelDataTypeSystem</a>&nbsp;getTypeSystem()</pre>
<div class="block">Returns the type system.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Type system</dd>
</dl>
</li>
</ul>
<a id="createJavaType(java.lang.Class)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createJavaType</h4>
<pre class="methodSignature"><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;createJavaType&#8203;(java.lang.Class&nbsp;clazz)</pre>
<div class="block">Creates a type that corresponds to a Java class.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>clazz</code> - the Java class used to define the type</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>canonical Java type descriptor</dd>
</dl>
</li>
</ul>
<a id="createJoinType(org.apache.calcite.rel.type.RelDataType...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createJoinType</h4>
<pre class="methodSignature"><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;createJoinType&#8203;(<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>...&nbsp;types)</pre>
<div class="block">Creates a cartesian product type.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>types</code> - array of types to be joined</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>canonical join type descriptor</dd>
</dl>
</li>
</ul>
<a id="createStructType(org.apache.calcite.rel.type.StructKind,java.util.List,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createStructType</h4>
<pre class="methodSignature"><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;createStructType&#8203;(<a href="StructKind.html" title="enum in org.apache.calcite.rel.type">StructKind</a>&nbsp;kind,
java.util.List&lt;<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;typeList,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNameList)</pre>
<div class="block">Creates a type that represents a structured collection of fields, given
lists of the names and types of the fields.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>kind</code> - Name resolution policy</dd>
<dd><code>typeList</code> - types of the fields</dd>
<dd><code>fieldNameList</code> - names of the fields</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>canonical struct type descriptor</dd>
</dl>
</li>
</ul>
<a id="createStructType(java.util.List,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createStructType</h4>
<pre class="methodSignature"><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;createStructType&#8203;(java.util.List&lt;<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;typeList,
java.util.List&lt;java.lang.String&gt;&nbsp;fieldNameList)</pre>
<div class="block">Creates a type that represents a structured collection of fields.
Shorthand for <code>createStructType(StructKind.FULLY_QUALIFIED, typeList,
fieldNameList)</code>.</div>
</li>
</ul>
<a id="createStructType(org.apache.calcite.rel.type.RelDataTypeFactory.FieldInfo)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createStructType</h4>
<pre class="methodSignature">@Deprecated
<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;createStructType&#8203;(<a href="RelDataTypeFactory.FieldInfo.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory.FieldInfo</a>&nbsp;fieldInfo)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates a type that represents a structured collection of fields,
obtaining the field information via a callback.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fieldInfo</code> - callback for field information</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>canonical struct type descriptor</dd>
</dl>
</li>
</ul>
<a id="createStructType(java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createStructType</h4>
<pre class="methodSignature"><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;createStructType&#8203;(java.util.List&lt;? extends java.util.Map.Entry&lt;java.lang.String,&#8203;<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&gt;&nbsp;fieldList)</pre>
<div class="block">Creates a type that represents a structured collection of fieldList,
obtaining the field information from a list of (name, type) pairs.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fieldList</code> - List of (name, type) pairs</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>canonical struct type descriptor</dd>
</dl>
</li>
</ul>
<a id="createArrayType(org.apache.calcite.rel.type.RelDataType,long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createArrayType</h4>
<pre class="methodSignature"><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;createArrayType&#8203;(<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;elementType,
long&nbsp;maxCardinality)</pre>
<div class="block">Creates an array type. Arrays are ordered collections of elements.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>elementType</code> - type of the elements of the array</dd>
<dd><code>maxCardinality</code> - maximum array size, or -1 for unlimited</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>canonical array type descriptor</dd>
</dl>
</li>
</ul>
<a id="createMapType(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createMapType</h4>
<pre class="methodSignature"><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;createMapType&#8203;(<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;keyType,
<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;valueType)</pre>
<div class="block">Creates a map type. Maps are unordered collections of key/value pairs.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keyType</code> - type of the keys of the map</dd>
<dd><code>valueType</code> - type of the values of the map</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>canonical map type descriptor</dd>
</dl>
</li>
</ul>
<a id="createMultisetType(org.apache.calcite.rel.type.RelDataType,long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createMultisetType</h4>
<pre class="methodSignature"><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;createMultisetType&#8203;(<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;elementType,
long&nbsp;maxCardinality)</pre>
<div class="block">Creates a multiset type. Multisets are unordered collections of elements.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>elementType</code> - type of the elements of the multiset</dd>
<dd><code>maxCardinality</code> - maximum collection size, or -1 for unlimited</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>canonical multiset type descriptor</dd>
</dl>
</li>
</ul>
<a id="copyType(org.apache.calcite.rel.type.RelDataType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyType</h4>
<pre class="methodSignature"><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;copyType&#8203;(<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type)</pre>
<div class="block">Duplicates a type, making a deep copy. Normally, this is a no-op, since
canonical type objects are returned. However, it is useful when copying a
type from one factory to another.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type</code> - input type</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>output type, a new object equivalent to input type</dd>
</dl>
</li>
</ul>
<a id="createTypeWithNullability(org.apache.calcite.rel.type.RelDataType,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createTypeWithNullability</h4>
<pre class="methodSignature"><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;createTypeWithNullability&#8203;(<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type,
boolean&nbsp;nullable)</pre>
<div class="block">Creates a type that is the same as another type but with possibly
different nullability. The output type may be identical to the input
type. For type systems without a concept of nullability, the return value
is always the same as the input.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type</code> - input type</dd>
<dd><code>nullable</code> - true to request a nullable type; false to request a NOT
NULL type</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>output type, same as input type except with specified nullability</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - if type is null</dd>
</dl>
</li>
</ul>
<a id="createTypeWithCharsetAndCollation(org.apache.calcite.rel.type.RelDataType,java.nio.charset.Charset,org.apache.calcite.sql.SqlCollation)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createTypeWithCharsetAndCollation</h4>
<pre class="methodSignature"><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;createTypeWithCharsetAndCollation&#8203;(<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type,
java.nio.charset.Charset&nbsp;charset,
<a href="../../sql/SqlCollation.html" title="class in org.apache.calcite.sql">SqlCollation</a>&nbsp;collation)</pre>
<div class="block">Creates a type that is the same as another type but with possibly
different charset or collation. For types without a concept of charset or
collation this function must throw an error.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type</code> - input type</dd>
<dd><code>charset</code> - charset to assign</dd>
<dd><code>collation</code> - collation to assign</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>output type, same as input type except with specified charset and
collation</dd>
</dl>
</li>
</ul>
<a id="getDefaultCharset()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultCharset</h4>
<pre class="methodSignature">java.nio.charset.Charset&nbsp;getDefaultCharset()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the default <code>Charset</code> for string types</dd>
</dl>
</li>
</ul>
<a id="leastRestrictive(java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>leastRestrictive</h4>
<pre class="methodSignature"><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;leastRestrictive&#8203;(java.util.List&lt;<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&gt;&nbsp;types)</pre>
<div class="block">Returns the most general of a set of types (that is, one type to which
they can all be cast), or null if conversion is not possible. The result
may be a new type that is less restrictive than any of the input types,
e.g. <code>leastRestrictive(INT, NUMERIC(3, 2))</code> could be
<code>NUMERIC(12, 2)</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>types</code> - input types to be combined using union (not null, not empty)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>canonical union type descriptor</dd>
</dl>
</li>
</ul>
<a id="createSqlType(org.apache.calcite.sql.type.SqlTypeName)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createSqlType</h4>
<pre class="methodSignature"><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;createSqlType&#8203;(<a href="../../sql/type/SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a>&nbsp;typeName)</pre>
<div class="block">Creates a SQL type with no precision or scale.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>typeName</code> - Name of the type, for example <a href="../../sql/type/SqlTypeName.html#BOOLEAN"><code>SqlTypeName.BOOLEAN</code></a>,
never null</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>canonical type descriptor</dd>
</dl>
</li>
</ul>
<a id="createUnknownType()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createUnknownType</h4>
<pre class="methodSignature"><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;createUnknownType()</pre>
<div class="block">Creates a SQL type that represents the "unknown" type.
It is only equal to itself, and is distinct from the NULL type.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>unknown type</dd>
</dl>
</li>
</ul>
<a id="createSqlType(org.apache.calcite.sql.type.SqlTypeName,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createSqlType</h4>
<pre class="methodSignature"><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;createSqlType&#8203;(<a href="../../sql/type/SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a>&nbsp;typeName,
int&nbsp;precision)</pre>
<div class="block">Creates a SQL type with length (precision) but no scale.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>typeName</code> - Name of the type, for example <a href="../../sql/type/SqlTypeName.html#VARCHAR"><code>SqlTypeName.VARCHAR</code></a>.
Never null.</dd>
<dd><code>precision</code> - Maximum length of the value (non-numeric types) or the
precision of the value (numeric/datetime types).
Must be non-negative or
<a href="RelDataType.html#PRECISION_NOT_SPECIFIED"><code>RelDataType.PRECISION_NOT_SPECIFIED</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>canonical type descriptor</dd>
</dl>
</li>
</ul>
<a id="createSqlType(org.apache.calcite.sql.type.SqlTypeName,int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createSqlType</h4>
<pre class="methodSignature"><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;createSqlType&#8203;(<a href="../../sql/type/SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a>&nbsp;typeName,
int&nbsp;precision,
int&nbsp;scale)</pre>
<div class="block">Creates a SQL type with precision and scale.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>typeName</code> - Name of the type, for example <a href="../../sql/type/SqlTypeName.html#DECIMAL"><code>SqlTypeName.DECIMAL</code></a>.
Never null.</dd>
<dd><code>precision</code> - Precision of the value.
Must be non-negative or
<a href="RelDataType.html#PRECISION_NOT_SPECIFIED"><code>RelDataType.PRECISION_NOT_SPECIFIED</code></a>.</dd>
<dd><code>scale</code> - scale of the values, i.e. the number of decimal places to
shift the value. For example, a NUMBER(10,3) value of
"123.45" is represented "123450" (that is, multiplied by
10^3). A negative scale <em>is</em> valid.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>canonical type descriptor</dd>
</dl>
</li>
</ul>
<a id="createSqlIntervalType(org.apache.calcite.sql.SqlIntervalQualifier)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createSqlIntervalType</h4>
<pre class="methodSignature"><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;createSqlIntervalType&#8203;(<a href="../../sql/SqlIntervalQualifier.html" title="class in org.apache.calcite.sql">SqlIntervalQualifier</a>&nbsp;intervalQualifier)</pre>
<div class="block">Creates a SQL interval type.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>intervalQualifier</code> - contains information if it is a year-month or a
day-time interval along with precision information</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>canonical type descriptor</dd>
</dl>
</li>
</ul>
<a id="createDecimalProduct(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createDecimalProduct</h4>
<pre class="methodSignature"><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;createDecimalProduct&#8203;(<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type1,
<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type2)</pre>
<div class="block">Infers the return type of a decimal multiplication. Decimal
multiplication involves at least one decimal operand and requires both
operands to have exact numeric types.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type1</code> - type of the first operand</dd>
<dd><code>type2</code> - type of the second operand</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the result type for a decimal multiplication, or null if decimal
multiplication should not be applied to the operands.</dd>
</dl>
</li>
</ul>
<a id="useDoubleMultiplication(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>useDoubleMultiplication</h4>
<pre class="methodSignature">boolean&nbsp;useDoubleMultiplication&#8203;(<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type1,
<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type2)</pre>
<div class="block">Returns whether a decimal multiplication should be implemented by casting
arguments to double values.
<p>Pre-condition: <code>createDecimalProduct(type1, type2) != null</code></div>
</li>
</ul>
<a id="createDecimalQuotient(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createDecimalQuotient</h4>
<pre class="methodSignature"><a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;createDecimalQuotient&#8203;(<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type1,
<a href="RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type2)</pre>
<div class="block">Infers the return type of a decimal division. Decimal division involves
at least one decimal operand and requires both operands to have exact
numeric types.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type1</code> - type of the first operand</dd>
<dd><code>type2</code> - type of the second operand</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the result type for a decimal division, or null if decimal
division should not be applied to the operands.</dd>
</dl>
</li>
</ul>
<a id="builder()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>builder</h4>
<pre class="methodSignature"><a href="RelDataTypeFactory.FieldInfoBuilder.html" title="class in org.apache.calcite.rel.type">RelDataTypeFactory.FieldInfoBuilder</a>&nbsp;builder()</pre>
<div class="block">Creates a
<a href="RelDataTypeFactory.FieldInfoBuilder.html" title="class in org.apache.calcite.rel.type"><code>RelDataTypeFactory.FieldInfoBuilder</code></a>.
But since <code>FieldInfoBuilder</code> is deprecated, we recommend that you use
its base class <a href="RelDataTypeFactory.Builder.html" title="class in org.apache.calcite.rel.type"><code>RelDataTypeFactory.Builder</code></a>, which is not deprecated.</div>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/RelDataTypeFactory.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>