Class FilterPushDownSpec
java.lang.Object
org.apache.flink.table.planner.plan.abilities.source.SourceAbilitySpecBase
org.apache.flink.table.planner.plan.abilities.source.FilterPushDownSpec
- All Implemented Interfaces:
SourceAbilitySpec
A sub-class of
SourceAbilitySpec that can not only serialize/deserialize the filter
to/from JSON, but also can push the filter into a SupportsFilterPushDown.-
Field Summary
FieldsFields inherited from class org.apache.flink.table.planner.plan.abilities.source.SourceAbilitySpecBase
FIELD_NAME_PRODUCED_TYPE -
Constructor Summary
ConstructorsConstructorDescriptionFilterPushDownSpec(List<org.apache.calcite.rex.RexNode> predicates) FilterPushDownSpec(List<org.apache.calcite.rex.RexNode> predicates, boolean allPredicatesRetained) -
Method Summary
Modifier and TypeMethodDescriptionstatic org.apache.flink.table.connector.source.abilities.SupportsFilterPushDown.Resultapply(List<org.apache.calcite.rex.RexNode> predicates, org.apache.flink.table.connector.source.DynamicTableSource tableSource, SourceAbilityContext context) voidapply(org.apache.flink.table.connector.source.DynamicTableSource tableSource, SourceAbilityContext context) Apply the ability to the givenDynamicTableSource.booleangetDigests(SourceAbilityContext context) Additional digests to generate when this spec is applied to the source.List<org.apache.calcite.rex.RexNode>inthashCode()booleanbooleanDoes 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_PREDICATES
- See Also:
-
-
Constructor Details
-
FilterPushDownSpec
public FilterPushDownSpec(List<org.apache.calcite.rex.RexNode> predicates, boolean allPredicatesRetained) -
FilterPushDownSpec
-
-
Method Details
-
isAllPredicatesRetained
public boolean isAllPredicatesRetained() -
getPredicates
-
apply
public void apply(org.apache.flink.table.connector.source.DynamicTableSource tableSource, SourceAbilityContext context) Description copied from interface:SourceAbilitySpecApply the ability to the givenDynamicTableSource. -
apply
public static org.apache.flink.table.connector.source.abilities.SupportsFilterPushDown.Result apply(List<org.apache.calcite.rex.RexNode> predicates, org.apache.flink.table.connector.source.DynamicTableSource tableSource, SourceAbilityContext context) -
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. -
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
-