org.apache.directory.server.core.partition.impl.btree
Interface Optimizer

All Known Implementing Classes:
DefaultOptimizer, NoOpOptimizer

public interface Optimizer

An optimizer applies heuristics to determine best execution path to a search filter based on scan counts within database indices. It annotates the nodes of an expression subtree by setting a "count" key in the node. Its goal is to annotate nodes with counts to indicate which nodes to iterate over thereby minimizing the number cycles in a search. The SearchEngine relies on these count markers to determine the appropriate path.

Version:
$Rev: 434579 $
Author:
Apache Directory Project

Method Summary
 void annotate(ExprNode node)
          Annotates the expression node tree for optimized traversal metrics.
 

Method Detail

annotate

void annotate(ExprNode node)
              throws javax.naming.NamingException
Annotates the expression node tree for optimized traversal metrics.

Parameters:
node - the root of the expression node tree
Throws:
javax.naming.NamingException - if there are failures while optimizing