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

public final class AggregatePushDownSpec extends SourceAbilitySpecBase
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 Details

  • Constructor Details

    • AggregatePushDownSpec

      public 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)
  • Method Details

    • apply

      public void apply(org.apache.flink.table.connector.source.DynamicTableSource tableSource, SourceAbilityContext context)
      Description copied from interface: SourceAbilitySpec
      Apply the ability to the given DynamicTableSource.
    • getDigests

      public String getDigests(SourceAbilityContext context)
      Description copied from interface: SourceAbilitySpec
      Additional 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

      public boolean equals(Object o)
      Overrides:
      equals in class SourceAbilitySpecBase
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class SourceAbilitySpecBase
    • needAdjustFieldReferenceAfterProjection

      public boolean needAdjustFieldReferenceAfterProjection()
      Description copied from interface: SourceAbilitySpec
      Does this spec needs adjust field reference after projection. If the spec contains RexNode 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.