Class BeamAggregateProjectMergeRule
java.lang.Object
org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptRule
org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelRule<org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule.Config>
org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule
org.apache.beam.sdk.extensions.sql.impl.rule.BeamAggregateProjectMergeRule
- All Implemented Interfaces:
org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.rules.TransformationRule
public class BeamAggregateProjectMergeRule
extends org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule
This rule is essentially a wrapper around Calcite's
AggregateProjectMergeRule. In the
case when an underlying IO supports project push-down it is more efficient to not merge
Project with an Aggregate, leaving it for the BeamIOPUshDownRule.-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule
org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule.ConfigNested classes/interfaces inherited from class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelRule
org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelRule.Done, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelRule.MatchHandler<R extends org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptRule>, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelRule.OperandBuilder, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelRule.OperandDetailBuilder<R extends org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelNode>, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelRule.OperandTransformNested classes/interfaces inherited from class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptRule
org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptRule.ConverterRelOptRuleOperand -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.rules.AggregateProjectMergeRuleFields inherited from class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelRule
configFields inherited from class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptRule
description, operands, relBuilderFactory -
Constructor Summary
ConstructorsConstructorDescriptionBeamAggregateProjectMergeRule(Class<? extends org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.core.Aggregate> aggregateClass, Class<? extends org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.core.Project> projectClass, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.tools.RelBuilderFactory relBuilderFactory) -
Method Summary
Modifier and TypeMethodDescriptionvoidonMatch(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptRuleCall call) Methods inherited from class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule
applyMethods inherited from class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptRule
any, convert, convert, convert, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, matches, none, operand, operand, operand, operand, operand, operandJ, operandJ, some, toString, unordered
-
Field Details
-
INSTANCE
public static final org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule INSTANCE
-
-
Constructor Details
-
BeamAggregateProjectMergeRule
public BeamAggregateProjectMergeRule(Class<? extends org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.core.Aggregate> aggregateClass, Class<? extends org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.core.Project> projectClass, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.tools.RelBuilderFactory relBuilderFactory)
-
-
Method Details
-
onMatch
public void onMatch(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptRuleCall call) - Overrides:
onMatchin classorg.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule
-