blob: 148673c711de02f33bcc0b6ba4d058bff02a3390 [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>Aggregate (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="Aggregate (Apache Calcite calcite API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":42,"i5":6,"i6":10,"i7":9,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":42,"i17":10,"i18":9,"i19":9,"i20":10,"i21":41};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated 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>Prev&nbsp;Class</li>
<li><a href="../../../../../org/apache/calcite/rel/core/Aggregate.AggCallBinding.html" title="class in org.apache.calcite.rel.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/calcite/rel/core/Aggregate.html" target="_top">Frames</a></li>
<li><a href="Aggregate.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><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><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&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.rel.core</div>
<h2 title="Class Aggregate" class="title">Class Aggregate</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/rel/AbstractRelNode.html" title="class in org.apache.calcite.rel">org.apache.calcite.rel.AbstractRelNode</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/calcite/rel/SingleRel.html" title="class in org.apache.calcite.rel">org.apache.calcite.rel.SingleRel</a></li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.rel.core.Aggregate</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a>, <a href="../../../../../org/apache/calcite/plan/RelOptNode.html" title="interface in org.apache.calcite.plan">RelOptNode</a>, <a href="../../../../../org/apache/calcite/rel/hint/Hintable.html" title="interface in org.apache.calcite.rel.hint">Hintable</a>, <a href="../../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/apache/calcite/interpreter/Bindables.BindableAggregate.html" title="class in org.apache.calcite.interpreter">Bindables.BindableAggregate</a>, <a href="../../../../../org/apache/calcite/adapter/elasticsearch/ElasticsearchAggregate.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchAggregate</a>, <a href="../../../../../org/apache/calcite/adapter/enumerable/EnumerableAggregateBase.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableAggregateBase</a>, <a href="../../../../../org/apache/calcite/adapter/geode/rel/GeodeAggregate.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeAggregate</a>, <a href="../../../../../org/apache/calcite/adapter/jdbc/JdbcRules.JdbcAggregate.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcAggregate</a>, <a href="../../../../../org/apache/calcite/rel/logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical">LogicalAggregate</a>, <a href="../../../../../org/apache/calcite/adapter/mongodb/MongoAggregate.html" title="class in org.apache.calcite.adapter.mongodb">MongoAggregate</a>, <a href="../../../../../org/apache/calcite/adapter/pig/PigAggregate.html" title="class in org.apache.calcite.adapter.pig">PigAggregate</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">Aggregate</span>
extends <a href="../../../../../org/apache/calcite/rel/SingleRel.html" title="class in org.apache.calcite.rel">SingleRel</a>
implements <a href="../../../../../org/apache/calcite/rel/hint/Hintable.html" title="interface in org.apache.calcite.rel.hint">Hintable</a></pre>
<div class="block">Relational operator that eliminates
duplicates and computes totals.
<p>It corresponds to the <code>GROUP BY</code> operator in a SQL query
statement, together with the aggregate functions in the <code>SELECT</code>
clause.
<p>Rules:
<ul>
<li><a href="../../../../../org/apache/calcite/rel/rules/AggregateProjectPullUpConstantsRule.html" title="class in org.apache.calcite.rel.rules"><code>AggregateProjectPullUpConstantsRule</code></a>
<li><a href="../../../../../org/apache/calcite/rel/rules/AggregateExpandDistinctAggregatesRule.html" title="class in org.apache.calcite.rel.rules"><code>AggregateExpandDistinctAggregatesRule</code></a>
<li><a href="../../../../../org/apache/calcite/rel/rules/AggregateReduceFunctionsRule.html" title="class in org.apache.calcite.rel.rules"><code>AggregateReduceFunctionsRule</code></a>.
</ul></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>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.AggCallBinding.html" title="class in org.apache.calcite.rel.core">Aggregate.AggCallBinding</a></span></code>
<div class="block">Implementation of the <a href="../../../../../org/apache/calcite/sql/SqlOperatorBinding.html" title="class in org.apache.calcite.sql"><code>SqlOperatorBinding</code></a> interface for an
<a href="../../../../../org/apache/calcite/rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core"><code>aggregate call</code></a> applied to a set of operands in the
context of a <a href="../../../../../org/apache/calcite/rel/logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical"><code>LogicalAggregate</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.Group.html" title="enum in org.apache.calcite.rel.core">Aggregate.Group</a></span></code>
<div class="block">What kind of roll-up is it?</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.calcite.rel.RelNode">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.calcite.rel.<a href="../../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></h3>
<code><a href="../../../../../org/apache/calcite/rel/RelNode.Context.html" title="interface in org.apache.calcite.rel">RelNode.Context</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>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#aggCalls">aggCalls</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#groupSet">groupSet</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.common.collect.ImmutableList&lt;<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#groupSets">groupSets</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected com.google.common.collect.ImmutableList&lt;<a href="../../../../../org/apache/calcite/rel/hint/RelHint.html" title="class in org.apache.calcite.rel.hint">RelHint</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#hints">hints</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#indicator">indicator</a></span></code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static com.google.common.base.Predicate&lt;<a href="../../../../../org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#IS_NOT_GRAND_TOTAL">IS_NOT_GRAND_TOTAL</a></span></code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static com.google.common.base.Predicate&lt;<a href="../../../../../org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#IS_SIMPLE">IS_SIMPLE</a></span></code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static com.google.common.base.Predicate&lt;<a href="../../../../../org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#NO_INDICATOR">NO_INDICATOR</a></span></code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.calcite.rel.SingleRel">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.calcite.rel.<a href="../../../../../org/apache/calcite/rel/SingleRel.html" title="class in org.apache.calcite.rel">SingleRel</a></h3>
<code><a href="../../../../../org/apache/calcite/rel/SingleRel.html#input">input</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.calcite.rel.AbstractRelNode">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.calcite.rel.<a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html" title="class in org.apache.calcite.rel">AbstractRelNode</a></h3>
<code><a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#digest">digest</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#id">id</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#rowType">rowType</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#traitSet">traitSet</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#Aggregate-org.apache.calcite.rel.RelInput-">Aggregate</a></span>(<a href="../../../../../org/apache/calcite/rel/RelInput.html" title="interface in org.apache.calcite.rel">RelInput</a>&nbsp;input)</code>
<div class="block">Creates an Aggregate by parsing serialized output.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#Aggregate-org.apache.calcite.plan.RelOptCluster-org.apache.calcite.plan.RelTraitSet-java.util.List-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.List-java.util.List-">Aggregate</a></span>(<a href="../../../../../org/apache/calcite/plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../../../../org/apache/calcite/plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/hint/RelHint.html" title="class in org.apache.calcite.rel.hint">RelHint</a>&gt;&nbsp;hints,
<a href="../../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code>
<div class="block">Creates an Aggregate.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#Aggregate-org.apache.calcite.plan.RelOptCluster-org.apache.calcite.plan.RelTraitSet-org.apache.calcite.rel.RelNode-boolean-org.apache.calcite.util.ImmutableBitSet-java.util.List-java.util.List-">Aggregate</a></span>(<a href="../../../../../org/apache/calcite/plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../../../../org/apache/calcite/plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
boolean&nbsp;indicator,
<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#Aggregate-org.apache.calcite.plan.RelOptCluster-org.apache.calcite.plan.RelTraitSet-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.List-java.util.List-">Aggregate</a></span>(<a href="../../../../../org/apache/calcite/plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../../../../org/apache/calcite/plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</td>
</tr>
</table>
</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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated 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>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#checkIndicator-boolean-">checkIndicator</a></span>(boolean&nbsp;indicator)</code>
<div class="block">Used internally; will removed when <a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#indicator"><code>indicator</code></a> is removed,
before 2.0.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#computeSelfCost-org.apache.calcite.plan.RelOptPlanner-org.apache.calcite.rel.metadata.RelMetadataQuery-">computeSelfCost</a></span>(<a href="../../../../../org/apache/calcite/plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../../../../../org/apache/calcite/rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code>
<div class="block">Returns the cost of this plan (not including children).</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#containsDistinctCall--">containsDistinctCall</a></span>()</code>
<div class="block">Returns whether any of the aggregates are DISTINCT.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#copy-org.apache.calcite.plan.RelTraitSet-java.util.List-">copy</a></span>(<a href="../../../../../org/apache/calcite/plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</code>
<div class="block">Creates a copy of this relational expression, perhaps changing traits and
inputs.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#copy-org.apache.calcite.plan.RelTraitSet-org.apache.calcite.rel.RelNode-boolean-org.apache.calcite.util.ImmutableBitSet-java.util.List-java.util.List-">copy</a></span>(<a href="../../../../../org/apache/calcite/plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#copy-org.apache.calcite.plan.RelTraitSet-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.List-java.util.List-">copy</a></span>(<a href="../../../../../org/apache/calcite/plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code>
<div class="block">Creates a copy of this aggregate.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected <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/rel/core/Aggregate.html#deriveRowType--">deriveRowType</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static <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/rel/core/Aggregate.html#deriveRowType-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.rel.type.RelDataType-boolean-org.apache.calcite.util.ImmutableBitSet-java.util.List-java.util.List-">deriveRowType</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputRowType,
boolean&nbsp;indicator,
<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</code>
<div class="block">Computes the row type of an <code>Aggregate</code> before it exists.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#estimateRowCount-org.apache.calcite.rel.metadata.RelMetadataQuery-">estimateRowCount</a></span>(<a href="../../../../../org/apache/calcite/rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</code>
<div class="block">Returns an estimate of the number of rows this relational expression will
return.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/rel/RelWriter.html" title="interface in org.apache.calcite.rel">RelWriter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#explainTerms-org.apache.calcite.rel.RelWriter-">explainTerms</a></span>(<a href="../../../../../org/apache/calcite/rel/RelWriter.html" title="interface in org.apache.calcite.rel">RelWriter</a>&nbsp;pw)</code>
<div class="block">Describes the inputs and attributes of this relational expression.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#getAggCallList--">getAggCallList</a></span>()</code>
<div class="block">Returns a list of calls to aggregate functions.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#getGroupCount--">getGroupCount</a></span>()</code>
<div class="block">Returns the number of grouping fields.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#getGroupSet--">getGroupSet</a></span>()</code>
<div class="block">Returns a bit set of the grouping fields.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>com.google.common.collect.ImmutableList&lt;<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#getGroupSets--">getGroupSets</a></span>()</code>
<div class="block">Returns the list of grouping sets computed by this Aggregate.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/calcite/rel/core/Aggregate.Group.html" title="enum in org.apache.calcite.rel.core">Aggregate.Group</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#getGroupType--">getGroupType</a></span>()</code>
<div class="block">Returns the type of roll-up.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>com.google.common.collect.ImmutableList&lt;<a href="../../../../../org/apache/calcite/rel/hint/RelHint.html" title="class in org.apache.calcite.rel.hint">RelHint</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#getHints--">getHints</a></span>()</code>
<div class="block">Returns the hints of this relational expressions as an immutable list.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#getIndicatorCount--">getIndicatorCount</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../../../../../org/apache/calcite/rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#getNamedAggCalls--">getNamedAggCalls</a></span>()</code>
<div class="block">Returns a list of calls to aggregate functions together with their output
field names.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#isNotGrandTotal-org.apache.calcite.rel.core.Aggregate-">isNotGrandTotal</a></span>(<a href="../../../../../org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate)</code>&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#isSimple-org.apache.calcite.rel.core.Aggregate-">isSimple</a></span>(<a href="../../../../../org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate)</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#isValid-org.apache.calcite.util.Litmus-org.apache.calcite.rel.RelNode.Context-">isValid</a></span>(<a href="../../../../../org/apache/calcite/util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a>&nbsp;litmus,
<a href="../../../../../org/apache/calcite/rel/RelNode.Context.html" title="interface in org.apache.calcite.rel">RelNode.Context</a>&nbsp;context)</code>
<div class="block">Returns whether this relational expression is valid.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#noIndicator-org.apache.calcite.rel.core.Aggregate-">noIndicator</a></span>(<a href="../../../../../org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.calcite.rel.SingleRel">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.calcite.rel.<a href="../../../../../org/apache/calcite/rel/SingleRel.html" title="class in org.apache.calcite.rel">SingleRel</a></h3>
<code><a href="../../../../../org/apache/calcite/rel/SingleRel.html#childrenAccept-org.apache.calcite.rel.RelVisitor-">childrenAccept</a>, <a href="../../../../../org/apache/calcite/rel/SingleRel.html#getInput--">getInput</a>, <a href="../../../../../org/apache/calcite/rel/SingleRel.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/calcite/rel/SingleRel.html#replaceInput-int-org.apache.calcite.rel.RelNode-">replaceInput</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.calcite.rel.AbstractRelNode">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.calcite.rel.<a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html" title="class in org.apache.calcite.rel">AbstractRelNode</a></h3>
<code><a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#accept-org.apache.calcite.rel.RelShuttle-">accept</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#accept-org.apache.calcite.rex.RexShuttle-">accept</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#collectVariablesSet-java.util.Set-">collectVariablesSet</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#collectVariablesUsed-java.util.Set-">collectVariablesUsed</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#computeSelfCost-org.apache.calcite.plan.RelOptPlanner-">computeSelfCost</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#digestEquals-java.lang.Object-">digestEquals</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#digestHash--">digestHash</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#equals-java.lang.Object-">equals</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#explain-org.apache.calcite.rel.RelWriter-">explain</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#getChildExps--">getChildExps</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#getCluster--">getCluster</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#getCollationList--">getCollationList</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#getConvention--">getConvention</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#getCorrelVariable--">getCorrelVariable</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#getDescription--">getDescription</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#getDigest--">getDigest</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#getExpectedInputRowType-int-">getExpectedInputRowType</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#getId--">getId</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#getInput-int-">getInput</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#getQuery--">getQuery</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#getRelDigest--">getRelDigest</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#getRelTypeName--">getRelTypeName</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#getRows--">getRows</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#getRowType--">getRowType</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#getTable--">getTable</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#getTraitSet--">getTraitSet</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#getVariablesSet--">getVariablesSet</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#getVariablesStopped--">getVariablesStopped</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#hashCode--">hashCode</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#isDistinct--">isDistinct</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#isEnforcer--">isEnforcer</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#isKey-org.apache.calcite.util.ImmutableBitSet-">isKey</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#isValid-boolean-">isValid</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#metadata-java.lang.Class-org.apache.calcite.rel.metadata.RelMetadataQuery-">metadata</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#onRegister-org.apache.calcite.plan.RelOptPlanner-">onRegister</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#recomputeDigest--">recomputeDigest</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#register-org.apache.calcite.plan.RelOptPlanner-">register</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#sole-java.util.List-">sole</a>, <a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#toString--">toString</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#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#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#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.rel.hint.Hintable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.calcite.rel.hint.<a href="../../../../../org/apache/calcite/rel/hint/Hintable.html" title="interface in org.apache.calcite.rel.hint">Hintable</a></h3>
<code><a href="../../../../../org/apache/calcite/rel/hint/Hintable.html#attachHints-java.util.List-">attachHints</a>, <a href="../../../../../org/apache/calcite/rel/hint/Hintable.html#withHints-java.util.List-">withHints</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="hints">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hints</h4>
<pre>protected final&nbsp;com.google.common.collect.ImmutableList&lt;<a href="../../../../../org/apache/calcite/rel/hint/RelHint.html" title="class in org.apache.calcite.rel.hint">RelHint</a>&gt; hints</pre>
</li>
</ul>
<a name="IS_SIMPLE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>IS_SIMPLE</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public static final&nbsp;com.google.common.base.Predicate&lt;<a href="../../../../../org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&gt; IS_SIMPLE</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</li>
</ul>
<a name="NO_INDICATOR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NO_INDICATOR</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public static final&nbsp;com.google.common.base.Predicate&lt;<a href="../../../../../org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&gt; NO_INDICATOR</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</li>
</ul>
<a name="IS_NOT_GRAND_TOTAL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>IS_NOT_GRAND_TOTAL</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public static final&nbsp;com.google.common.base.Predicate&lt;<a href="../../../../../org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&gt; IS_NOT_GRAND_TOTAL</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</li>
</ul>
<a name="indicator">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>indicator</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public final&nbsp;boolean indicator</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.rel.core.Aggregate.indicator">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="aggCalls">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>aggCalls</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt; aggCalls</pre>
</li>
</ul>
<a name="groupSet">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>groupSet</h4>
<pre>protected final&nbsp;<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a> groupSet</pre>
</li>
</ul>
<a name="groupSets">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>groupSets</h4>
<pre>public final&nbsp;com.google.common.collect.ImmutableList&lt;<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt; groupSets</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="Aggregate-org.apache.calcite.plan.RelOptCluster-org.apache.calcite.plan.RelTraitSet-java.util.List-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.List-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Aggregate</h4>
<pre>protected&nbsp;Aggregate(<a href="../../../../../org/apache/calcite/plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../../../../org/apache/calcite/plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/hint/RelHint.html" title="class in org.apache.calcite.rel.hint">RelHint</a>&gt;&nbsp;hints,
<a href="../../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</pre>
<div class="block">Creates an Aggregate.
<p>All members of <code>groupSets</code> must be sub-sets of <code>groupSet</code>.
For a simple <code>GROUP BY</code>, <code>groupSets</code> is a singleton list
containing <code>groupSet</code>.
<p>If <code>GROUP BY</code> is not specified,
or equivalently if <code>GROUP BY ()</code> is specified,
<code>groupSet</code> will be the empty set,
and <code>groupSets</code> will have one element, that empty set.
<p>If <code>CUBE</code>, <code>ROLLUP</code> or <code>GROUPING SETS</code> are
specified, <code>groupSets</code> will have additional elements,
but they must each be a subset of <code>groupSet</code>,
and they must be sorted by inclusion:
<code>(0, 1, 2), (1), (0, 2), (0), ()</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cluster</code> - Cluster</dd>
<dd><code>traitSet</code> - Trait set</dd>
<dd><code>hints</code> - Hints of this relational expression</dd>
<dd><code>input</code> - Input relational expression</dd>
<dd><code>groupSet</code> - Bit set of grouping fields</dd>
<dd><code>groupSets</code> - List of all grouping sets; null for just <code>groupSet</code></dd>
<dd><code>aggCalls</code> - Collection of calls to aggregate functions</dd>
</dl>
</li>
</ul>
<a name="Aggregate-org.apache.calcite.plan.RelOptCluster-org.apache.calcite.plan.RelTraitSet-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.List-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Aggregate</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
protected&nbsp;Aggregate(<a href="../../../../../org/apache/calcite/plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../../../../org/apache/calcite/plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</li>
</ul>
<a name="Aggregate-org.apache.calcite.plan.RelOptCluster-org.apache.calcite.plan.RelTraitSet-org.apache.calcite.rel.RelNode-boolean-org.apache.calcite.util.ImmutableBitSet-java.util.List-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Aggregate</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
protected&nbsp;Aggregate(<a href="../../../../../org/apache/calcite/plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../../../../../org/apache/calcite/plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traits,
<a href="../../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;child,
boolean&nbsp;indicator,
<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</li>
</ul>
<a name="Aggregate-org.apache.calcite.rel.RelInput-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Aggregate</h4>
<pre>protected&nbsp;Aggregate(<a href="../../../../../org/apache/calcite/rel/RelInput.html" title="interface in org.apache.calcite.rel">RelInput</a>&nbsp;input)</pre>
<div class="block">Creates an Aggregate by parsing serialized output.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="isSimple-org.apache.calcite.rel.core.Aggregate-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSimple</h4>
<pre>public static&nbsp;boolean&nbsp;isSimple(<a href="../../../../../org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate)</pre>
</li>
</ul>
<a name="checkIndicator-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkIndicator</h4>
<pre>public static&nbsp;void&nbsp;checkIndicator(boolean&nbsp;indicator)</pre>
<div class="block">Used internally; will removed when <a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#indicator"><code>indicator</code></a> is removed,
before 2.0.</div>
</li>
</ul>
<a name="isNotGrandTotal-org.apache.calcite.rel.core.Aggregate-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNotGrandTotal</h4>
<pre>public static&nbsp;boolean&nbsp;isNotGrandTotal(<a href="../../../../../org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate)</pre>
</li>
</ul>
<a name="noIndicator-org.apache.calcite.rel.core.Aggregate-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>noIndicator</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public static&nbsp;boolean&nbsp;noIndicator(<a href="../../../../../org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</li>
</ul>
<a name="copy-org.apache.calcite.plan.RelTraitSet-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copy</h4>
<pre>public final&nbsp;<a href="../../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;copy(<a href="../../../../../org/apache/calcite/plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;inputs)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/calcite/rel/RelNode.html#copy-org.apache.calcite.plan.RelTraitSet-java.util.List-">RelNode</a></code></span></div>
<div class="block">Creates a copy of this relational expression, perhaps changing traits and
inputs.
<p>Sub-classes with other important attributes are encouraged to create
variants of this method with more parameters.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/rel/RelNode.html#copy-org.apache.calcite.plan.RelTraitSet-java.util.List-">copy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#copy-org.apache.calcite.plan.RelTraitSet-java.util.List-">copy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html" title="class in org.apache.calcite.rel">AbstractRelNode</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>traitSet</code> - Trait set</dd>
<dd><code>inputs</code> - Inputs</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Copy of this relational expression, substituting traits and
inputs</dd>
</dl>
</li>
</ul>
<a name="copy-org.apache.calcite.plan.RelTraitSet-org.apache.calcite.rel.RelNode-org.apache.calcite.util.ImmutableBitSet-java.util.List-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copy</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;copy(<a href="../../../../../org/apache/calcite/plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</pre>
<div class="block">Creates a copy of this aggregate.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>traitSet</code> - Traits</dd>
<dd><code>input</code> - Input</dd>
<dd><code>groupSet</code> - Bit set of grouping fields</dd>
<dd><code>groupSets</code> - List of all grouping sets; null for just <code>groupSet</code></dd>
<dd><code>aggCalls</code> - Collection of calls to aggregate functions</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>New <code>Aggregate</code> if any parameter differs from the value of
this <code>Aggregate</code>, or just <code>this</code> if all the parameters are
the same</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#copy-org.apache.calcite.plan.RelTraitSet-java.util.List-"><code>copy(org.apache.calcite.plan.RelTraitSet, java.util.List)</code></a></dd>
</dl>
</li>
</ul>
<a name="copy-org.apache.calcite.plan.RelTraitSet-org.apache.calcite.rel.RelNode-boolean-org.apache.calcite.util.ImmutableBitSet-java.util.List-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copy</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public&nbsp;<a href="../../../../../org/apache/calcite/rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;copy(<a href="../../../../../org/apache/calcite/plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
boolean&nbsp;indicator,
<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</li>
</ul>
<a name="getAggCallList--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAggCallList</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;getAggCallList()</pre>
<div class="block">Returns a list of calls to aggregate functions.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>list of calls to aggregate functions</dd>
</dl>
</li>
</ul>
<a name="getNamedAggCalls--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNamedAggCalls</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../../../../../org/apache/calcite/rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;getNamedAggCalls()</pre>
<div class="block">Returns a list of calls to aggregate functions together with their output
field names.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>list of calls to aggregate functions and their output field names</dd>
</dl>
</li>
</ul>
<a name="getGroupCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGroupCount</h4>
<pre>public&nbsp;int&nbsp;getGroupCount()</pre>
<div class="block">Returns the number of grouping fields.
These grouping fields are the leading fields in both the input and output
records.
<p>NOTE: The <a href="../../../../../org/apache/calcite/rel/core/Aggregate.html#getGroupSet--"><code>getGroupSet()</code></a> data structure allows for the
grouping fields to not be on the leading edge. New code should, if
possible, assume that grouping fields are in arbitrary positions in the
input relational expression.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>number of grouping fields</dd>
</dl>
</li>
</ul>
<a name="getIndicatorCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIndicatorCount</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public&nbsp;int&nbsp;getIndicatorCount()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
<div class="block">Returns the number of indicator fields.
<p>Always zero.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>number of indicator fields, always zero</dd>
</dl>
</li>
</ul>
<a name="getGroupSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGroupSet</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;getGroupSet()</pre>
<div class="block">Returns a bit set of the grouping fields.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>bit set of ordinals of grouping fields</dd>
</dl>
</li>
</ul>
<a name="getGroupSets--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGroupSets</h4>
<pre>public&nbsp;com.google.common.collect.ImmutableList&lt;<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;getGroupSets()</pre>
<div class="block">Returns the list of grouping sets computed by this Aggregate.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of all grouping sets; null for just <code>groupSet</code></dd>
</dl>
</li>
</ul>
<a name="explainTerms-org.apache.calcite.rel.RelWriter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>explainTerms</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/rel/RelWriter.html" title="interface in org.apache.calcite.rel">RelWriter</a>&nbsp;explainTerms(<a href="../../../../../org/apache/calcite/rel/RelWriter.html" title="interface in org.apache.calcite.rel">RelWriter</a>&nbsp;pw)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#explainTerms-org.apache.calcite.rel.RelWriter-">AbstractRelNode</a></code></span></div>
<div class="block">Describes the inputs and attributes of this relational expression.
Each node should call <code>super.explainTerms</code>, then call the
<a href="../../../../../org/apache/calcite/rel/RelWriter.html#input-java.lang.String-org.apache.calcite.rel.RelNode-"><code>RelWriter.input(String, RelNode)</code></a>
and
<a href="../../../../../org/apache/calcite/rel/externalize/RelWriterImpl.html#item-java.lang.String-java.lang.Object-"><code>RelWriterImpl.item(String, Object)</code></a>
methods for each input and attribute.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/rel/SingleRel.html#explainTerms-org.apache.calcite.rel.RelWriter-">explainTerms</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/calcite/rel/SingleRel.html" title="class in org.apache.calcite.rel">SingleRel</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pw</code> - Plan writer</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Plan writer for fluent-explain pattern</dd>
</dl>
</li>
</ul>
<a name="estimateRowCount-org.apache.calcite.rel.metadata.RelMetadataQuery-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>estimateRowCount</h4>
<pre>public&nbsp;double&nbsp;estimateRowCount(<a href="../../../../../org/apache/calcite/rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/calcite/rel/RelNode.html#estimateRowCount-org.apache.calcite.rel.metadata.RelMetadataQuery-">RelNode</a></code></span></div>
<div class="block">Returns an estimate of the number of rows this relational expression will
return.
<p>NOTE jvs 29-Mar-2006: Don't call this method directly. Instead, use
<a href="../../../../../org/apache/calcite/rel/metadata/RelMetadataQuery.html#getRowCount-org.apache.calcite.rel.RelNode-"><code>RelMetadataQuery.getRowCount(org.apache.calcite.rel.RelNode)</code></a>, which gives plugins a chance to
override the rel's default ideas about row count.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/rel/RelNode.html#estimateRowCount-org.apache.calcite.rel.metadata.RelMetadataQuery-">estimateRowCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/rel/SingleRel.html#estimateRowCount-org.apache.calcite.rel.metadata.RelMetadataQuery-">estimateRowCount</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/calcite/rel/SingleRel.html" title="class in org.apache.calcite.rel">SingleRel</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>mq</code> - Metadata query</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Estimate of the number of rows this relational expression will
return</dd>
</dl>
</li>
</ul>
<a name="computeSelfCost-org.apache.calcite.plan.RelOptPlanner-org.apache.calcite.rel.metadata.RelMetadataQuery-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeSelfCost</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/plan/RelOptCost.html" title="interface in org.apache.calcite.plan">RelOptCost</a>&nbsp;computeSelfCost(<a href="../../../../../org/apache/calcite/plan/RelOptPlanner.html" title="interface in org.apache.calcite.plan">RelOptPlanner</a>&nbsp;planner,
<a href="../../../../../org/apache/calcite/rel/metadata/RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a>&nbsp;mq)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/calcite/rel/RelNode.html#computeSelfCost-org.apache.calcite.plan.RelOptPlanner-org.apache.calcite.rel.metadata.RelMetadataQuery-">RelNode</a></code></span></div>
<div class="block">Returns the cost of this plan (not including children). The base
implementation throws an error; derived classes should override.
<p>NOTE jvs 29-Mar-2006: Don't call this method directly. Instead, use
<a href="../../../../../org/apache/calcite/rel/metadata/RelMetadataQuery.html#getNonCumulativeCost-org.apache.calcite.rel.RelNode-"><code>RelMetadataQuery.getNonCumulativeCost(org.apache.calcite.rel.RelNode)</code></a>, which gives plugins a
chance to override the rel's default ideas about cost.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/rel/RelNode.html#computeSelfCost-org.apache.calcite.plan.RelOptPlanner-org.apache.calcite.rel.metadata.RelMetadataQuery-">computeSelfCost</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#computeSelfCost-org.apache.calcite.plan.RelOptPlanner-org.apache.calcite.rel.metadata.RelMetadataQuery-">computeSelfCost</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html" title="class in org.apache.calcite.rel">AbstractRelNode</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>planner</code> - Planner for cost calculation</dd>
<dd><code>mq</code> - Metadata query</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Cost of this plan (not including children)</dd>
</dl>
</li>
</ul>
<a name="deriveRowType--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deriveRowType</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;deriveRowType()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/rel/SingleRel.html#deriveRowType--">deriveRowType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/calcite/rel/SingleRel.html" title="class in org.apache.calcite.rel">SingleRel</a></code></dd>
</dl>
</li>
</ul>
<a name="deriveRowType-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.rel.type.RelDataType-boolean-org.apache.calcite.util.ImmutableBitSet-java.util.List-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deriveRowType</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;deriveRowType(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputRowType,
boolean&nbsp;indicator,
<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;groupSets,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;aggCalls)</pre>
<div class="block">Computes the row type of an <code>Aggregate</code> before it exists.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>typeFactory</code> - Type factory</dd>
<dd><code>inputRowType</code> - Input row type</dd>
<dd><code>indicator</code> - Deprecated, always false</dd>
<dd><code>groupSet</code> - Bit set of grouping fields</dd>
<dd><code>groupSets</code> - List of all grouping sets; null for just <code>groupSet</code></dd>
<dd><code>aggCalls</code> - Collection of calls to aggregate functions</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Row type of the aggregate</dd>
</dl>
</li>
</ul>
<a name="isValid-org.apache.calcite.util.Litmus-org.apache.calcite.rel.RelNode.Context-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isValid</h4>
<pre>public&nbsp;boolean&nbsp;isValid(<a href="../../../../../org/apache/calcite/util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a>&nbsp;litmus,
<a href="../../../../../org/apache/calcite/rel/RelNode.Context.html" title="interface in org.apache.calcite.rel">RelNode.Context</a>&nbsp;context)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/calcite/rel/RelNode.html#isValid-org.apache.calcite.util.Litmus-org.apache.calcite.rel.RelNode.Context-">RelNode</a></code></span></div>
<div class="block">Returns whether this relational expression is valid.
<p>If assertions are enabled, this method is typically called with <code>
litmus</code> = <code>THROW</code>, as follows:
<blockquote>
<pre>assert rel.isValid(Litmus.THROW)</pre>
</blockquote>
<p>This signals that the method can throw an <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AssertionError.html?is-external=true" title="class or interface in java.lang"><code>AssertionError</code></a> if it
is not valid.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/rel/RelNode.html#isValid-org.apache.calcite.util.Litmus-org.apache.calcite.rel.RelNode.Context-">isValid</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/calcite/rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html#isValid-org.apache.calcite.util.Litmus-org.apache.calcite.rel.RelNode.Context-">isValid</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/calcite/rel/AbstractRelNode.html" title="class in org.apache.calcite.rel">AbstractRelNode</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>litmus</code> - What to do if invalid</dd>
<dd><code>context</code> - Context for validity checking</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Whether relational expression is valid</dd>
</dl>
</li>
</ul>
<a name="containsDistinctCall--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>containsDistinctCall</h4>
<pre>public&nbsp;boolean&nbsp;containsDistinctCall()</pre>
<div class="block">Returns whether any of the aggregates are DISTINCT.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Whether any of the aggregates are DISTINCT</dd>
</dl>
</li>
</ul>
<a name="getHints--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHints</h4>
<pre>public&nbsp;com.google.common.collect.ImmutableList&lt;<a href="../../../../../org/apache/calcite/rel/hint/RelHint.html" title="class in org.apache.calcite.rel.hint">RelHint</a>&gt;&nbsp;getHints()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/calcite/rel/hint/Hintable.html#getHints--">Hintable</a></code></span></div>
<div class="block">Returns the hints of this relational expressions as an immutable list.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/calcite/rel/hint/Hintable.html#getHints--">getHints</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/calcite/rel/hint/Hintable.html" title="interface in org.apache.calcite.rel.hint">Hintable</a></code></dd>
</dl>
</li>
</ul>
<a name="getGroupType--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getGroupType</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/calcite/rel/core/Aggregate.Group.html" title="enum in org.apache.calcite.rel.core">Aggregate.Group</a>&nbsp;getGroupType()</pre>
<div class="block">Returns the type of roll-up.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Type of roll-up</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>Prev&nbsp;Class</li>
<li><a href="../../../../../org/apache/calcite/rel/core/Aggregate.AggCallBinding.html" title="class in org.apache.calcite.rel.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/calcite/rel/core/Aggregate.html" target="_top">Frames</a></li>
<li><a href="Aggregate.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><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><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&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>