org.eigenbase.rel.rules
Class RemoveEmptyRule

java.lang.Object
  extended by org.eigenbase.relopt.RelOptRule
      extended by org.eigenbase.rel.rules.RemoveEmptyRule

public abstract class RemoveEmptyRule
extends RelOptRule

Collection of rules which remove sections of a query plan known never to produce any rows.

Version:
$Id: //open/dev/farrago/src/org/eigenbase/rel/rules/RemoveEmptyRule.java#7 $
Author:
Julian Hyde
See Also:
EmptyRel

Field Summary
static RemoveEmptyRule filterInstance
          Singleton instance of rule which converts a FilterRel to empty if its child is empty.
static RemoveEmptyRule projectInstance
          Singleton instance of rule which converts a ProjectRel to empty if its child is empty.
static RemoveEmptyRule unionInstance
          Singleton instance of rule which removes empty children of a UnionRel.
 
Fields inherited from class org.eigenbase.relopt.RelOptRule
ANY, description, operands
 
Constructor Summary
private RemoveEmptyRule(RelOptRuleOperand operand, String desc)
          Creates a RemoveEmptyRule.
 
Method Summary
 
Methods inherited from class org.eigenbase.relopt.RelOptRule
convert, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, matches, mergeTraitsAndConvert, mergeTraitsAndConvert, onMatch, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

unionInstance

public static final RemoveEmptyRule unionInstance
Singleton instance of rule which removes empty children of a UnionRel.

Examples:


projectInstance

public static final RemoveEmptyRule projectInstance
Singleton instance of rule which converts a ProjectRel to empty if its child is empty.

Examples:


filterInstance

public static final RemoveEmptyRule filterInstance
Singleton instance of rule which converts a FilterRel to empty if its child is empty.

Examples:

Constructor Detail

RemoveEmptyRule

private RemoveEmptyRule(RelOptRuleOperand operand,
                        String desc)
Creates a RemoveEmptyRule.

Parameters:
operand - Operand
desc - Description