@Value.Enclosing public class ProjectTableScanRule extends RelRule<ProjectTableScanRule.Config>
Project
on a TableScan
of a ProjectableFilterableTable
to a Bindables.BindableTableScan.
The CoreRules.PROJECT_INTERPRETER_TABLE_SCAN variant allows an
intervening
EnumerableInterpreter.
FilterTableScanRule| Modifier and Type | Class and Description |
|---|---|
static interface |
ProjectTableScanRule.Config
Rule configuration.
|
RelRule.Done, RelRule.MatchHandler<R extends RelOptRule>, RelRule.OperandBuilder, RelRule.OperandDetailBuilder<R extends RelNode>, RelRule.OperandTransformRelOptRule.ConverterRelOptRuleOperand| Modifier and Type | Field and Description |
|---|---|
static com.google.common.base.Predicate<TableScan> |
PREDICATE
Deprecated.
|
description, operands, relBuilderFactory| Modifier | Constructor and Description |
|---|---|
protected |
ProjectTableScanRule(ProjectTableScanRule.Config config)
Creates a ProjectTableScanRule.
|
|
ProjectTableScanRule(RelOptRuleOperand operand,
RelBuilderFactory relBuilderFactory,
String description)
Deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
apply(RelOptRuleCall call,
Project project,
TableScan scan) |
void |
onMatch(RelOptRuleCall call)
Receives notification about a rule match.
|
protected static boolean |
test(TableScan scan) |
any, convert, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, matches, none, operand, operand, operand, operand, operand, operandJ, operandJ, some, toString, unordered@Deprecated public static final com.google.common.base.Predicate<TableScan> PREDICATE
protected ProjectTableScanRule(ProjectTableScanRule.Config config)
@Deprecated public ProjectTableScanRule(RelOptRuleOperand operand, RelBuilderFactory relBuilderFactory, String description)
protected static boolean test(TableScan scan)
public void onMatch(RelOptRuleCall call)
RelOptRulecall.rels holds the set of relational
expressions which match the operands to the rule;
call.rels[0] is the root expression.
Typically a rule would check that the nodes are valid matches, creates
a new expression, then calls back RelOptRuleCall.transformTo(org.apache.calcite.rel.RelNode, java.util.Map<org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelNode>, org.apache.calcite.plan.RelHintsPropagator) to
register the expression.
onMatch in class RelOptRulecall - Rule callRelOptRule.matches(RelOptRuleCall)protected void apply(RelOptRuleCall call, Project project, TableScan scan)
Copyright © 2012-2022 Apache Software Foundation. All Rights Reserved.