Class PushProjectIntoTableSourceScanRule
- java.lang.Object
-
- org.apache.calcite.plan.RelOptRule
-
- org.apache.calcite.plan.RelRule<PushProjectIntoTableSourceScanRule.Config>
-
- org.apache.flink.table.planner.plan.rules.logical.PushProjectIntoTableSourceScanRule
-
@Internal @Enclosing public class PushProjectIntoTableSourceScanRule extends org.apache.calcite.plan.RelRule<PushProjectIntoTableSourceScanRule.Config>
Pushes aLogicalProject
into aLogicalTableScan
.If the source implements
SupportsProjectionPushDown
this rule pushes the projection of physical columns into the source.If the source implements
SupportsReadingMetadata
this rule also pushes projected metadata into the source. For sources implementingSupportsReadingMetadata
but notSupportsProjectionPushDown
this is only done ifSupportsReadingMetadata.supportsMetadataProjection()
returnstrue
. This is important for some sources which would not be re-usable if different instances (due to different projected metadata) of the source were used together.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
PushProjectIntoTableSourceScanRule.Config
Configuration forPushProjectIntoTableSourceScanRule
.-
Nested classes/interfaces inherited from class org.apache.calcite.plan.RelRule
org.apache.calcite.plan.RelRule.Done, org.apache.calcite.plan.RelRule.MatchHandler<R extends org.apache.calcite.plan.RelOptRule>, org.apache.calcite.plan.RelRule.OperandBuilder, org.apache.calcite.plan.RelRule.OperandDetailBuilder<R extends org.apache.calcite.rel.RelNode>, org.apache.calcite.plan.RelRule.OperandTransform
-
-
Field Summary
Fields Modifier and Type Field Description static PushProjectIntoTableSourceScanRule
INSTANCE
-
Constructor Summary
Constructors Constructor Description PushProjectIntoTableSourceScanRule(PushProjectIntoTableSourceScanRule.Config config)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
matches(org.apache.calcite.plan.RelOptRuleCall call)
void
onMatch(org.apache.calcite.plan.RelOptRuleCall call)
-
Methods inherited from class org.apache.calcite.plan.RelOptRule
any, convert, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, none, operand, operand, operand, operand, operand, operandJ, operandJ, some, toString, unordered
-
-
-
-
Field Detail
-
INSTANCE
public static final PushProjectIntoTableSourceScanRule INSTANCE
-
-
Constructor Detail
-
PushProjectIntoTableSourceScanRule
public PushProjectIntoTableSourceScanRule(PushProjectIntoTableSourceScanRule.Config config)
-
-