public abstract class LogicalWindowAggregateRule
extends org.apache.calcite.plan.RelOptRule
Constructor and Description |
---|
LogicalWindowAggregateRule(String ruleName) |
Modifier and Type | Method and Description |
---|---|
abstract org.apache.calcite.rex.RexNode |
getInAggregateGroupExpression(org.apache.calcite.rex.RexBuilder rexBuilder,
org.apache.calcite.rex.RexCall windowExpression)
Returns the expression that replaces the window expression before the aggregation.
|
abstract org.apache.calcite.rex.RexNode |
getOutAggregateGroupExpression(org.apache.calcite.rex.RexBuilder rexBuilder,
org.apache.calcite.rex.RexCall windowExpression)
Returns the expression that replaces the window expression after the aggregation.
|
scala.collection.Seq<scala.Tuple2<org.apache.calcite.rex.RexCall,Object>> |
getWindowExpressions(org.apache.calcite.rel.logical.LogicalAggregate agg) |
boolean |
matches(org.apache.calcite.plan.RelOptRuleCall call) |
void |
onMatch(org.apache.calcite.plan.RelOptRuleCall call)
Transform LogicalAggregate with windowing expression to LogicalProject
+ LogicalWindowAggregate + LogicalProject.
|
abstract Window |
translateWindowExpression(org.apache.calcite.rex.RexCall windowExpr,
org.apache.calcite.rel.type.RelDataType rowType)
translate the group window expression in to a Flink Table window.
|
public LogicalWindowAggregateRule(String ruleName)
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)
The transformation adds an additional LogicalProject at the top to ensure that the types are equivalent.
onMatch
in class org.apache.calcite.plan.RelOptRule
call
- (undocumented)public scala.collection.Seq<scala.Tuple2<org.apache.calcite.rex.RexCall,Object>> getWindowExpressions(org.apache.calcite.rel.logical.LogicalAggregate agg)
public abstract org.apache.calcite.rex.RexNode getInAggregateGroupExpression(org.apache.calcite.rex.RexBuilder rexBuilder, org.apache.calcite.rex.RexCall windowExpression)
public abstract org.apache.calcite.rex.RexNode getOutAggregateGroupExpression(org.apache.calcite.rex.RexBuilder rexBuilder, org.apache.calcite.rex.RexCall windowExpression)
public abstract Window translateWindowExpression(org.apache.calcite.rex.RexCall windowExpr, org.apache.calcite.rel.type.RelDataType rowType)
Copyright © 2014–2018 The Apache Software Foundation. All rights reserved.