blob: a0b53dd27d4a00b86b5012fa9c56fccad535277a [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AggregatingSelectScope (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="AggregatingSelectScope (Apache Calcite calcite API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":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";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.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">
<ul class="navList">
<li><a href="../../../../../org/apache/calcite/sql/validate/AggregatingScope.html" title="interface in org.apache.calcite.sql.validate"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/calcite/sql/validate/AggregatingSelectScope.Resolved.html" title="class in org.apache.calcite.sql.validate"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/calcite/sql/validate/AggregatingSelectScope.html" target="_top">Frames</a></li>
<li><a href="AggregatingSelectScope.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</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>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></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.validate</div>
<h2 title="Class AggregatingSelectScope" class="title">Class AggregatingSelectScope</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="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html" title="class in org.apache.calcite.sql.validate">org.apache.calcite.sql.validate.DelegatingScope</a></li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.sql.validate.AggregatingSelectScope</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/calcite/sql/validate/AggregatingScope.html" title="interface in org.apache.calcite.sql.validate">AggregatingScope</a>, <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">AggregatingSelectScope</span>
extends <a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html" title="class in org.apache.calcite.sql.validate">DelegatingScope</a>
implements <a href="../../../../../org/apache/calcite/sql/validate/AggregatingScope.html" title="interface in org.apache.calcite.sql.validate">AggregatingScope</a></pre>
<div class="block">Scope for resolving identifiers within a SELECT statement that has a
GROUP BY clause.
<p>The same set of identifiers are in scope, but it won't allow access to
identifiers or expressions which are not group-expressions.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/AggregatingSelectScope.Resolved.html" title="class in org.apache.calcite.sql.validate">AggregatingSelectScope.Resolved</a></span></code>
<div class="block">Information about an aggregating scope that can only be determined
after validation has occurred.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.calcite.sql.validate.SqlValidatorScope">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.calcite.sql.validate.<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></h3>
<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.EmptyPath.html" title="class in org.apache.calcite.sql.validate">SqlValidatorScope.EmptyPath</a>, <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.Path.html" title="class in org.apache.calcite.sql.validate">SqlValidatorScope.Path</a>, <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.Resolve.html" title="class in org.apache.calcite.sql.validate">SqlValidatorScope.Resolve</a>, <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.ResolvedImpl.html" title="class in org.apache.calcite.sql.validate">SqlValidatorScope.ResolvedImpl</a>, <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.Step.html" title="class in org.apache.calcite.sql.validate">SqlValidatorScope.Step</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html?is-external=true" title="class or interface in java.util.function">Supplier</a>&lt;<a href="../../../../../org/apache/calcite/sql/validate/AggregatingSelectScope.Resolved.html" title="class in org.apache.calcite.sql.validate">AggregatingSelectScope.Resolved</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/AggregatingSelectScope.html#resolved">resolved</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.calcite.sql.validate.DelegatingScope">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.calcite.sql.validate.<a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html" title="class in org.apache.calcite.sql.validate">DelegatingScope</a></h3>
<code><a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#parent">parent</a>, <a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#validator">validator</a></code></li>
</ul>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/AggregatingSelectScope.html#checkAggregateExpr-org.apache.calcite.sql.SqlNode-boolean-">checkAggregateExpr</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;expr,
boolean&nbsp;deep)</code>
<div class="block">Checks whether an expression is constant within the GROUP BY clause.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/AggregatingSelectScope.html#getNode--">getNode</a></span>()</code>
<div class="block">Returns the root node of this scope.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/AggregatingSelectScope.html#getOperandScope-org.apache.calcite.sql.SqlCall-">getOperandScope</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call)</code>
<div class="block">Returns the scope within which operands to a call are to be validated.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/AggregatingSelectScope.html#nullifyType-org.apache.calcite.sql.SqlNode-org.apache.calcite.rel.type.RelDataType-">nullifyType</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type)</code>
<div class="block">Converts the type of an expression to nullable, if the context
warrants it.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/validate/AggregatingSelectScope.html#validateExpr-org.apache.calcite.sql.SqlNode-">validateExpr</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;expr)</code>
<div class="block">Performs any scope-specific validation of an expression.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.calcite.sql.validate.DelegatingScope">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.calcite.sql.validate.<a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html" title="class in org.apache.calcite.sql.validate">DelegatingScope</a></h3>
<code><a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#addChild-org.apache.calcite.sql.validate.SqlValidatorNamespace-java.lang.String-boolean-">addChild</a>, <a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#addColumnNames-org.apache.calcite.sql.validate.SqlValidatorNamespace-java.util.List-">addColumnNames</a>, <a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#findAliases-java.util.Collection-">findAliases</a>, <a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#findAllColumnNames-java.util.List-">findAllColumnNames</a>, <a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#findQualifyingTableName-java.lang.String-org.apache.calcite.sql.SqlNode-">findQualifyingTableName</a>, <a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#findQualifyingTableNames-java.lang.String-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SqlNameMatcher-">findQualifyingTableNames</a>, <a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#fullyQualify-org.apache.calcite.sql.SqlIdentifier-">fullyQualify</a>, <a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#getMonotonicity-org.apache.calcite.sql.SqlNode-">getMonotonicity</a>, <a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#getOrderList--">getOrderList</a>, <a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#getParent--">getParent</a>, <a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#getTableNamespace-java.util.List-">getTableNamespace</a>, <a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#getValidator--">getValidator</a>, <a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#lookupWindow-java.lang.String-">lookupWindow</a>, <a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#resolve-java.util.List-org.apache.calcite.sql.validate.SqlNameMatcher-boolean-org.apache.calcite.sql.validate.SqlValidatorScope.Resolved-">resolve</a>, <a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#resolveColumn-java.lang.String-org.apache.calcite.sql.SqlNode-">resolveColumn</a>, <a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#resolveTable-java.util.List-org.apache.calcite.sql.validate.SqlNameMatcher-org.apache.calcite.sql.validate.SqlValidatorScope.Path-org.apache.calcite.sql.validate.SqlValidatorScope.Resolved-">resolveTable</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in 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="class or interface in 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="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in 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="class or interface in java.lang">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.calcite.sql.validate.SqlValidatorScope">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.calcite.sql.validate.<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></h3>
<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#addChild-org.apache.calcite.sql.validate.SqlValidatorNamespace-java.lang.String-boolean-">addChild</a>, <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#findAliases-java.util.Collection-">findAliases</a>, <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#findAllColumnNames-java.util.List-">findAllColumnNames</a>, <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#findQualifyingTableName-java.lang.String-org.apache.calcite.sql.SqlNode-">findQualifyingTableName</a>, <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#findQualifyingTableNames-java.lang.String-org.apache.calcite.sql.SqlNode-org.apache.calcite.sql.validate.SqlNameMatcher-">findQualifyingTableNames</a>, <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#fullyQualify-org.apache.calcite.sql.SqlIdentifier-">fullyQualify</a>, <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#getMonotonicity-org.apache.calcite.sql.SqlNode-">getMonotonicity</a>, <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#getOrderList--">getOrderList</a>, <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#getTableNamespace-java.util.List-">getTableNamespace</a>, <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#getValidator--">getValidator</a>, <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#isWithin-org.apache.calcite.sql.validate.SqlValidatorScope-">isWithin</a>, <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#lookupWindow-java.lang.String-">lookupWindow</a>, <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#resolve-java.util.List-org.apache.calcite.sql.validate.SqlNameMatcher-boolean-org.apache.calcite.sql.validate.SqlValidatorScope.Resolved-">resolve</a>, <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#resolveColumn-java.lang.String-org.apache.calcite.sql.SqlNode-">resolveColumn</a>, <a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#resolveTable-java.util.List-org.apache.calcite.sql.validate.SqlNameMatcher-org.apache.calcite.sql.validate.SqlValidatorScope.Path-org.apache.calcite.sql.validate.SqlValidatorScope.Resolved-">resolveTable</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>Field Detail</h3>
<a name="resolved">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>resolved</h4>
<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html?is-external=true" title="class or interface in java.util.function">Supplier</a>&lt;<a href="../../../../../org/apache/calcite/sql/validate/AggregatingSelectScope.Resolved.html" title="class in org.apache.calcite.sql.validate">AggregatingSelectScope.Resolved</a>&gt; resolved</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getNode--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNode</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;getNode()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#getNode--">SqlValidatorScope</a></code></span></div>
<div class="block">Returns the root node of this scope. Never null.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#getNode--">getNode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></dd>
</dl>
</li>
</ul>
<a name="nullifyType-org.apache.calcite.sql.SqlNode-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullifyType</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;nullifyType(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;node,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#nullifyType-org.apache.calcite.sql.SqlNode-org.apache.calcite.rel.type.RelDataType-">SqlValidatorScope</a></code></span></div>
<div class="block">Converts the type of an expression to nullable, if the context
warrants it.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#nullifyType-org.apache.calcite.sql.SqlNode-org.apache.calcite.rel.type.RelDataType-">nullifyType</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#nullifyType-org.apache.calcite.sql.SqlNode-org.apache.calcite.rel.type.RelDataType-">nullifyType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html" title="class in org.apache.calcite.sql.validate">DelegatingScope</a></code></dd>
</dl>
</li>
</ul>
<a name="getOperandScope-org.apache.calcite.sql.SqlCall-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOperandScope</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;getOperandScope(<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#getOperandScope-org.apache.calcite.sql.SqlCall-">SqlValidatorScope</a></code></span></div>
<div class="block">Returns the scope within which operands to a call are to be validated.
Usually it is this scope, but when the call is to an aggregate function
and this is an aggregating scope, it will be a a different scope.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#getOperandScope-org.apache.calcite.sql.SqlCall-">getOperandScope</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#getOperandScope-org.apache.calcite.sql.SqlCall-">getOperandScope</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html" title="class in org.apache.calcite.sql.validate">DelegatingScope</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>call</code> - Call</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Scope within which to validate arguments to call.</dd>
</dl>
</li>
</ul>
<a name="checkAggregateExpr-org.apache.calcite.sql.SqlNode-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkAggregateExpr</h4>
<pre>public&nbsp;boolean&nbsp;checkAggregateExpr(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;expr,
boolean&nbsp;deep)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/AggregatingScope.html#checkAggregateExpr-org.apache.calcite.sql.SqlNode-boolean-">AggregatingScope</a></code></span></div>
<div class="block">Checks whether an expression is constant within the GROUP BY clause. If
the expression completely matches an expression in the GROUP BY clause,
returns true. If the expression is constant within the group, but does
not exactly match, returns false. If the expression is not constant,
throws an exception. Examples:
<ul>
<li>If we are 'f(b, c)' in 'SELECT a + f(b, c) FROM t GROUP BY a', then
the whole expression matches a group column. Return true.
<li>Just an ordinary expression in a GROUP BY query, such as 'f(SUM(a),
1, b)' in 'SELECT f(SUM(a), 1, b) FROM t GROUP BY b'. Returns false.
<li>Illegal expression, such as 'f(5, a, b)' in 'SELECT f(a, b) FROM t
GROUP BY a'. Throws when it enounters the 'b' operand, because it is not
in the group clause.
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/AggregatingScope.html#checkAggregateExpr-org.apache.calcite.sql.SqlNode-boolean-">checkAggregateExpr</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/AggregatingScope.html" title="interface in org.apache.calcite.sql.validate">AggregatingScope</a></code></dd>
</dl>
</li>
</ul>
<a name="validateExpr-org.apache.calcite.sql.SqlNode-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>validateExpr</h4>
<pre>public&nbsp;void&nbsp;validateExpr(<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;expr)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#validateExpr-org.apache.calcite.sql.SqlNode-">SqlValidatorScope</a></code></span></div>
<div class="block">Performs any scope-specific validation of an expression. For example, an
aggregating scope requires that expressions are valid aggregations. The
expression has already been validated.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html#validateExpr-org.apache.calcite.sql.SqlNode-">validateExpr</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html#validateExpr-org.apache.calcite.sql.SqlNode-">validateExpr</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/calcite/sql/validate/DelegatingScope.html" title="class in org.apache.calcite.sql.validate">DelegatingScope</a></code></dd>
</dl>
</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="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.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">
<ul class="navList">
<li><a href="../../../../../org/apache/calcite/sql/validate/AggregatingScope.html" title="interface in org.apache.calcite.sql.validate"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/calcite/sql/validate/AggregatingSelectScope.Resolved.html" title="class in org.apache.calcite.sql.validate"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/calcite/sql/validate/AggregatingSelectScope.html" target="_top">Frames</a></li>
<li><a href="AggregatingSelectScope.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></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>