Package org.apache.calcite.rel.rules
Class AggregateStarTableRule
- java.lang.Object
-
- org.apache.calcite.plan.RelOptRule
-
- org.apache.calcite.rel.rules.AggregateStarTableRule
-
public class AggregateStarTableRule extends RelOptRule
Planner rule that matches anAggregate
on top of aStarTable.StarTableScan
.This pattern indicates that an aggregate table may exist. The rule asks the star table for an aggregate table at the required level of aggregation.
-
-
Field Summary
Fields Modifier and Type Field Description static AggregateStarTableRule
INSTANCE
static AggregateStarTableRule
INSTANCE2
-
Fields inherited from class org.apache.calcite.plan.RelOptRule
description, operands, relBuilderFactory
-
-
Constructor Summary
Constructors Constructor Description AggregateStarTableRule(RelOptRuleOperand operand, RelBuilderFactory relBuilderFactory, java.lang.String description)
Creates an AggregateStarTableRule.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
apply(RelOptRuleCall call, Project postProject, Aggregate aggregate, StarTable.StarTableScan scan)
private static int
find(com.google.common.collect.ImmutableList<Lattice.Measure> measures, Pair<SqlAggFunction,java.util.List<java.lang.Integer>> seek)
void
onMatch(RelOptRuleCall call)
Receives notification about a rule match.private static AggregateCall
rollUp(int groupCount, RelBuilder relBuilder, AggregateCall aggregateCall, TileKey tileKey)
-
Methods inherited from class 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 Detail
-
INSTANCE
public static final AggregateStarTableRule INSTANCE
-
INSTANCE2
public static final AggregateStarTableRule INSTANCE2
-
-
Constructor Detail
-
AggregateStarTableRule
public AggregateStarTableRule(RelOptRuleOperand operand, RelBuilderFactory relBuilderFactory, java.lang.String description)
Creates an AggregateStarTableRule.- Parameters:
operand
- root operand, must not be nulldescription
- Description, or null to guess descriptionrelBuilderFactory
- Builder for relational expressions
-
-
Method Detail
-
onMatch
public void onMatch(RelOptRuleCall call)
Description copied from class:RelOptRule
Receives notification about a rule match. At the time that this method is called,call.rels
holds the set of relational expressions which match the operands to the rule;call.rels[0]
is the root expression.Typically a rule would check that the nodes are valid matches, creates a new expression, then calls back
RelOptRuleCall.transformTo(org.apache.calcite.rel.RelNode, java.util.Map<org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelNode>)
to register the expression.- Specified by:
onMatch
in classRelOptRule
- Parameters:
call
- Rule call- See Also:
RelOptRule.matches(RelOptRuleCall)
-
apply
protected void apply(RelOptRuleCall call, Project postProject, Aggregate aggregate, StarTable.StarTableScan scan)
-
rollUp
private static AggregateCall rollUp(int groupCount, RelBuilder relBuilder, AggregateCall aggregateCall, TileKey tileKey)
-
find
private static int find(com.google.common.collect.ImmutableList<Lattice.Measure> measures, Pair<SqlAggFunction,java.util.List<java.lang.Integer>> seek)
-
-