blob: c90cddd17f86cfb236cff7edd5b0e972f1e6c0a2 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>SqlTypeTransforms (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: SqlTypeTransforms">
<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 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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li>Method</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>&nbsp;<a href="package-summary.html">org.apache.calcite.sql.type</a></div>
<h1 title="Class SqlTypeTransforms" class="title">Class SqlTypeTransforms</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.SqlTypeTransforms</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">SqlTypeTransforms</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">SqlTypeTransforms defines a number of reusable instances of
<a href="SqlTypeTransform.html" title="interface in 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>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static final <a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></code></div>
<div class="col-second even-row-color"><code><a href="#FORCE_NULLABLE" class="member-name-link">FORCE_NULLABLE</a></code></div>
<div class="col-last even-row-color">
<div class="block">Parameter type-inference transform strategy where a derived type is
transformed into the same type with nulls allowed.</div>
</div>
<div class="col-first odd-row-color"><code>static final <a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></code></div>
<div class="col-second odd-row-color"><code><a href="#FROM_MEASURE" class="member-name-link">FROM_MEASURE</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Parameter type-inference transform that transforms <code>MEASURE&lt;T&gt;</code> to
<code>T</code> for some type T.</div>
</div>
<div class="col-first even-row-color"><code>static final <a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></code></div>
<div class="col-second even-row-color"><code><a href="#LEAST_NULLABLE" class="member-name-link">LEAST_NULLABLE</a></code></div>
<div class="col-last even-row-color">
<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>
</div>
<div class="col-first odd-row-color"><code>static final <a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></code></div>
<div class="col-second odd-row-color"><code><a href="#ONLY_COLUMN" class="member-name-link">ONLY_COLUMN</a></code></div>
<div class="col-last odd-row-color">
<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>
</div>
<div class="col-first even-row-color"><code>static final <a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></code></div>
<div class="col-second even-row-color"><code><a href="#TO_ARRAY" class="member-name-link">TO_ARRAY</a></code></div>
<div class="col-last even-row-color">
<div class="block">Parameter type-inference transform strategy that wraps a given type
in a array.</div>
</div>
<div class="col-first odd-row-color"><code>static final <a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></code></div>
<div class="col-second odd-row-color"><code><a href="#TO_ARRAY_QUERY" class="member-name-link">TO_ARRAY_QUERY</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Parameter type-inference transform strategy that wraps a given type in an array or
wraps a field of the given type in an array if the given type is struct with one field.</div>
</div>
<div class="col-first even-row-color"><code>static final <a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></code></div>
<div class="col-second even-row-color"><code><a href="#TO_MAP" class="member-name-link">TO_MAP</a></code></div>
<div class="col-last even-row-color">
<div class="block">Parameter type-inference transform strategy that converts a two-field
record type to a MAP type.</div>
</div>
<div class="col-first odd-row-color"><code>static final <a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></code></div>
<div class="col-second odd-row-color"><code><a href="#TO_MEASURE" class="member-name-link">TO_MEASURE</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Parameter type-inference transform that transforms <code>T</code> to
<code>MEASURE&lt;T&gt;</code> for some type T.</div>
</div>
<div class="col-first even-row-color"><code>static final <a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></code></div>
<div class="col-second even-row-color"><code><a href="#TO_MULTISET" class="member-name-link">TO_MULTISET</a></code></div>
<div class="col-last even-row-color">
<div class="block">Parameter type-inference transform strategy that wraps a given type
in a multiset.</div>
</div>
<div class="col-first odd-row-color"><code>static final <a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></code></div>
<div class="col-second odd-row-color"><code><a href="#TO_MULTISET_ELEMENT_TYPE" class="member-name-link">TO_MULTISET_ELEMENT_TYPE</a></code></div>
<div class="col-last odd-row-color">
<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>
</div>
<div class="col-first even-row-color"><code>static final <a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></code></div>
<div class="col-second even-row-color"><code><a href="#TO_MULTISET_QUERY" class="member-name-link">TO_MULTISET_QUERY</a></code></div>
<div class="col-last even-row-color">
<div class="block">Parameter type-inference transform strategy that wraps a given type in a multiset or
wraps a field of the given type in a multiset if the given type is struct with one field.</div>
</div>
<div class="col-first odd-row-color"><code>static final <a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></code></div>
<div class="col-second odd-row-color"><code><a href="#TO_NOT_NULLABLE" class="member-name-link">TO_NOT_NULLABLE</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Parameter type-inference transform strategy where a derived type is
transformed into the same type but not nullable.</div>
</div>
<div class="col-first even-row-color"><code>static final <a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></code></div>
<div class="col-second even-row-color"><code><a href="#TO_NULLABLE" class="member-name-link">TO_NULLABLE</a></code></div>
<div class="col-last even-row-color">
<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>
</div>
<div class="col-first odd-row-color"><code>static final <a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></code></div>
<div class="col-second odd-row-color"><code><a href="#TO_NULLABLE_ALL" class="member-name-link">TO_NULLABLE_ALL</a></code></div>
<div class="col-last odd-row-color">
<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>
</div>
<div class="col-first even-row-color"><code>static final <a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></code></div>
<div class="col-second even-row-color"><code><a href="#TO_VARYING" class="member-name-link">TO_VARYING</a></code></div>
<div class="col-last even-row-color">
<div class="block">Type-inference strategy whereby the result type of a call is VARYING the
type given.</div>
</div>
</div>
</section>
</li>
<!-- ======== 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">SqlTypeTransforms</a>()</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;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">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="TO_NULLABLE">
<h3>TO_NULLABLE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></span>&nbsp;<span class="element-name">TO_NULLABLE</span></div>
<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>
</section>
</li>
<li>
<section class="detail" id="TO_NULLABLE_ALL">
<h3>TO_NULLABLE_ALL</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></span>&nbsp;<span class="element-name">TO_NULLABLE_ALL</span></div>
<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>
</section>
</li>
<li>
<section class="detail" id="TO_NOT_NULLABLE">
<h3>TO_NOT_NULLABLE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></span>&nbsp;<span class="element-name">TO_NOT_NULLABLE</span></div>
<div class="block">Parameter type-inference transform strategy where a derived type is
transformed into the same type but not nullable.</div>
</section>
</li>
<li>
<section class="detail" id="FORCE_NULLABLE">
<h3>FORCE_NULLABLE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></span>&nbsp;<span class="element-name">FORCE_NULLABLE</span></div>
<div class="block">Parameter type-inference transform strategy where a derived type is
transformed into the same type with nulls allowed.</div>
</section>
</li>
<li>
<section class="detail" id="LEAST_NULLABLE">
<h3>LEAST_NULLABLE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></span>&nbsp;<span class="element-name">LEAST_NULLABLE</span></div>
<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>
</section>
</li>
<li>
<section class="detail" id="TO_VARYING">
<h3>TO_VARYING</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></span>&nbsp;<span class="element-name">TO_VARYING</span></div>
<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>
</section>
</li>
<li>
<section class="detail" id="TO_MULTISET_ELEMENT_TYPE">
<h3>TO_MULTISET_ELEMENT_TYPE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></span>&nbsp;<span class="element-name">TO_MULTISET_ELEMENT_TYPE</span></div>
<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 class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="MultisetSqlType.html#getComponentType()"><code>MultisetSqlType.getComponentType()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="TO_MULTISET">
<h3>TO_MULTISET</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></span>&nbsp;<span class="element-name">TO_MULTISET</span></div>
<div class="block">Parameter type-inference transform strategy that wraps a given type
in a multiset.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="../../rel/type/RelDataTypeFactory.html#createMultisetType(org.apache.calcite.rel.type.RelDataType,long)"><code>RelDataTypeFactory.createMultisetType(RelDataType, long)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="TO_MULTISET_QUERY">
<h3>TO_MULTISET_QUERY</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></span>&nbsp;<span class="element-name">TO_MULTISET_QUERY</span></div>
<div class="block">Parameter type-inference transform strategy that wraps a given type in a multiset or
wraps a field of the given type in a multiset if the given type is struct with one field.
It is used when a multiset input is a sub-query.</div>
</section>
</li>
<li>
<section class="detail" id="TO_ARRAY">
<h3>TO_ARRAY</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></span>&nbsp;<span class="element-name">TO_ARRAY</span></div>
<div class="block">Parameter type-inference transform strategy that wraps a given type
in a array.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="../../rel/type/RelDataTypeFactory.html#createArrayType(org.apache.calcite.rel.type.RelDataType,long)"><code>RelDataTypeFactory.createArrayType(RelDataType, long)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="TO_MEASURE">
<h3>TO_MEASURE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></span>&nbsp;<span class="element-name">TO_MEASURE</span></div>
<div class="block">Parameter type-inference transform that transforms <code>T</code> to
<code>MEASURE&lt;T&gt;</code> for some type T.</div>
</section>
</li>
<li>
<section class="detail" id="FROM_MEASURE">
<h3>FROM_MEASURE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></span>&nbsp;<span class="element-name">FROM_MEASURE</span></div>
<div class="block">Parameter type-inference transform that transforms <code>MEASURE&lt;T&gt;</code> to
<code>T</code> for some type T. Inverse of <a href="#TO_MEASURE"><code>TO_MEASURE</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="TO_ARRAY_QUERY">
<h3>TO_ARRAY_QUERY</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></span>&nbsp;<span class="element-name">TO_ARRAY_QUERY</span></div>
<div class="block">Parameter type-inference transform strategy that wraps a given type in an array or
wraps a field of the given type in an array if the given type is struct with one field.
It is used when an array input is a sub-query.</div>
</section>
</li>
<li>
<section class="detail" id="TO_MAP">
<h3>TO_MAP</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></span>&nbsp;<span class="element-name">TO_MAP</span></div>
<div class="block">Parameter type-inference transform strategy that converts a two-field
record type to a MAP type.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="../../rel/type/RelDataTypeFactory.html#createMapType(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)"><code>RelDataTypeFactory.createMapType(org.apache.calcite.rel.type.RelDataType, org.apache.calcite.rel.type.RelDataType)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="ONLY_COLUMN">
<h3>ONLY_COLUMN</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="SqlTypeTransform.html" title="interface in org.apache.calcite.sql.type">SqlTypeTransform</a></span>&nbsp;<span class="element-name">ONLY_COLUMN</span></div>
<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>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>SqlTypeTransforms</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">SqlTypeTransforms</span>()</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &copy; 2012-2023 Apache Software Foundation. All Rights Reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>