<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>AggregateExpandDistinctAggregatesRule (Apache Calcite API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="AggregateExpandDistinctAggregatesRule (Apache Calcite API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9,"i5":10,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AggregateExpandDistinctAggregatesRule.html">Use</a></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>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="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 id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.rel.rules</a></div>
<h2 title="Class AggregateExpandDistinctAggregatesRule" class="title">Class AggregateExpandDistinctAggregatesRule</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../plan/RelOptRule.html" title="class in org.apache.calcite.plan">org.apache.calcite.plan.RelOptRule</a></li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.rel.rules.AggregateExpandDistinctAggregatesRule</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public final class <span class="typeNameLabel">AggregateExpandDistinctAggregatesRule</span>
extends <a href="../../plan/RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></pre>
<div class="block">Planner rule that expands distinct aggregates
 (such as <code>COUNT(DISTINCT x)</code>) from a
 <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>.

 <p>How this is done depends upon the arguments to the function. If all
 functions have the same argument
 (e.g. <code>COUNT(DISTINCT x), SUM(DISTINCT x)</code> both have the argument
 <code>x</code>) then one extra <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a> is
 sufficient.

 <p>If there are multiple arguments
 (e.g. <code>COUNT(DISTINCT x), COUNT(DISTINCT y)</code>)
 the rule creates separate <code>Aggregate</code>s and combines using a
 <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a>.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="AggregateExpandDistinctAggregatesRule.html" title="class in org.apache.calcite.rel.rules">AggregateExpandDistinctAggregatesRule</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#INSTANCE">INSTANCE</a></span></code></th>
<td class="colLast">
<div class="block">The default instance of the rule; operates only on logical expressions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="AggregateExpandDistinctAggregatesRule.html" title="class in org.apache.calcite.rel.rules">AggregateExpandDistinctAggregatesRule</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#JOIN">JOIN</a></span></code></th>
<td class="colLast">
<div class="block">Instance of the rule that operates only on logical expressions and
 generates a join.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#useGroupingSets">useGroupingSets</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.apache.calcite.plan.RelOptRule">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.calcite.plan.<a href="../../plan/RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></h3>
<code><a href="../../plan/RelOptRule.html#description">description</a>, <a href="../../plan/RelOptRule.html#operands">operands</a>, <a href="../../plan/RelOptRule.html#relBuilderFactory">relBuilderFactory</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.Class,boolean,org.apache.calcite.tools.RelBuilderFactory)">AggregateExpandDistinctAggregatesRule</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&gt;&nbsp;clazz,
                                     boolean&nbsp;useGroupingSets,
                                     <a href="../../tools/RelBuilderFactory.html" title="interface in org.apache.calcite.tools">RelBuilderFactory</a>&nbsp;relBuilderFactory)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.Class,boolean,org.apache.calcite.rel.core.RelFactories.JoinFactory)">AggregateExpandDistinctAggregatesRule</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical">LogicalAggregate</a>&gt;&nbsp;clazz,
                                     boolean&nbsp;useGroupingSets,
                                     <a href="../core/RelFactories.JoinFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.JoinFactory</a>&nbsp;joinFactory)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.Class,org.apache.calcite.rel.core.RelFactories.JoinFactory)">AggregateExpandDistinctAggregatesRule</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical">LogicalAggregate</a>&gt;&nbsp;clazz,
                                     <a href="../core/RelFactories.JoinFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.JoinFactory</a>&nbsp;joinFactory)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<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="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="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>private <a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertMonopole(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.core.Aggregate,java.util.List,int)">convertMonopole</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
               <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate,
               java.util.List&lt;java.lang.Integer&gt;&nbsp;argList,
               int&nbsp;filterArg)</code></th>
<td class="colLast">
<div class="block">Converts an aggregate relational expression that contains just one
 distinct aggregate function (or perhaps several over the same arguments)
 and no non-distinct aggregate functions.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>private <a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertSingletonDistinct(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.core.Aggregate,java.util.Set)">convertSingletonDistinct</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
                        <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate,
                        java.util.Set&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;java.util.List&lt;java.lang.Integer&gt;,&#8203;java.lang.Integer&gt;&gt;&nbsp;argLists)</code></th>
<td class="colLast">
<div class="block">Converts an aggregate with one distinct aggregate and one or more
 non-distinct aggregates to multi-phase aggregates (see reference example
 below).</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>private <a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createSelectDistinct(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.core.Aggregate,java.util.List,int,java.util.Map)">createSelectDistinct</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
                    <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate,
                    java.util.List&lt;java.lang.Integer&gt;&nbsp;argList,
                    int&nbsp;filterArg,
                    java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Integer&gt;&nbsp;sourceOf)</code></th>
<td class="colLast">
<div class="block">Given an <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>
 and the ordinals of the arguments to a
 particular call to an aggregate function, creates a 'select distinct'
 relational expression which projects the group columns and those
 arguments but nothing else.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doRewrite(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.core.Aggregate,int,java.util.List,int,java.util.List)">doRewrite</a></span>&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
         <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate,
         int&nbsp;n,
         java.util.List&lt;java.lang.Integer&gt;&nbsp;argList,
         int&nbsp;filterArg,
         java.util.List&lt;<a href="../../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a>&gt;&nbsp;refs)</code></th>
<td class="colLast">
<div class="block">Converts all distinct aggregate calls to a given set of arguments.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>private static long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#groupValue(org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.util.ImmutableBitSet)">groupValue</a></span>&#8203;(<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;fullGroupSet,
          <a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../../plan/RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">
<div class="block">Receives notification about a rule match.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>private static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#remap(org.apache.calcite.util.ImmutableBitSet,int)">remap</a></span>&#8203;(<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
     int&nbsp;arg)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>private static com.google.common.collect.ImmutableList&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#remap(org.apache.calcite.util.ImmutableBitSet,java.lang.Iterable)">remap</a></span>&#8203;(<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
     java.lang.Iterable&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;bitSets)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>private static java.util.List&lt;java.lang.Integer&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#remap(org.apache.calcite.util.ImmutableBitSet,java.util.List)">remap</a></span>&#8203;(<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
     java.util.List&lt;java.lang.Integer&gt;&nbsp;argList)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>private static <a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#remap(org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.util.ImmutableBitSet)">remap</a></span>&#8203;(<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
     <a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;bitSet)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>private static void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rewriteAggCalls(java.util.List,java.util.List,java.util.Map)">rewriteAggCalls</a></span>&#8203;(java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;newAggCalls,
               java.util.List&lt;java.lang.Integer&gt;&nbsp;argList,
               java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Integer&gt;&nbsp;sourceOf)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rewriteUsingGroupingSets(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Aggregate)">rewriteUsingGroupingSets</a></span>&#8203;(<a href="../../plan/RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
                        <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.calcite.plan.RelOptRule">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.calcite.plan.<a href="../../plan/RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></h3>
<code><a href="../../plan/RelOptRule.html#any()">any</a>, <a href="../../plan/RelOptRule.html#convert(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTrait)">convert</a>, <a href="../../plan/RelOptRule.html#convert(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet)">convert</a>, <a href="../../plan/RelOptRule.html#convertList(java.util.List,org.apache.calcite.plan.RelTrait)">convertList</a>, <a href="../../plan/RelOptRule.html#convertOperand(java.lang.Class,com.google.common.base.Predicate,org.apache.calcite.plan.RelTrait)">convertOperand</a>, <a href="../../plan/RelOptRule.html#convertOperand(java.lang.Class,java.util.function.Predicate,org.apache.calcite.plan.RelTrait)">convertOperand</a>, <a href="../../plan/RelOptRule.html#equals(java.lang.Object)">equals</a>, <a href="../../plan/RelOptRule.html#equals(org.apache.calcite.plan.RelOptRule)">equals</a>, <a href="../../plan/RelOptRule.html#getOperand()">getOperand</a>, <a href="../../plan/RelOptRule.html#getOperands()">getOperands</a>, <a href="../../plan/RelOptRule.html#getOutConvention()">getOutConvention</a>, <a href="../../plan/RelOptRule.html#getOutTrait()">getOutTrait</a>, <a href="../../plan/RelOptRule.html#hashCode()">hashCode</a>, <a href="../../plan/RelOptRule.html#matches(org.apache.calcite.plan.RelOptRuleCall)">matches</a>, <a href="../../plan/RelOptRule.html#none()">none</a>, <a href="../../plan/RelOptRule.html#operand(java.lang.Class,org.apache.calcite.plan.RelOptRuleOperandChildren)">operand</a>, <a href="../../plan/RelOptRule.html#operand(java.lang.Class,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.plan.RelOptRuleOperand...)">operand</a>, <a href="../../plan/RelOptRule.html#operand(java.lang.Class,org.apache.calcite.plan.RelTrait,com.google.common.base.Predicate,org.apache.calcite.plan.RelOptRuleOperandChildren)">operand</a>, <a href="../../plan/RelOptRule.html#operand(java.lang.Class,org.apache.calcite.plan.RelTrait,com.google.common.base.Predicate,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.plan.RelOptRuleOperand...)">operand</a>, <a href="../../plan/RelOptRule.html#operand(java.lang.Class,org.apache.calcite.plan.RelTrait,org.apache.calcite.plan.RelOptRuleOperandChildren)">operand</a>, <a href="../../plan/RelOptRule.html#operandJ(java.lang.Class,org.apache.calcite.plan.RelTrait,java.util.function.Predicate,org.apache.calcite.plan.RelOptRuleOperandChildren)">operandJ</a>, <a href="../../plan/RelOptRule.html#operandJ(java.lang.Class,org.apache.calcite.plan.RelTrait,java.util.function.Predicate,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.plan.RelOptRuleOperand...)">operandJ</a>, <a href="../../plan/RelOptRule.html#some(org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.plan.RelOptRuleOperand...)">some</a>, <a href="../../plan/RelOptRule.html#toString()">toString</a>, <a href="../../plan/RelOptRule.html#unordered(org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.plan.RelOptRuleOperand...)">unordered</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, finalize, getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a id="INSTANCE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INSTANCE</h4>
<pre>public static final&nbsp;<a href="AggregateExpandDistinctAggregatesRule.html" title="class in org.apache.calcite.rel.rules">AggregateExpandDistinctAggregatesRule</a> INSTANCE</pre>
<div class="block">The default instance of the rule; operates only on logical expressions.</div>
</li>
</ul>
<a id="JOIN">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JOIN</h4>
<pre>public static final&nbsp;<a href="AggregateExpandDistinctAggregatesRule.html" title="class in org.apache.calcite.rel.rules">AggregateExpandDistinctAggregatesRule</a> JOIN</pre>
<div class="block">Instance of the rule that operates only on logical expressions and
 generates a join.</div>
</li>
</ul>
<a id="useGroupingSets">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>useGroupingSets</h4>
<pre>public final&nbsp;boolean useGroupingSets</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(java.lang.Class,boolean,org.apache.calcite.tools.RelBuilderFactory)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AggregateExpandDistinctAggregatesRule</h4>
<pre>public&nbsp;AggregateExpandDistinctAggregatesRule&#8203;(java.lang.Class&lt;? extends <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&gt;&nbsp;clazz,
                                             boolean&nbsp;useGroupingSets,
                                             <a href="../../tools/RelBuilderFactory.html" title="interface in org.apache.calcite.tools">RelBuilderFactory</a>&nbsp;relBuilderFactory)</pre>
</li>
</ul>
<a id="&lt;init&gt;(java.lang.Class,boolean,org.apache.calcite.rel.core.RelFactories.JoinFactory)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AggregateExpandDistinctAggregatesRule</h4>
<pre>@Deprecated
public&nbsp;AggregateExpandDistinctAggregatesRule&#8203;(java.lang.Class&lt;? extends <a href="../logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical">LogicalAggregate</a>&gt;&nbsp;clazz,
                                             boolean&nbsp;useGroupingSets,
                                             <a href="../core/RelFactories.JoinFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.JoinFactory</a>&nbsp;joinFactory)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
</li>
</ul>
<a id="&lt;init&gt;(java.lang.Class,org.apache.calcite.rel.core.RelFactories.JoinFactory)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AggregateExpandDistinctAggregatesRule</h4>
<pre>@Deprecated
public&nbsp;AggregateExpandDistinctAggregatesRule&#8203;(java.lang.Class&lt;? extends <a href="../logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical">LogicalAggregate</a>&gt;&nbsp;clazz,
                                             <a href="../core/RelFactories.JoinFactory.html" title="interface in org.apache.calcite.rel.core">RelFactories.JoinFactory</a>&nbsp;joinFactory)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="onMatch(org.apache.calcite.plan.RelOptRuleCall)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onMatch</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;onMatch&#8203;(<a href="../../plan/RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../plan/RelOptRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">RelOptRule</a></code></span></div>
<div class="block">Receives notification about a rule match. At the time that this method is
 called, <a href="../../plan/RelOptRuleCall.html#rels"><code>call.rels</code></a> holds the set of relational
 expressions which match the operands to the rule; <code>
 call.rels[0]</code> is the root expression.

 <p>Typically a rule would check that the nodes are valid matches, creates
 a new expression, then calls back <a href="../../plan/RelOptRuleCall.html#transformTo(org.apache.calcite.rel.RelNode,java.util.Map)"><code>RelOptRuleCall.transformTo(org.apache.calcite.rel.RelNode, java.util.Map&lt;org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelNode&gt;)</code></a> to
 register the expression.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../plan/RelOptRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></code>&nbsp;in class&nbsp;<code><a href="../../plan/RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>call</code> - Rule call</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../plan/RelOptRule.html#matches(org.apache.calcite.plan.RelOptRuleCall)"><code>RelOptRule.matches(RelOptRuleCall)</code></a></dd>
</dl>
</li>
</ul>
<a id="convertSingletonDistinct(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.core.Aggregate,java.util.Set)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertSingletonDistinct</h4>
<pre class="methodSignature">private&nbsp;<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;convertSingletonDistinct&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
                                            <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate,
                                            java.util.Set&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;java.util.List&lt;java.lang.Integer&gt;,&#8203;java.lang.Integer&gt;&gt;&nbsp;argLists)</pre>
<div class="block">Converts an aggregate with one distinct aggregate and one or more
 non-distinct aggregates to multi-phase aggregates (see reference example
 below).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>relBuilder</code> - Contains the input relational expression</dd>
<dd><code>aggregate</code> - Original aggregate</dd>
<dd><code>argLists</code> - Arguments and filters to the distinct aggregate function</dd>
</dl>
</li>
</ul>
<a id="rewriteUsingGroupingSets(org.apache.calcite.plan.RelOptRuleCall,org.apache.calcite.rel.core.Aggregate)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rewriteUsingGroupingSets</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;rewriteUsingGroupingSets&#8203;(<a href="../../plan/RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call,
                                      <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate)</pre>
</li>
</ul>
<a id="groupValue(org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.util.ImmutableBitSet)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>groupValue</h4>
<pre class="methodSignature">private static&nbsp;long&nbsp;groupValue&#8203;(<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;fullGroupSet,
                               <a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet)</pre>
</li>
</ul>
<a id="remap(org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.util.ImmutableBitSet)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remap</h4>
<pre class="methodSignature">private static&nbsp;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;remap&#8203;(<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
                                     <a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;bitSet)</pre>
</li>
</ul>
<a id="remap(org.apache.calcite.util.ImmutableBitSet,java.lang.Iterable)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remap</h4>
<pre class="methodSignature">private static&nbsp;com.google.common.collect.ImmutableList&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;remap&#8203;(<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
                                                                              java.lang.Iterable&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;bitSets)</pre>
</li>
</ul>
<a id="remap(org.apache.calcite.util.ImmutableBitSet,java.util.List)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remap</h4>
<pre class="methodSignature">private static&nbsp;java.util.List&lt;java.lang.Integer&gt;&nbsp;remap&#8203;(<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
                                                       java.util.List&lt;java.lang.Integer&gt;&nbsp;argList)</pre>
</li>
</ul>
<a id="remap(org.apache.calcite.util.ImmutableBitSet,int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remap</h4>
<pre class="methodSignature">private static&nbsp;int&nbsp;remap&#8203;(<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&nbsp;groupSet,
                         int&nbsp;arg)</pre>
</li>
</ul>
<a id="convertMonopole(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.core.Aggregate,java.util.List,int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertMonopole</h4>
<pre class="methodSignature">private&nbsp;<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;convertMonopole&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
                                   <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate,
                                   java.util.List&lt;java.lang.Integer&gt;&nbsp;argList,
                                   int&nbsp;filterArg)</pre>
<div class="block">Converts an aggregate relational expression that contains just one
 distinct aggregate function (or perhaps several over the same arguments)
 and no non-distinct aggregate functions.</div>
</li>
</ul>
<a id="doRewrite(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.core.Aggregate,int,java.util.List,int,java.util.List)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doRewrite</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;doRewrite&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
                       <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate,
                       int&nbsp;n,
                       java.util.List&lt;java.lang.Integer&gt;&nbsp;argList,
                       int&nbsp;filterArg,
                       java.util.List&lt;<a href="../../rex/RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a>&gt;&nbsp;refs)</pre>
<div class="block">Converts all distinct aggregate calls to a given set of arguments.

 <p>This method is called several times, one for each set of arguments.
 Each time it is called, it generates a JOIN to a new SELECT DISTINCT
 relational expression, and modifies the set of top-level calls.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>aggregate</code> - Original aggregate</dd>
<dd><code>n</code> - Ordinal of this in a join. <code>relBuilder</code> contains the
                  input relational expression (either the original
                  aggregate, the output from the previous call to this
                  method. <code>n</code> is 0 if we're converting the
                  first distinct aggregate in a query with no non-distinct
                  aggregates)</dd>
<dd><code>argList</code> - Arguments to the distinct aggregate function</dd>
<dd><code>filterArg</code> - Argument that filters input to aggregate function, or -1</dd>
<dd><code>refs</code> - Array of expressions which will be the projected by the
                  result of this rule. Those relating to this arg list will
                  be modified  @return Relational expression</dd>
</dl>
</li>
</ul>
<a id="rewriteAggCalls(java.util.List,java.util.List,java.util.Map)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rewriteAggCalls</h4>
<pre class="methodSignature">private static&nbsp;void&nbsp;rewriteAggCalls&#8203;(java.util.List&lt;<a href="../core/AggregateCall.html" title="class in org.apache.calcite.rel.core">AggregateCall</a>&gt;&nbsp;newAggCalls,
                                    java.util.List&lt;java.lang.Integer&gt;&nbsp;argList,
                                    java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Integer&gt;&nbsp;sourceOf)</pre>
</li>
</ul>
<a id="createSelectDistinct(org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.core.Aggregate,java.util.List,int,java.util.Map)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>createSelectDistinct</h4>
<pre class="methodSignature">private&nbsp;<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;createSelectDistinct&#8203;(<a href="../../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;relBuilder,
                                        <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a>&nbsp;aggregate,
                                        java.util.List&lt;java.lang.Integer&gt;&nbsp;argList,
                                        int&nbsp;filterArg,
                                        java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Integer&gt;&nbsp;sourceOf)</pre>
<div class="block">Given an <a href="../core/Aggregate.html" title="class in org.apache.calcite.rel.core"><code>Aggregate</code></a>
 and the ordinals of the arguments to a
 particular call to an aggregate function, creates a 'select distinct'
 relational expression which projects the group columns and those
 arguments but nothing else.

 <p>For example, given

 <blockquote>
 <pre>select f0, count(distinct f1), count(distinct f2)
 from t group by f0</pre>
 </blockquote>

 <p>and the argument list

 <blockquote>{2}</blockquote>

 <p>returns

 <blockquote>
 <pre>select distinct f0, f2 from t</pre>
 </blockquote>

 <p>The <code>sourceOf</code> map is populated with the source of each
 column; in this case sourceOf.get(0) = 0, and sourceOf.get(1) = 2.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>relBuilder</code> - Relational expression builder</dd>
<dd><code>aggregate</code> - Aggregate relational expression</dd>
<dd><code>argList</code> - Ordinals of columns to make distinct</dd>
<dd><code>filterArg</code> - Ordinal of column to filter on, or -1</dd>
<dd><code>sourceOf</code> - Out parameter, is populated with a map of where each
                  output field came from</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Aggregate relational expression which projects the required
 columns</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AggregateExpandDistinctAggregatesRule.html">Use</a></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>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="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 id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
