Class AggregatePushDownSpec
java.lang.Object
org.apache.flink.table.planner.plan.abilities.source.SourceAbilitySpecBase
org.apache.flink.table.planner.plan.abilities.source.AggregatePushDownSpec
- All Implemented Interfaces:
SourceAbilitySpec
A sub-class of
SourceAbilitySpec that can not only serialize/deserialize the aggregation
to/from JSON, but also can push the local aggregate into a SupportsAggregatePushDown.-
Field Summary
FieldsFields inherited from class org.apache.flink.table.planner.plan.abilities.source.SourceAbilitySpecBase
FIELD_NAME_PRODUCED_TYPE -
Constructor Summary
ConstructorsConstructorDescriptionAggregatePushDownSpec(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) -
Method Summary
Modifier and TypeMethodDescriptionvoidapply(org.apache.flink.table.connector.source.DynamicTableSource tableSource, SourceAbilityContext context) Apply the ability to the givenDynamicTableSource.static booleanapply(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) booleangetDigests(SourceAbilityContext context) Additional digests to generate when this spec is applied to the source.inthashCode()booleanDoes this spec needs adjust field reference after projection.Methods inherited from class org.apache.flink.table.planner.plan.abilities.source.SourceAbilitySpecBase
getProducedType
-
Field Details
-
FIELD_NAME_INPUT_TYPE
- See Also:
-
FIELD_NAME_GROUPING_SETS
- See Also:
-
FIELD_NAME_AGGREGATE_CALLS
- See Also:
-
-
Constructor Details
-
AggregatePushDownSpec
-
-
Method Details
-
apply
public void apply(org.apache.flink.table.connector.source.DynamicTableSource tableSource, SourceAbilityContext context) Description copied from interface:SourceAbilitySpecApply the ability to the givenDynamicTableSource. -
getDigests
Description copied from interface:SourceAbilitySpecAdditional digests to generate when this spec is applied to the source.- Parameters:
context- The context about the source.
-
apply
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) -
equals
- Overrides:
equalsin classSourceAbilitySpecBase
-
hashCode
public int hashCode()- Overrides:
hashCodein classSourceAbilitySpecBase
-
needAdjustFieldReferenceAfterProjection
public boolean needAdjustFieldReferenceAfterProjection()Description copied from interface:SourceAbilitySpecDoes this spec needs adjust field reference after projection. If the spec containsRexNodeor 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.
-