@Value.Enclosing public class AggregateRemoveRule extends RelRule<AggregateRemoveRule.Config> implements SubstitutionRule
Aggregate
if it computes no aggregate functions
(that is, it is implementing SELECT DISTINCT),
or all the aggregate functions are splittable,
and the underlying relational expression is already distinct.CoreRules.AGGREGATE_REMOVE| Modifier and Type | Class and Description |
|---|---|
static interface |
AggregateRemoveRule.Config
Rule configuration.
|
RelRule.Done, RelRule.MatchHandler<R extends RelOptRule>, RelRule.OperandBuilder, RelRule.OperandDetailBuilder<R extends RelNode>, RelRule.OperandTransformRelOptRule.ConverterRelOptRuleOperanddescription, operands, relBuilderFactory| Modifier | Constructor and Description |
|---|---|
protected |
AggregateRemoveRule(AggregateRemoveRule.Config config)
Creates an AggregateRemoveRule.
|
|
AggregateRemoveRule(Class<? extends Aggregate> aggregateClass)
Deprecated.
|
|
AggregateRemoveRule(Class<? extends Aggregate> aggregateClass,
RelBuilderFactory relBuilderFactory)
Deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
void |
onMatch(RelOptRuleCall call)
Receives notification about a rule match.
|
any, convert, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, matches, none, operand, operand, operand, operand, operand, operandJ, operandJ, some, toString, unorderedclone, finalize, getClass, notify, notifyAll, wait, wait, waitautoPruneOldprotected AggregateRemoveRule(AggregateRemoveRule.Config config)
@Deprecated public AggregateRemoveRule(Class<? extends Aggregate> aggregateClass)
@Deprecated public AggregateRemoveRule(Class<? extends Aggregate> aggregateClass, RelBuilderFactory relBuilderFactory)
public void onMatch(RelOptRuleCall call)
RelOptRulecall.rels holds the set of relational
expressions which match the operands to the rule;
call.rels[0] is the root expression.
Typically a rule would check that the nodes are valid matches, creates
a new expression, then calls back RelOptRuleCall.transformTo(org.apache.calcite.rel.RelNode, java.util.Map<org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelNode>, org.apache.calcite.plan.RelHintsPropagator) to
register the expression.
onMatch in class RelOptRulecall - Rule callRelOptRule.matches(RelOptRuleCall)Copyright © 2012-2022 Apache Software Foundation. All Rights Reserved.