blob: 075863a9acc7896b7b17934bb06dbf0bb1896da9 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>SqlCollectionTypeNameSpec (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, class: SqlCollectionTypeNameSpec">
<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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&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>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</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>&nbsp;<a href="package-summary.html">org.apache.calcite.sql</a></div>
<h1 title="Class SqlCollectionTypeNameSpec" class="title">Class SqlCollectionTypeNameSpec</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"><a href="SqlTypeNameSpec.html" title="class in org.apache.calcite.sql">org.apache.calcite.sql.SqlTypeNameSpec</a>
<div class="inheritance">org.apache.calcite.sql.SqlCollectionTypeNameSpec</div>
</div>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">SqlCollectionTypeNameSpec</span>
<span class="extends-implements">extends <a href="SqlTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlTypeNameSpec</a></span></div>
<div class="block">A sql type name specification of collection type.
<p>The grammar definition in SQL-2011 IWD 9075-2:201?(E)
6.1 &lt;collection type&gt; is as following:
<blockquote><pre>
&lt;collection type&gt; ::=
&lt;array type&gt;
| &lt;multiset type&gt;
&lt;array type&gt; ::=
&lt;data type&gt; ARRAY
[ &lt;left bracket or trigraph&gt;
&lt;maximum cardinality&gt;
&lt;right bracket or trigraph&gt; ]
&lt;maximum cardinality&gt; ::=
&lt;unsigned integer&gt;
&lt;multiset type&gt; ::=
&lt;data type&gt; MULTISET
</pre></blockquote>
<p>This class is intended to describe SQL collection type. It can describe
either simple collection type like "int array" or nested collection type like
"int array array" or "int array multiset". For nested collection type, the element type
name of this <code>SqlCollectionTypeNameSpec</code> is also a <code>SqlCollectionTypeNameSpec</code>.</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(org.apache.calcite.sql.SqlTypeNameSpec,org.apache.calcite.sql.type.SqlTypeName,org.apache.calcite.sql.parser.SqlParserPos)" class="member-name-link">SqlCollectionTypeNameSpec</a><wbr>(<a href="SqlTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlTypeNameSpec</a>&nbsp;elementTypeName,
<a href="type/SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a>&nbsp;collectionTypeName,
<a href="parser/SqlParserPos.html" title="class in org.apache.calcite.sql.parser">SqlParserPos</a>&nbsp;pos)</code></div>
<div class="col-last even-row-color">
<div class="block">Creates a <code>SqlCollectionTypeNameSpec</code>.</div>
</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-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance 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></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-tab2 method-summary-table-tab4"><code><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-tab2 method-summary-table-tab4"><code><a href="#deriveType(org.apache.calcite.sql.validate.SqlValidator)" class="member-name-link">deriveType</a><wbr>(<a href="validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a>&nbsp;validator)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Derive type from this SqlTypeNameSpec.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#equalsDeep(org.apache.calcite.sql.SqlTypeNameSpec,org.apache.calcite.util.Litmus)" class="member-name-link">equalsDeep</a><wbr>(<a href="SqlTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlTypeNameSpec</a>&nbsp;spec,
<a href="../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a>&nbsp;litmus)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns whether this spec is structurally equivalent to another spec.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SqlTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlTypeNameSpec</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getElementTypeName()" class="member-name-link">getElementTypeName</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#unparse(org.apache.calcite.sql.SqlWriter,int,int)" class="member-name-link">unparse</a><wbr>(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
int&nbsp;leftPrec,
int&nbsp;rightPrec)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Writes a SQL representation of this spec to a writer.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.calcite.sql.SqlTypeNameSpec">Methods inherited from class&nbsp;org.apache.calcite.sql.<a href="SqlTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlTypeNameSpec</a></h3>
<code><a href="SqlTypeNameSpec.html#getParserPos()">getParserPos</a>, <a href="SqlTypeNameSpec.html#getTypeName()">getTypeName</a></code></div>
<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">
<!-- ========= 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;(org.apache.calcite.sql.SqlTypeNameSpec,org.apache.calcite.sql.type.SqlTypeName,org.apache.calcite.sql.parser.SqlParserPos)">
<h3>SqlCollectionTypeNameSpec</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">SqlCollectionTypeNameSpec</span><wbr><span class="parameters">(<a href="SqlTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlTypeNameSpec</a>&nbsp;elementTypeName,
<a href="type/SqlTypeName.html" title="enum in org.apache.calcite.sql.type">SqlTypeName</a>&nbsp;collectionTypeName,
<a href="parser/SqlParserPos.html" title="class in org.apache.calcite.sql.parser">SqlParserPos</a>&nbsp;pos)</span></div>
<div class="block">Creates a <code>SqlCollectionTypeNameSpec</code>.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>elementTypeName</code> - Type of the collection element</dd>
<dd><code>collectionTypeName</code> - Collection type name</dd>
<dd><code>pos</code> - Parser position, must not be null</dd>
</dl>
</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="getElementTypeName()">
<h3>getElementTypeName</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SqlTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlTypeNameSpec</a></span>&nbsp;<span class="element-name">getElementTypeName</span>()</div>
</section>
</li>
<li>
<section class="detail" id="deriveType(org.apache.calcite.sql.validate.SqlValidator)">
<h3>deriveType</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span>&nbsp;<span class="element-name">deriveType</span><wbr><span class="parameters">(<a href="validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a>&nbsp;validator)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="SqlTypeNameSpec.html#deriveType(org.apache.calcite.sql.validate.SqlValidator)">SqlTypeNameSpec</a></code></span></div>
<div class="block">Derive type from this SqlTypeNameSpec.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="SqlTypeNameSpec.html#deriveType(org.apache.calcite.sql.validate.SqlValidator)">deriveType</a></code>&nbsp;in class&nbsp;<code><a href="SqlTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlTypeNameSpec</a></code></dd>
<dt>Parameters:</dt>
<dd><code>validator</code> - The sql validator</dd>
<dt>Returns:</dt>
<dd>the <code>RelDataType</code> instance, throws exception if we could not
deduce the type</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="unparse(org.apache.calcite.sql.SqlWriter,int,int)">
<h3>unparse</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">unparse</span><wbr><span class="parameters">(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
int&nbsp;leftPrec,
int&nbsp;rightPrec)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="SqlTypeNameSpec.html#unparse(org.apache.calcite.sql.SqlWriter,int,int)">SqlTypeNameSpec</a></code></span></div>
<div class="block">Writes a SQL representation of this spec to a writer.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="SqlTypeNameSpec.html#unparse(org.apache.calcite.sql.SqlWriter,int,int)">unparse</a></code>&nbsp;in class&nbsp;<code><a href="SqlTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlTypeNameSpec</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="equalsDeep(org.apache.calcite.sql.SqlTypeNameSpec,org.apache.calcite.util.Litmus)">
<h3>equalsDeep</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">equalsDeep</span><wbr><span class="parameters">(<a href="SqlTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlTypeNameSpec</a>&nbsp;spec,
<a href="../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a>&nbsp;litmus)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="SqlTypeNameSpec.html#equalsDeep(org.apache.calcite.sql.SqlTypeNameSpec,org.apache.calcite.util.Litmus)">SqlTypeNameSpec</a></code></span></div>
<div class="block">Returns whether this spec is structurally equivalent to another spec.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="SqlTypeNameSpec.html#equalsDeep(org.apache.calcite.sql.SqlTypeNameSpec,org.apache.calcite.util.Litmus)">equalsDeep</a></code>&nbsp;in class&nbsp;<code><a href="SqlTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlTypeNameSpec</a></code></dd>
</dl>
</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>