Class WindowAggregateReduceFunctionsRule

java.lang.Object
org.apache.calcite.plan.RelOptRule
org.apache.calcite.plan.RelRule<org.apache.calcite.rel.rules.AggregateReduceFunctionsRule.Config>
org.apache.calcite.rel.rules.AggregateReduceFunctionsRule
org.apache.flink.table.planner.plan.rules.logical.WindowAggregateReduceFunctionsRule
All Implemented Interfaces:
org.apache.calcite.rel.rules.TransformationRule

public class WindowAggregateReduceFunctionsRule extends org.apache.calcite.rel.rules.AggregateReduceFunctionsRule
Rule to convert complex aggregation functions into simpler ones. Have a look at AggregateReduceFunctionsRule for details.
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.apache.calcite.rel.rules.AggregateReduceFunctionsRule

    org.apache.calcite.rel.rules.AggregateReduceFunctionsRule.Config

    Nested classes/interfaces inherited from class org.apache.calcite.plan.RelRule

    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

    Nested classes/interfaces inherited from class org.apache.calcite.plan.RelOptRule

    org.apache.calcite.plan.RelOptRule.ConverterRelOptRuleOperand
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     

    Fields inherited from class org.apache.calcite.plan.RelRule

    config

    Fields inherited from class org.apache.calcite.plan.RelOptRule

    description, operands, relBuilderFactory
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    WindowAggregateReduceFunctionsRule(org.apache.calcite.rel.rules.AggregateReduceFunctionsRule.Config config)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    newAggregateRel(RelBuilder relBuilder, org.apache.calcite.rel.core.Aggregate oldAgg, List<org.apache.calcite.rel.core.AggregateCall> newCalls)
     
    protected void
    newCalcRel(RelBuilder relBuilder, org.apache.calcite.rel.type.RelDataType rowType, List<org.apache.calcite.rex.RexNode> exprs)
     

    Methods inherited from class org.apache.calcite.rel.rules.AggregateReduceFunctionsRule

    canReduce, canReduceAggCallByGrouping, matches, onMatch

    Methods inherited from class org.apache.calcite.plan.RelOptRule

    any, convert, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, 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 Details

  • Constructor Details

    • WindowAggregateReduceFunctionsRule

      protected WindowAggregateReduceFunctionsRule(org.apache.calcite.rel.rules.AggregateReduceFunctionsRule.Config config)
  • Method Details

    • newAggregateRel

      protected void newAggregateRel(RelBuilder relBuilder, org.apache.calcite.rel.core.Aggregate oldAgg, List<org.apache.calcite.rel.core.AggregateCall> newCalls)
      Overrides:
      newAggregateRel in class org.apache.calcite.rel.rules.AggregateReduceFunctionsRule
    • newCalcRel

      protected void newCalcRel(RelBuilder relBuilder, org.apache.calcite.rel.type.RelDataType rowType, List<org.apache.calcite.rex.RexNode> exprs)
      Overrides:
      newCalcRel in class org.apache.calcite.rel.rules.AggregateReduceFunctionsRule