public final class AggregatePushDownSpec extends SourceAbilitySpecBase
SourceAbilitySpec that can not only serialize/deserialize the aggregation
to/from JSON, but also can push the local aggregate into a SupportsAggregatePushDown.| Modifier and Type | Field and Description |
|---|---|
static String |
FIELD_NAME_AGGREGATE_CALLS |
static String |
FIELD_NAME_GROUPING_SETS |
static String |
FIELD_NAME_INPUT_TYPE |
FIELD_NAME_PRODUCED_TYPE| Constructor and Description |
|---|
AggregatePushDownSpec(org.apache.flink.table.types.logical.RowType inputType,
List<int[]> groupingSets,
List<org.apache.calcite.rel.core.AggregateCall> aggregateCalls,
org.apache.flink.table.types.logical.RowType producedType) |
| Modifier and Type | Method and Description |
|---|---|
void |
apply(org.apache.flink.table.connector.source.DynamicTableSource tableSource,
SourceAbilityContext context)
Apply the ability to the given
DynamicTableSource. |
static boolean |
apply(org.apache.flink.table.types.logical.RowType inputType,
List<int[]> groupingSets,
List<org.apache.calcite.rel.core.AggregateCall> aggregateCalls,
org.apache.flink.table.types.logical.RowType producedType,
org.apache.flink.table.connector.source.DynamicTableSource tableSource,
SourceAbilityContext context) |
boolean |
equals(Object o) |
String |
getDigests(SourceAbilityContext context)
Additional digests to generate when this spec is applied to the source.
|
int |
hashCode() |
boolean |
needAdjustFieldReferenceAfterProjection()
Does this spec needs adjust field reference after projection.
|
getProducedTypepublic static final String FIELD_NAME_INPUT_TYPE
public static final String FIELD_NAME_GROUPING_SETS
public static final String FIELD_NAME_AGGREGATE_CALLS
public void apply(org.apache.flink.table.connector.source.DynamicTableSource tableSource,
SourceAbilityContext context)
SourceAbilitySpecDynamicTableSource.public String getDigests(SourceAbilityContext context)
SourceAbilitySpeccontext - The context about the source.public static boolean apply(org.apache.flink.table.types.logical.RowType inputType,
List<int[]> groupingSets,
List<org.apache.calcite.rel.core.AggregateCall> aggregateCalls,
org.apache.flink.table.types.logical.RowType producedType,
org.apache.flink.table.connector.source.DynamicTableSource tableSource,
SourceAbilityContext context)
public boolean equals(Object o)
equals in class SourceAbilitySpecBasepublic int hashCode()
hashCode in class SourceAbilitySpecBasepublic boolean needAdjustFieldReferenceAfterProjection()
SourceAbilitySpecRexNode or references fields in scan table, the referenced field indices maybe changed after
projection pushdown with scan reuse. Under such case, this method need to return true to
notify planner doesn't reuse the scan.Copyright © 2014–2025 The Apache Software Foundation. All rights reserved.