Class 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.Config
      • Nested 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.OperandTransform
      • Nested 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

      Fields 
      Modifier and Type Field Description
      static org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule INSTANCE  
      • Fields inherited from class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelRule

        config
      • Fields inherited from class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptRule

        description, operands, relBuilderFactory
    • Constructor Summary

      Constructors 
      Constructor Description
      BeamAggregateProjectMergeRule​(java.lang.Class<? extends org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.core.Aggregate> aggregateClass, java.lang.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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void onMatch​(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

        apply
      • Methods 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
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • INSTANCE

        public static final org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule INSTANCE
    • Constructor Detail

      • BeamAggregateProjectMergeRule

        public BeamAggregateProjectMergeRule​(java.lang.Class<? extends org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.core.Aggregate> aggregateClass,
                                             java.lang.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 Detail

      • onMatch

        public void onMatch​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptRuleCall call)
        Overrides:
        onMatch in class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule