blob: 4882012eaab5dedb24eb40402cc1df6a40ba14c2 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>SqlCollectionTypeNameSpec (Apache Calcite calcite API)</title>
<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.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":10,"i1":10,"i2":10,"i3":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= 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="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 class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<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="subNavList">
<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="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">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="contentContainer">
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">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="description">
<hr>
<pre>public class <span class="typeNameLabel">SqlCollectionTypeNameSpec</span>
extends <a href="SqlTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlTypeNameSpec</a></pre>
<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="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!-- -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.calcite.sql.SqlTypeNameSpec,org.apache.calcite.sql.type.SqlTypeName,org.apache.calcite.sql.parser.SqlParserPos)">SqlCollectionTypeNameSpec</a></span>&#8203;(<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></th>
<td class="colLast">
<div class="block">Creates a <code>SqlCollectionTypeNameSpec</code>.</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<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>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code><a href="../rel/type/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="#deriveType(org.apache.calcite.sql.validate.SqlValidator)">deriveType</a></span>&#8203;(<a href="validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a>&nbsp;validator)</code></th>
<td class="colLast">
<div class="block">Derive type from this SqlTypeNameSpec.</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equalsDeep(org.apache.calcite.sql.SqlTypeNameSpec,org.apache.calcite.util.Litmus)">equalsDeep</a></span>&#8203;(<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></th>
<td class="colLast">
<div class="block">Returns whether this spec is structurally equivalent to another spec.</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="SqlTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlTypeNameSpec</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getElementTypeName()">getElementTypeName</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unparse(org.apache.calcite.sql.SqlWriter,int,int)">unparse</a></span>&#8203;(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
int&nbsp;leftPrec,
int&nbsp;rightPrec)</code></th>
<td class="colLast">
<div class="block">Writes a SQL representation of this spec to a writer.</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;org.apache.calcite.sql.<a href="SqlTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlTypeNameSpec</a></h3>
<a id="methods.inherited.from.class.org.apache.calcite.sql.SqlTypeNameSpec">
<!-- -->
</a><code><a href="SqlTypeNameSpec.html#getParserPos()">getParserPos</a>, <a href="SqlTypeNameSpec.html#getTypeName()">getTypeName</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!-- -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(org.apache.calcite.sql.SqlTypeNameSpec,org.apache.calcite.sql.type.SqlTypeName,org.apache.calcite.sql.parser.SqlParserPos)">SqlCollectionTypeNameSpec</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">SqlCollectionTypeNameSpec</span>&#8203;(<span class="arguments"><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>
<dt><span class="paramLabel">Parameters:</span></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 class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="getElementTypeName()">getElementTypeName</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SqlTypeNameSpec.html" title="class in org.apache.calcite.sql">SqlTypeNameSpec</a></span>&nbsp;<span class="memberName">getElementTypeName</span>()</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="deriveType(org.apache.calcite.sql.validate.SqlValidator)">deriveType</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span>&nbsp;<span class="memberName">deriveType</span>&#8203;(<span class="arguments"><a href="validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a>&nbsp;validator)</span></div>
<div class="block"><span class="descfrmTypeLabel">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>
<dt><span class="overrideSpecifyLabel">Specified by:</span></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><span class="paramLabel">Parameters:</span></dt>
<dd><code>validator</code> - The sql validator</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <code>RelDataType</code> instance, throws exception if we could not
deduce the type</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="unparse(org.apache.calcite.sql.SqlWriter,int,int)">unparse</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">unparse</span>&#8203;(<span class="arguments"><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="descfrmTypeLabel">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>
<dt><span class="overrideSpecifyLabel">Specified by:</span></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 class="blockList">
<section class="detail">
<h3><a id="equalsDeep(org.apache.calcite.sql.SqlTypeNameSpec,org.apache.calcite.util.Litmus)">equalsDeep</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">equalsDeep</span>&#8203;(<span class="arguments"><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="descfrmTypeLabel">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>
<dt><span class="overrideSpecifyLabel">Specified by:</span></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>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<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="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 class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<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="subNavList">
<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>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &copy; 2012-2021 Apache Software Foundation. All Rights Reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>