Class LcsRemoveRidExprRule

  extended by org.eigenbase.relopt.RelOptRule
      extended by 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.

$Id: //open/dev/farrago/src/com/lucidera/lcs/ $
Zelaine Fong

Nested Class Summary
private  class LcsRemoveRidExprRule.RidExprConverter
          Shuttle that locates rid expressions and converts them to literals with the value 0.
Field Summary
static LcsRemoveRidExprRule instance
Fields inherited from class org.eigenbase.relopt.RelOptRule
ANY, description, operands
Constructor Summary
private LcsRemoveRidExprRule()
          Creates a LcsRemoveRidExprRule.
Method Summary
 void onMatch(RelOptRuleCall call)
          Receives notification about a rule match.
Methods inherited from class org.eigenbase.relopt.RelOptRule
convert, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, matches, mergeTraitsAndConvert, mergeTraitsAndConvert, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Field Detail


public static final LcsRemoveRidExprRule instance
Constructor Detail


private LcsRemoveRidExprRule()
Creates a LcsRemoveRidExprRule.

Method Detail


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
call - Rule call
See Also: