public class AggregateStarTableRule extends RelOptRule
Aggregate on
top of a StarTable.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.
| Modifier and Type | Field and Description |
|---|---|
static AggregateStarTableRule |
INSTANCE |
static AggregateStarTableRule |
INSTANCE2 |
description, operands, relBuilderFactory| Constructor and Description |
|---|
AggregateStarTableRule(RelOptRuleOperand operand,
RelBuilderFactory relBuilderFactory,
String description)
Creates an AggregateStarTableRule.
|
| Modifier and Type | Method and 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,List<Integer>> seek) |
void |
onMatch(RelOptRuleCall call)
Receives notification about a rule match.
|
private static AggregateCall |
rollUp(int groupCount,
RelBuilder relBuilder,
AggregateCall aggregateCall,
TileKey tileKey) |
any, convert, convert, convertList, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, matches, none, operand, operand, operand, operand, operand, some, toString, unorderedpublic static final AggregateStarTableRule INSTANCE
public static final AggregateStarTableRule INSTANCE2
public AggregateStarTableRule(RelOptRuleOperand operand, RelBuilderFactory relBuilderFactory, String description)
operand - root operand, must not be nulldescription - Description, or null to guess descriptionrelBuilderFactory - Builder for relational expressionspublic void onMatch(RelOptRuleCall call)
RelOptRulecall.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.
onMatch in class RelOptRulecall - Rule callRelOptRule.matches(RelOptRuleCall)protected void apply(RelOptRuleCall call, Project postProject, Aggregate aggregate, StarTable.StarTableScan scan)
private static AggregateCall rollUp(int groupCount, RelBuilder relBuilder, AggregateCall aggregateCall, TileKey tileKey)
private static int find(com.google.common.collect.ImmutableList<Lattice.Measure> measures, Pair<SqlAggFunction,List<Integer>> seek)
Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.