@Internal @Value.Enclosing public class PushProjectIntoTableSourceScanRule extends org.apache.calcite.plan.RelRule<PushProjectIntoTableSourceScanRule.Config>
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.
Modifier and Type | Class and Description |
---|---|
static interface |
PushProjectIntoTableSourceScanRule.Config
Configuration for
PushProjectIntoTableSourceScanRule . |
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
Modifier and Type | Field and Description |
---|---|
static PushProjectIntoTableSourceScanRule |
INSTANCE |
Constructor and Description |
---|
PushProjectIntoTableSourceScanRule(PushProjectIntoTableSourceScanRule.Config config) |
Modifier and Type | Method and Description |
---|---|
boolean |
matches(org.apache.calcite.plan.RelOptRuleCall call) |
void |
onMatch(org.apache.calcite.plan.RelOptRuleCall call) |
any, convert, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, none, operand, operand, operand, operand, operand, operandJ, operandJ, some, toString, unordered
public static final PushProjectIntoTableSourceScanRule INSTANCE
public PushProjectIntoTableSourceScanRule(PushProjectIntoTableSourceScanRule.Config config)
Copyright © 2014–2023 The Apache Software Foundation. All rights reserved.