net.ontopia.topicmaps.query.impl.utils
Class QueryOptimizer.RecursivePruner

java.lang.Object
  extended by net.ontopia.topicmaps.query.impl.utils.QueryOptimizer.AbstractQueryOptimizer
      extended by net.ontopia.topicmaps.query.impl.utils.QueryOptimizer.RecursivePruner
All Implemented Interfaces:
QueryOptimizerIF
Enclosing class:
QueryOptimizer

public static class QueryOptimizer.RecursivePruner
extends QueryOptimizer.AbstractQueryOptimizer

This optimizer adds RemoveDuplicatesPredicate on both sides of recursive calls within predicate rules. Recursive rules tend to generate lots of redundant temporary results, which again generate more redundant junk. Removing duplicates cuts down the junk dramatically. This optimizer fixes bug #791.


Constructor Summary
QueryOptimizer.RecursivePruner()
           
 
Method Summary
 java.util.List optimize(java.util.List clauses, QueryContext context)
           
 
Methods inherited from class net.ontopia.topicmaps.query.impl.utils.QueryOptimizer.AbstractQueryOptimizer
optimize, optimize
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QueryOptimizer.RecursivePruner

public QueryOptimizer.RecursivePruner()
Method Detail

optimize

public java.util.List optimize(java.util.List clauses,
                               QueryContext context)
Specified by:
optimize in interface QueryOptimizerIF
Overrides:
optimize in class QueryOptimizer.AbstractQueryOptimizer


Copyright © 2000-2012 Ontopia.