public final class WatermarkPushDownSpec extends SourceAbilitySpecBase
SourceAbilitySpec
that can not only serialize/deserialize the watermark
to/from JSON, but also can push the watermark into a SupportsWatermarkPushDown
.Modifier and Type | Field and Description |
---|---|
static String |
FIELD_NAME_GLOBAL_IDLE_TIMEOUT_MILLIS |
static String |
FIELD_NAME_WATERMARK_EXPR |
static String |
FIELD_NAME_WATERMARK_PARAMS |
FIELD_NAME_PRODUCED_TYPE
Constructor and Description |
---|
WatermarkPushDownSpec(org.apache.calcite.rex.RexNode watermarkExpr,
long globalIdleTimeoutMillis,
RowType producedType,
WatermarkParams watermarkParams) |
Modifier and Type | Method and Description |
---|---|
void |
apply(DynamicTableSource tableSource,
SourceAbilityContext context)
Apply the ability to the given
DynamicTableSource . |
WatermarkPushDownSpec |
copy(org.apache.calcite.rex.RexNode watermarkExpr,
RowType producedType) |
boolean |
equals(Object o) |
String |
getDigests(SourceAbilityContext context)
Additional digests to generate when this spec is applied to the source.
|
org.apache.calcite.rex.RexNode |
getWatermarkExpr() |
int |
hashCode() |
boolean |
needAdjustFieldReferenceAfterProjection()
Does this spec needs adjust field reference after projection.
|
getProducedType
public static final String FIELD_NAME_WATERMARK_EXPR
public static final String FIELD_NAME_GLOBAL_IDLE_TIMEOUT_MILLIS
public static final String FIELD_NAME_WATERMARK_PARAMS
public WatermarkPushDownSpec(org.apache.calcite.rex.RexNode watermarkExpr, long globalIdleTimeoutMillis, RowType producedType, WatermarkParams watermarkParams)
public void apply(DynamicTableSource tableSource, SourceAbilityContext context)
SourceAbilitySpec
DynamicTableSource
.public boolean needAdjustFieldReferenceAfterProjection()
SourceAbilitySpec
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.public WatermarkPushDownSpec copy(org.apache.calcite.rex.RexNode watermarkExpr, RowType producedType)
public org.apache.calcite.rex.RexNode getWatermarkExpr()
public String getDigests(SourceAbilityContext context)
SourceAbilitySpec
context
- The context about the source.public boolean equals(Object o)
equals
in class SourceAbilitySpecBase
public int hashCode()
hashCode
in class SourceAbilitySpecBase
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.