@Value.Enclosing public class FilterTableScanRule extends RelRule<FilterTableScanRule.Config>
Filter
on a TableScan
of a FilterableTable
or a ProjectableFilterableTable
to a Bindables.BindableTableScan.
The CoreRules.FILTER_INTERPRETER_SCAN variant allows an
intervening
EnumerableInterpreter.
| Modifier and Type | Class and Description |
|---|---|
static interface |
FilterTableScanRule.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 |
FilterTableScanRule(FilterTableScanRule.Config config)
Creates a FilterTableScanRule.
|
protected |
FilterTableScanRule(RelOptRuleOperand operand,
RelBuilderFactory relBuilderFactory,
String description)
Deprecated.
|
protected |
FilterTableScanRule(RelOptRuleOperand operand,
String description)
Deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
apply(RelOptRuleCall call,
Filter filter,
TableScan scan) |
void |
onMatch(RelOptRuleCall call)
Receives notification about a rule match.
|
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 FilterTableScanRule(FilterTableScanRule.Config config)
@Deprecated protected FilterTableScanRule(RelOptRuleOperand operand, String description)
@Deprecated protected FilterTableScanRule(RelOptRuleOperand operand, RelBuilderFactory relBuilderFactory, String description)
public 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, Filter filter, TableScan scan)
Copyright © 2012-2022 Apache Software Foundation. All Rights Reserved.