Class BeamAggregateProjectMergeRule
java.lang.Object
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptRule
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelRule<org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule.Config>
org.apache.beam.vendor.calcite.v1_28_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_28_0.org.apache.calcite.rel.rules.TransformationRule
public class BeamAggregateProjectMergeRule
extends org.apache.beam.vendor.calcite.v1_28_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_28_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule.Config
Nested classes/interfaces inherited from class org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelRule
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelRule.Done, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelRule.MatchHandler<R extends org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptRule>, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelRule.OperandBuilder, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelRule.OperandDetailBuilder<R extends org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode>, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelRule.OperandTransform
Nested classes/interfaces inherited from class org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptRule
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptRule.ConverterRelOptRuleOperand
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule
Fields inherited from class org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelRule
config
Fields inherited from class org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptRule
description, operands, relBuilderFactory
-
Constructor Summary
ConstructorsConstructorDescriptionBeamAggregateProjectMergeRule
(Class<? extends org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.core.Aggregate> aggregateClass, Class<? extends org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.core.Project> projectClass, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.tools.RelBuilderFactory relBuilderFactory) -
Method Summary
Modifier and TypeMethodDescriptionvoid
onMatch
(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptRuleCall call) Methods inherited from class org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule
apply
Methods inherited from class org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptRule
any, 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_28_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule INSTANCE
-
-
Constructor Details
-
BeamAggregateProjectMergeRule
public BeamAggregateProjectMergeRule(Class<? extends org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.core.Aggregate> aggregateClass, Class<? extends org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.core.Project> projectClass, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.tools.RelBuilderFactory relBuilderFactory)
-
-
Method Details
-
onMatch
public void onMatch(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptRuleCall call) - Overrides:
onMatch
in classorg.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule
-