com.lucidera.lcs
Class LcsIndexOptimizer.IndexFilterTuple

java.lang.Object
  extended by com.lucidera.lcs.LcsIndexOptimizer.IndexFilterTuple
Enclosing class:
LcsIndexOptimizer

public class LcsIndexOptimizer.IndexFilterTuple
extends Object


Field Summary
private  Double effectiveSelectivity
           
private  List<LcsIndexOptimizer.SargColumnFilter> filterList
           
private  FemLocalIndex index
           
 
Constructor Summary
LcsIndexOptimizer.IndexFilterTuple(FemLocalIndex index, List<LcsIndexOptimizer.SargColumnFilter> pointList, List<LcsIndexOptimizer.SargColumnFilter> intervalList, Set<LcsIndexOptimizer.SargColumnFilter> mappedFilterSet)
          Constructs a tuple (index, filters satisfiable by this index) for each indexed column, search in pointList and intervalList to see if that indexed column satisfies any filters.
 
Method Summary
 Double getEffectiveSelectivity()
           
 List<LcsIndexOptimizer.SargColumnFilter> getFilterList()
           
 FemLocalIndex getIndex()
           
 void reCalculateEffectiveSelectivity(Set<LcsIndexOptimizer.SargColumnFilter> mappedFilterSet)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

index

private FemLocalIndex index

filterList

private List<LcsIndexOptimizer.SargColumnFilter> filterList

effectiveSelectivity

private Double effectiveSelectivity
Constructor Detail

LcsIndexOptimizer.IndexFilterTuple

public LcsIndexOptimizer.IndexFilterTuple(FemLocalIndex index,
                                          List<LcsIndexOptimizer.SargColumnFilter> pointList,
                                          List<LcsIndexOptimizer.SargColumnFilter> intervalList,
                                          Set<LcsIndexOptimizer.SargColumnFilter> mappedFilterSet)
Constructs a tuple (index, filters satisfiable by this index) for each indexed column, search in pointList and intervalList to see if that indexed column satisfies any filters. Uses prefix matching rule with one restriction: matching stops at the first matched range filter. Example:
point filters range filters index on index satisfies
A,B,C   (A,B,D,C) A,B
B,C   (A,B,C) none
B A (A,B,C) A
A,C B (A,B,C) A,B
  A,B (A,B,C) A

Parameters:
index - the index to be matched with filters
pointList - list of point filters
intervalList - list of interval filters
mappedFilterSet - set of filters previously mapped to some other indexes
Method Detail

getIndex

public FemLocalIndex getIndex()

getFilterList

public List<LcsIndexOptimizer.SargColumnFilter> getFilterList()

getEffectiveSelectivity

public Double getEffectiveSelectivity()

reCalculateEffectiveSelectivity

public void reCalculateEffectiveSelectivity(Set<LcsIndexOptimizer.SargColumnFilter> mappedFilterSet)