public class BeamAggregateProjectMergeRule
extends org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule
AggregateProjectMergeRule
. In the
case when an underlying IO supports project push-down it is more efficient to not merge Project
with an Aggregate
, leaving it for the BeamIOPUshDownRule
.Modifier and Type | Field and Description |
---|---|
static org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule |
INSTANCE |
Constructor and Description |
---|
BeamAggregateProjectMergeRule(java.lang.Class<? extends org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.core.Aggregate> aggregateClass,
java.lang.Class<? extends org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.core.Project> projectClass,
org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.tools.RelBuilderFactory relBuilderFactory) |
Modifier and Type | Method and Description |
---|---|
void |
onMatch(org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelOptRuleCall call) |
apply
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
public static final org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.rules.AggregateProjectMergeRule INSTANCE
public BeamAggregateProjectMergeRule(java.lang.Class<? extends org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.core.Aggregate> aggregateClass, java.lang.Class<? extends org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.core.Project> projectClass, org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.tools.RelBuilderFactory relBuilderFactory)