public final class HiveExpandDistinctAggregatesRule
extends org.apache.calcite.plan.RelOptRule
COUNT(DISTINCT x)) from a
Aggregate.
How this is done depends upon the arguments to the function. If all
functions have the same argument
(e.g. COUNT(DISTINCT x), SUM(DISTINCT x) both have the argument
x) then one extra Aggregate is
sufficient.
If there are multiple arguments
(e.g. COUNT(DISTINCT x), COUNT(DISTINCT y))
the rule creates separate Aggregates and combines using a
Join.
| Modifier and Type | Field and Description |
|---|---|
static HiveExpandDistinctAggregatesRule |
INSTANCE
The default instance of the rule; operates only on logical expressions.
|
protected static org.slf4j.Logger |
LOG |
| Constructor and Description |
|---|
HiveExpandDistinctAggregatesRule(Class<? extends org.apache.calcite.rel.core.Aggregate> clazz,
org.apache.calcite.rel.core.RelFactories.ProjectFactory projectFactory) |
| Modifier and Type | Method and Description |
|---|---|
void |
onMatch(org.apache.calcite.plan.RelOptRuleCall call) |
any, convert, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, matches, none, operand, operand, operand, operand, operand, operandJ, operandJ, some, toString, unorderedpublic static final HiveExpandDistinctAggregatesRule INSTANCE
protected static final org.slf4j.Logger LOG
public HiveExpandDistinctAggregatesRule(Class<? extends org.apache.calcite.rel.core.Aggregate> clazz, org.apache.calcite.rel.core.RelFactories.ProjectFactory projectFactory)
Copyright © 2022 The Apache Software Foundation. All rights reserved.