@Internal public interface SourceAbilitySpec
DynamicTableSource
.Modifier and Type | Method and Description |
---|---|
void |
apply(DynamicTableSource tableSource,
SourceAbilityContext context)
Apply the ability to the given
DynamicTableSource . |
String |
getDigests(SourceAbilityContext context)
Additional digests to generate when this spec is applied to the source.
|
Optional<RowType> |
getProducedType()
Return the produced
RowType this the ability is applied. |
boolean |
needAdjustFieldReferenceAfterProjection()
Does this spec needs adjust field reference after projection.
|
void apply(DynamicTableSource tableSource, SourceAbilityContext context)
DynamicTableSource
.Optional<RowType> getProducedType()
RowType
this the ability is applied.
NOTE: If the ability does not change the produced type, this method will return Optional.empty()
.
boolean needAdjustFieldReferenceAfterProjection()
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.String getDigests(SourceAbilityContext context)
context
- The context about the source.Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.