public class ExtendedAggregateExtractProjectRule
extends org.apache.calcite.rel.rules.AggregateExtractProjectRule
Project
from a LogicalAggregate
, a
LogicalWindowAggregate
or a TableAggregate
and push it down towards the input.
Note: Most of the logic in this rule is same with AggregateExtractProjectRule
. The
difference is this rule has also taken the LogicalWindowAggregate
and TableAggregate
into consideration. Furthermore, this rule also creates trivial Project
s
unless the input node is already a Project
.
org.apache.calcite.rel.rules.AggregateExtractProjectRule.Config
org.apache.calcite.plan.RelRule.Done, org.apache.calcite.plan.RelRule.MatchHandler<R extends org.apache.calcite.plan.RelOptRule>, org.apache.calcite.plan.RelRule.OperandBuilder, org.apache.calcite.plan.RelRule.OperandDetailBuilder<R extends org.apache.calcite.rel.RelNode>, org.apache.calcite.plan.RelRule.OperandTransform
Modifier and Type | Field and Description |
---|---|
static ExtendedAggregateExtractProjectRule |
INSTANCE |
Constructor and Description |
---|
ExtendedAggregateExtractProjectRule(org.apache.calcite.plan.RelOptRuleOperand operand,
org.apache.calcite.tools.RelBuilderFactory builderFactory) |
Modifier and Type | Method and Description |
---|---|
boolean |
matches(org.apache.calcite.plan.RelOptRuleCall call) |
void |
onMatch(org.apache.calcite.plan.RelOptRuleCall call) |
any, convert, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, none, operand, operand, operand, operand, operand, operandJ, operandJ, some, toString, unordered
public static final ExtendedAggregateExtractProjectRule INSTANCE
public ExtendedAggregateExtractProjectRule(org.apache.calcite.plan.RelOptRuleOperand operand, org.apache.calcite.tools.RelBuilderFactory builderFactory)
public boolean matches(org.apache.calcite.plan.RelOptRuleCall call)
matches
in class org.apache.calcite.plan.RelOptRule
public void onMatch(org.apache.calcite.plan.RelOptRuleCall call)
onMatch
in class org.apache.calcite.rel.rules.AggregateExtractProjectRule
Copyright © 2014–2022 The Apache Software Foundation. All rights reserved.