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 a
LogicalProject into a LogicalTableScan.
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 implementing SupportsReadingMetadata but not SupportsProjectionPushDown this is only done if SupportsReadingMetadata.supportsMetadataProjection() returns true. 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 ClassesModifier and TypeClassDescriptionstatic interfaceConfiguration 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.OperandTransformNested classes/interfaces inherited from class org.apache.calcite.plan.RelOptRule
org.apache.calcite.plan.RelOptRule.ConverterRelOptRuleOperand -
Field Summary
FieldsFields inherited from class org.apache.calcite.plan.RelRule
configFields inherited from class org.apache.calcite.plan.RelOptRule
description, operands, relBuilderFactory -
Constructor Summary
ConstructorsConstructorDescription -
Method Summary
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 Details
-
INSTANCE
-
-
Constructor Details
-
PushProjectIntoTableSourceScanRule
-
-
Method Details
-
matches
public boolean matches(org.apache.calcite.plan.RelOptRuleCall call) - Overrides:
matchesin classorg.apache.calcite.plan.RelOptRule
-
onMatch
public void onMatch(org.apache.calcite.plan.RelOptRuleCall call) - Specified by:
onMatchin classorg.apache.calcite.plan.RelOptRule
-