org.eigenbase.rel.metadata
Class RelMdDistinctRowCount

java.lang.Object
  extended by org.eigenbase.rel.metadata.ReflectiveRelMetadataProvider
      extended by org.eigenbase.rel.metadata.RelMdDistinctRowCount
All Implemented Interfaces:
RelMetadataProvider, ReflectiveVisitor

public class RelMdDistinctRowCount
extends ReflectiveRelMetadataProvider

RelMdDistinctRowCount supplies a default implementation of RelMetadataQuery.getDistinctRowCount(org.eigenbase.rel.RelNode, java.util.BitSet, org.eigenbase.rex.RexNode) for the standard logical algebra.

Version:
$Id: //open/dev/farrago/src/org/eigenbase/rel/metadata/RelMdDistinctRowCount.java#17 $
Author:
Zelaine Fong

Constructor Summary
RelMdDistinctRowCount()
           
 
Method Summary
 Double getDistinctRowCount(AggregateRelBase rel, BitSet groupKey, RexNode predicate)
           
 Double getDistinctRowCount(FilterRelBase rel, BitSet groupKey, RexNode predicate)
           
 Double getDistinctRowCount(JoinRelBase rel, BitSet groupKey, RexNode predicate)
           
 Double getDistinctRowCount(ProjectRelBase rel, BitSet groupKey, RexNode predicate)
           
 Double getDistinctRowCount(RelNode rel, BitSet groupKey, RexNode predicate)
           
 Double getDistinctRowCount(SemiJoinRel rel, BitSet groupKey, RexNode predicate)
           
 Double getDistinctRowCount(SortRel rel, BitSet groupKey, RexNode predicate)
           
 Double getDistinctRowCount(UnionRelBase rel, BitSet groupKey, RexNode predicate)
           
 Double getDistinctRowCount(ValuesRelBase rel, BitSet groupKey, RexNode predicate)
           
 
Methods inherited from class org.eigenbase.rel.metadata.ReflectiveRelMetadataProvider
getRelMetadata, mapParameterTypes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RelMdDistinctRowCount

public RelMdDistinctRowCount()
Method Detail

getDistinctRowCount

public Double getDistinctRowCount(UnionRelBase rel,
                                  BitSet groupKey,
                                  RexNode predicate)

getDistinctRowCount

public Double getDistinctRowCount(SortRel rel,
                                  BitSet groupKey,
                                  RexNode predicate)

getDistinctRowCount

public Double getDistinctRowCount(FilterRelBase rel,
                                  BitSet groupKey,
                                  RexNode predicate)

getDistinctRowCount

public Double getDistinctRowCount(JoinRelBase rel,
                                  BitSet groupKey,
                                  RexNode predicate)

getDistinctRowCount

public Double getDistinctRowCount(SemiJoinRel rel,
                                  BitSet groupKey,
                                  RexNode predicate)

getDistinctRowCount

public Double getDistinctRowCount(AggregateRelBase rel,
                                  BitSet groupKey,
                                  RexNode predicate)

getDistinctRowCount

public Double getDistinctRowCount(ValuesRelBase rel,
                                  BitSet groupKey,
                                  RexNode predicate)

getDistinctRowCount

public Double getDistinctRowCount(ProjectRelBase rel,
                                  BitSet groupKey,
                                  RexNode predicate)

getDistinctRowCount

public Double getDistinctRowCount(RelNode rel,
                                  BitSet groupKey,
                                  RexNode predicate)