com.lucidera.lcs
Class LcsRemoveRidExprRule
java.lang.Object
org.eigenbase.relopt.RelOptRule
com.lucidera.lcs.LcsRemoveRidExprRule
public class LcsRemoveRidExprRule
- extends RelOptRule
LcsRemoveRidExprRule is a rule for converting rid expressions that appear in
a ProjectRel
whose child is a EmptyRel
into BIGINT null
literals. Since the child of the project produces no rows, it doesn't matter
what the rid expression returns, so long as the type of the constant matches
the original type of the rid expression.
- Version:
- $Id: //open/dev/farrago/src/com/lucidera/lcs/LcsRemoveRidExprRule.java#6 $
- Author:
- Zelaine Fong
Methods inherited from class org.eigenbase.relopt.RelOptRule |
convert, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, matches, mergeTraitsAndConvert, mergeTraitsAndConvert, toString |
instance
public static final LcsRemoveRidExprRule instance
LcsRemoveRidExprRule
private LcsRemoveRidExprRule()
- Creates a LcsRemoveRidExprRule.
onMatch
public void onMatch(RelOptRuleCall call)
- Description copied from class:
RelOptRule
- Receives notification about a rule match. At the time that this method is
called,
call.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.eigenbase.rel.RelNode)
to
register the expression.
- Specified by:
onMatch
in class RelOptRule
- Parameters:
call
- Rule call- See Also:
RelOptRule.matches(RelOptRuleCall)