saffron.rel
Class RemoveTrivialProjectRule

java.lang.Object
  |
  +--saffron.opt.Rule
        |
        +--saffron.rel.RemoveTrivialProjectRule

public class RemoveTrivialProjectRule
extends Rule

Rule which, given a Project node which merely returns its input, converts the node into its child.

For example, Project(ArrayReader(a), {$input0}) becomes ArrayReader(a).


Field Summary
 
Fields inherited from class saffron.opt.Rule
description, planner
 
Constructor Summary
RemoveTrivialProjectRule()
           
 
Method Summary
 void onMatch(RuleCall call)
          This method is called every time the rule matches.
 
Methods inherited from class saffron.opt.Rule
convert, getOutConvention, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RemoveTrivialProjectRule

public RemoveTrivialProjectRule()
Method Detail

onMatch

public void onMatch(RuleCall call)
Description copied from class: Rule
This method is called every time the rule matches. 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 RuleCall.transformTo(saffron.rel.Rel) to register the expression.

Specified by:
onMatch in class Rule

SourceForge.net_Logo