public class FilterProjectTransposeRule extends RelOptRule
LogicalFilter
past a LogicalProject.| Modifier and Type | Field and Description |
|---|---|
private boolean |
copyFilter |
private boolean |
copyProject |
static FilterProjectTransposeRule |
INSTANCE
The default instance of
FilterProjectTransposeRule. |
description, operands, relBuilderFactory| Modifier | Constructor and Description |
|---|---|
|
FilterProjectTransposeRule(Class<? extends Filter> filterClass,
Class<? extends Project> projectClass,
boolean copyFilter,
boolean copyProject,
RelBuilderFactory relBuilderFactory)
Creates a FilterProjectTransposeRule.
|
|
FilterProjectTransposeRule(Class<? extends Filter> filterClass,
RelFactories.FilterFactory filterFactory,
Class<? extends Project> projectClass,
RelFactories.ProjectFactory projectFactory)
Deprecated.
|
protected |
FilterProjectTransposeRule(RelOptRuleOperand operand,
boolean copyFilter,
boolean copyProject,
RelBuilderFactory relBuilderFactory) |
| Modifier and Type | Method and Description |
|---|---|
void |
onMatch(RelOptRuleCall call)
Receives notification about a rule match.
|
any, convert, convert, convertList, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, matches, none, operand, operand, operand, operand, operand, some, toString, unorderedpublic static final FilterProjectTransposeRule INSTANCE
FilterProjectTransposeRule.
It matches any kind of join or filter, and generates the same kind of join and filter.
private final boolean copyFilter
private final boolean copyProject
public FilterProjectTransposeRule(Class<? extends Filter> filterClass, Class<? extends Project> projectClass, boolean copyFilter, boolean copyProject, RelBuilderFactory relBuilderFactory)
If filterFactory is null, creates the same kind of filter as
matched in the rule. Similarly projectFactory.
@Deprecated public FilterProjectTransposeRule(Class<? extends Filter> filterClass, RelFactories.FilterFactory filterFactory, Class<? extends Project> projectClass, RelFactories.ProjectFactory projectFactory)
protected FilterProjectTransposeRule(RelOptRuleOperand operand, boolean copyFilter, boolean copyProject, RelBuilderFactory relBuilderFactory)
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>) to
register the expression.
onMatch in class RelOptRulecall - Rule callRelOptRule.matches(RelOptRuleCall)Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.