Class WatermarkPushDownSpec
java.lang.Object
org.apache.flink.table.planner.plan.abilities.source.SourceAbilitySpecBase
org.apache.flink.table.planner.plan.abilities.source.WatermarkPushDownSpec
- All Implemented Interfaces:
SourceAbilitySpec
A sub-class of
SourceAbilitySpec that can not only serialize/deserialize the watermark
to/from JSON, but also can push the watermark into a SupportsWatermarkPushDown.-
Field Summary
FieldsFields inherited from class org.apache.flink.table.planner.plan.abilities.source.SourceAbilitySpecBase
FIELD_NAME_PRODUCED_TYPE -
Constructor Summary
ConstructorsConstructorDescriptionWatermarkPushDownSpec(org.apache.calcite.rex.RexNode watermarkExpr, long globalIdleTimeoutMillis, org.apache.flink.table.types.logical.RowType producedType, org.apache.flink.table.watermark.WatermarkParams watermarkParams) -
Method Summary
Modifier and TypeMethodDescriptionvoidapply(org.apache.flink.table.connector.source.DynamicTableSource tableSource, SourceAbilityContext context) Apply the ability to the givenDynamicTableSource.copy(org.apache.calcite.rex.RexNode watermarkExpr, org.apache.flink.table.types.logical.RowType producedType) booleangetDigests(SourceAbilityContext context) Additional digests to generate when this spec is applied to the source.org.apache.calcite.rex.RexNodeinthashCode()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_WATERMARK_EXPR
- See Also:
-
FIELD_NAME_GLOBAL_IDLE_TIMEOUT_MILLIS
- See Also:
-
FIELD_NAME_WATERMARK_PARAMS
- See Also:
-
-
Constructor Details
-
WatermarkPushDownSpec
public WatermarkPushDownSpec(org.apache.calcite.rex.RexNode watermarkExpr, long globalIdleTimeoutMillis, org.apache.flink.table.types.logical.RowType producedType, org.apache.flink.table.watermark.WatermarkParams watermarkParams)
-
-
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. -
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. -
copy
public WatermarkPushDownSpec copy(org.apache.calcite.rex.RexNode watermarkExpr, org.apache.flink.table.types.logical.RowType producedType) -
getWatermarkExpr
public org.apache.calcite.rex.RexNode getWatermarkExpr() -
getDigests
Description copied from interface:SourceAbilitySpecAdditional digests to generate when this spec is applied to the source.- Parameters:
context- The context about the source.
-
equals
- Overrides:
equalsin classSourceAbilitySpecBase
-
hashCode
public int hashCode()- Overrides:
hashCodein classSourceAbilitySpecBase
-