blob: 14487b2a7887fe9aae2ca10c589420bcc1c2e3e2 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SqlTypeTransforms (Apache Calcite calcite API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SqlTypeTransforms (Apache Calcite calcite API)";
}
}
catch(err) {
}
//-->
</script>
<noscript>
<div>您的浏览器已禁用 JavaScript。</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="跳过导航链接">跳过导航链接</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="导航">
<li><a href="../../../../../overview-summary.html">概览</a></li>
<li><a href="package-summary.html">程序包</a></li>
<li class="navBarCell1Rev"></li>
<li><a href="package-tree.html"></a></li>
<li><a href="../../../../../deprecated-list.html">已过时</a></li>
<li><a href="../../../../../index-all.html">索引</a></li>
<li><a href="../../../../../help-doc.html">帮助</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransformCascade.html" title="org.apache.calcite.sql.type中的类"><span class="typeNameLink">上一个类</span></a></li>
<li><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html" title="org.apache.calcite.sql.type中的类"><span class="typeNameLink">下一个类</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/calcite/sql/type/SqlTypeTransforms.html" target="_top">框架</a></li>
<li><a href="SqlTypeTransforms.html" target="_top">无框架</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">所有类</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>概要:&nbsp;</li>
<li>嵌套&nbsp;|&nbsp;</li>
<li><a href="#field.summary">字段</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">构造器</a>&nbsp;|&nbsp;</li>
<li><a href="#methods.inherited.from.class.java.lang.Object">方法</a></li>
</ul>
<ul class="subNavList">
<li>详细资料:&nbsp;</li>
<li><a href="#field.detail">字段</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">构造器</a>&nbsp;|&nbsp;</li>
<li>方法</li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.calcite.sql.type</div>
<h2 title="类 SqlTypeTransforms" class="title">类 SqlTypeTransforms</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="java.lang中的类或接口">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.sql.type.SqlTypeTransforms</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">SqlTypeTransforms</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="java.lang中的类或接口">Object</a></pre>
<div class="block">SqlTypeTransforms defines a number of reusable instances of
<a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransform.html" title="org.apache.calcite.sql.type中的接口"><code>SqlTypeTransform</code></a>.
<p>NOTE: avoid anonymous inner classes here except for unique,
non-generalizable strategies; anything else belongs in a reusable top-level
class. If you find yourself copying and pasting an existing strategy's
anonymous inner class, you're making a mistake.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>字段概要</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="字段概要表, 列表字段和解释">
<caption><span>字段</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">限定符和类型</th>
<th class="colLast" scope="col">字段和说明</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransform.html" title="org.apache.calcite.sql.type中的接口">SqlTypeTransform</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransforms.html#FORCE_NULLABLE">FORCE_NULLABLE</a></span></code>
<div class="block">Parameter type-inference transform strategy where a derived type is
transformed into the same type with nulls allowed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransform.html" title="org.apache.calcite.sql.type中的接口">SqlTypeTransform</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransforms.html#LEAST_NULLABLE">LEAST_NULLABLE</a></span></code>
<div class="block">Type-inference strategy whereby the result is NOT NULL if any of
the arguments is NOT NULL; otherwise the type is unchanged.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransform.html" title="org.apache.calcite.sql.type中的接口">SqlTypeTransform</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransforms.html#ONLY_COLUMN">ONLY_COLUMN</a></span></code>
<div class="block">Parameter type-inference transform strategy where a derived type must be
a struct type with precisely one field and the returned type is the type
of that field.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransform.html" title="org.apache.calcite.sql.type中的接口">SqlTypeTransform</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransforms.html#TO_MULTISET">TO_MULTISET</a></span></code>
<div class="block">Parameter type-inference transform strategy that wraps a given type
in a multiset.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransform.html" title="org.apache.calcite.sql.type中的接口">SqlTypeTransform</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransforms.html#TO_MULTISET_ELEMENT_TYPE">TO_MULTISET_ELEMENT_TYPE</a></span></code>
<div class="block">Parameter type-inference transform strategy where a derived type must be
a multiset type and the returned type is the multiset's element type.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransform.html" title="org.apache.calcite.sql.type中的接口">SqlTypeTransform</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransforms.html#TO_NOT_NULLABLE">TO_NOT_NULLABLE</a></span></code>
<div class="block">Parameter type-inference transform strategy where a derived type is
transformed into the same type but not nullable.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransform.html" title="org.apache.calcite.sql.type中的接口">SqlTypeTransform</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransforms.html#TO_NULLABLE">TO_NULLABLE</a></span></code>
<div class="block">Parameter type-inference transform strategy where a derived type is
transformed into the same type but nullable if any of a calls operands is
nullable</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransform.html" title="org.apache.calcite.sql.type中的接口">SqlTypeTransform</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransforms.html#TO_NULLABLE_ALL">TO_NULLABLE_ALL</a></span></code>
<div class="block">Parameter type-inference transform strategy where a derived type is
transformed into the same type, but nullable if and only if all of a call's
operands are nullable.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransform.html" title="org.apache.calcite.sql.type中的接口">SqlTypeTransform</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransforms.html#TO_VARYING">TO_VARYING</a></span></code>
<div class="block">Type-inference strategy whereby the result type of a call is VARYING the
type given.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>构造器概要</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="构造器概要表, 列表构造器和解释">
<caption><span>构造器</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">构造器和说明</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransforms.html#SqlTypeTransforms--">SqlTypeTransforms</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>方法概要</h3>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>从类继承的方法&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="java.lang中的类或接口">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="java.lang中的类或接口">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="java.lang中的类或接口">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="java.lang中的类或接口">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="java.lang中的类或接口">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="java.lang中的类或接口">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="java.lang中的类或接口">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="java.lang中的类或接口">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="java.lang中的类或接口">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="java.lang中的类或接口">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="java.lang中的类或接口">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="java.lang中的类或接口">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>字段详细资料</h3>
<a name="TO_NULLABLE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TO_NULLABLE</h4>
<pre>public static final&nbsp;<a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransform.html" title="org.apache.calcite.sql.type中的接口">SqlTypeTransform</a> TO_NULLABLE</pre>
<div class="block">Parameter type-inference transform strategy where a derived type is
transformed into the same type but nullable if any of a calls operands is
nullable</div>
</li>
</ul>
<a name="TO_NULLABLE_ALL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TO_NULLABLE_ALL</h4>
<pre>public static final&nbsp;<a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransform.html" title="org.apache.calcite.sql.type中的接口">SqlTypeTransform</a> TO_NULLABLE_ALL</pre>
<div class="block">Parameter type-inference transform strategy where a derived type is
transformed into the same type, but nullable if and only if all of a call's
operands are nullable.</div>
</li>
</ul>
<a name="TO_NOT_NULLABLE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TO_NOT_NULLABLE</h4>
<pre>public static final&nbsp;<a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransform.html" title="org.apache.calcite.sql.type中的接口">SqlTypeTransform</a> TO_NOT_NULLABLE</pre>
<div class="block">Parameter type-inference transform strategy where a derived type is
transformed into the same type but not nullable.</div>
</li>
</ul>
<a name="FORCE_NULLABLE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>FORCE_NULLABLE</h4>
<pre>public static final&nbsp;<a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransform.html" title="org.apache.calcite.sql.type中的接口">SqlTypeTransform</a> FORCE_NULLABLE</pre>
<div class="block">Parameter type-inference transform strategy where a derived type is
transformed into the same type with nulls allowed.</div>
</li>
</ul>
<a name="LEAST_NULLABLE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LEAST_NULLABLE</h4>
<pre>public static final&nbsp;<a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransform.html" title="org.apache.calcite.sql.type中的接口">SqlTypeTransform</a> LEAST_NULLABLE</pre>
<div class="block">Type-inference strategy whereby the result is NOT NULL if any of
the arguments is NOT NULL; otherwise the type is unchanged.</div>
</li>
</ul>
<a name="TO_VARYING">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TO_VARYING</h4>
<pre>public static final&nbsp;<a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransform.html" title="org.apache.calcite.sql.type中的接口">SqlTypeTransform</a> TO_VARYING</pre>
<div class="block">Type-inference strategy whereby the result type of a call is VARYING the
type given. The length returned is the same as length of the first
argument. Return type will have same nullability as input type
nullability. First Arg must be of string type.</div>
</li>
</ul>
<a name="TO_MULTISET_ELEMENT_TYPE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TO_MULTISET_ELEMENT_TYPE</h4>
<pre>public static final&nbsp;<a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransform.html" title="org.apache.calcite.sql.type中的接口">SqlTypeTransform</a> TO_MULTISET_ELEMENT_TYPE</pre>
<div class="block">Parameter type-inference transform strategy where a derived type must be
a multiset type and the returned type is the multiset's element type.</div>
<dl>
<dt><span class="seeLabel">另请参阅:</span></dt>
<dd><a href="../../../../../org/apache/calcite/sql/type/MultisetSqlType.html#getComponentType--"><code>MultisetSqlType.getComponentType()</code></a></dd>
</dl>
</li>
</ul>
<a name="TO_MULTISET">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TO_MULTISET</h4>
<pre>public static final&nbsp;<a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransform.html" title="org.apache.calcite.sql.type中的接口">SqlTypeTransform</a> TO_MULTISET</pre>
<div class="block">Parameter type-inference transform strategy that wraps a given type
in a multiset.</div>
<dl>
<dt><span class="seeLabel">另请参阅:</span></dt>
<dd><a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html#createMultisetType-org.apache.calcite.rel.type.RelDataType-long-"><code>RelDataTypeFactory.createMultisetType(RelDataType, long)</code></a></dd>
</dl>
</li>
</ul>
<a name="ONLY_COLUMN">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ONLY_COLUMN</h4>
<pre>public static final&nbsp;<a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransform.html" title="org.apache.calcite.sql.type中的接口">SqlTypeTransform</a> ONLY_COLUMN</pre>
<div class="block">Parameter type-inference transform strategy where a derived type must be
a struct type with precisely one field and the returned type is the type
of that field.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>构造器详细资料</h3>
<a name="SqlTypeTransforms--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SqlTypeTransforms</h4>
<pre>public&nbsp;SqlTypeTransforms()</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="跳过导航链接">跳过导航链接</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="导航">
<li><a href="../../../../../overview-summary.html">概览</a></li>
<li><a href="package-summary.html">程序包</a></li>
<li class="navBarCell1Rev"></li>
<li><a href="package-tree.html"></a></li>
<li><a href="../../../../../deprecated-list.html">已过时</a></li>
<li><a href="../../../../../index-all.html">索引</a></li>
<li><a href="../../../../../help-doc.html">帮助</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransformCascade.html" title="org.apache.calcite.sql.type中的类"><span class="typeNameLink">上一个类</span></a></li>
<li><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html" title="org.apache.calcite.sql.type中的类"><span class="typeNameLink">下一个类</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/calcite/sql/type/SqlTypeTransforms.html" target="_top">框架</a></li>
<li><a href="SqlTypeTransforms.html" target="_top">无框架</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">所有类</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>概要:&nbsp;</li>
<li>嵌套&nbsp;|&nbsp;</li>
<li><a href="#field.summary">字段</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">构造器</a>&nbsp;|&nbsp;</li>
<li><a href="#methods.inherited.from.class.java.lang.Object">方法</a></li>
</ul>
<ul class="subNavList">
<li>详细资料:&nbsp;</li>
<li><a href="#field.detail">字段</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">构造器</a>&nbsp;|&nbsp;</li>
<li>方法</li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &copy; 2012-2020 Apache Software Foundation. All Rights Reserved.</small></p>
</body>
</html>