public class PushLocalSortAggWithCalcIntoScanRule extends PushLocalAggIntoScanRuleBase
BatchPhysicalTableSourceScan whose table is a TableSourceTable with a source supporting
SupportsAggregatePushDown. The OptimizerConfigOptions.TABLE_OPTIMIZER_SOURCE_AGGREGATE_PUSHDOWN_ENABLED need to be true.
Suppose we have the original physical plan:
BatchPhysicalSortAggregate (global)
+- BatchPhysicalExchange (hash by group keys if group keys is not empty, else singleton)
+- BatchPhysicalLocalSortAggregate (local)
+- BatchPhysicalCalc (filed projection only)
+- BatchPhysicalTableSourceScan
This physical plan will be rewritten to:
BatchPhysicalSortAggregate (global)
+- BatchPhysicalExchange (hash by group keys if group keys is not empty, else singleton)
+- BatchPhysicalTableSourceScan (with local aggregate pushed down)
| Modifier and Type | Field and Description |
|---|---|
static PushLocalSortAggWithCalcIntoScanRule |
INSTANCE |
| Constructor and Description |
|---|
PushLocalSortAggWithCalcIntoScanRule() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
matches(org.apache.calcite.plan.RelOptRuleCall call) |
void |
onMatch(org.apache.calcite.plan.RelOptRuleCall call) |
canPushDown, getRefFiledIndex, isInputRefOnly, isProjectionNotPushedDown, pushLocalAggregateIntoScan, pushLocalAggregateIntoScan, translateAggCallArgIndex, translateGroupingArgIndexany, convert, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, none, operand, operand, operand, operand, operand, operandJ, operandJ, some, toString, unorderedpublic static final PushLocalSortAggWithCalcIntoScanRule INSTANCE
Copyright © 2014–2022 The Apache Software Foundation. All rights reserved.