edu.berkeley.cs.db.yfilter.operators
Class NFAExecution

java.lang.Object
  |
  +--edu.berkeley.cs.db.yfilter.operators.NFAExecution

public class NFAExecution
extends java.lang.Object


Field Summary
protected static int EMPTY_HENTRY
           
protected  int[] m_tmpStack
           
 
Constructor Summary
NFAExecution()
           
 
Method Summary
 void endDocument(QueryIndexBasic queryIndex, BottomStreams bottomStreams)
          in the current implementation, when this function is called, no post processing has been actually done yet.
protected  java.util.ArrayList getQueryPathContext(int last_htId, java.util.Stack runStack, java.util.Stack contextPath)
           
 RunStackElementBasic startDocument(QueryIndexBasic queryIndex)
          this function returns the start state of the NFA
 void startElement(QueryIndexBasic queryIndex, java.util.Stack runStack, java.util.Stack contextPath, java.lang.String attrname, BottomStreams bottomStreams)
          this function returns the next set of states given the current set of states.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMPTY_HENTRY

protected static int EMPTY_HENTRY

m_tmpStack

protected int[] m_tmpStack
Constructor Detail

NFAExecution

public NFAExecution()
Method Detail

startDocument

public RunStackElementBasic startDocument(QueryIndexBasic queryIndex)
this function returns the start state of the NFA


startElement

public void startElement(QueryIndexBasic queryIndex,
                         java.util.Stack runStack,
                         java.util.Stack contextPath,
                         java.lang.String attrname,
                         BottomStreams bottomStreams)
this function returns the next set of states given the current set of states. it handles the state transition lookup by hashing attrname into each of the hashtables corresponding to the current state set and returning the resulting pointed at results.


getQueryPathContext

protected java.util.ArrayList getQueryPathContext(int last_htId,
                                                  java.util.Stack runStack,
                                                  java.util.Stack contextPath)

endDocument

public void endDocument(QueryIndexBasic queryIndex,
                        BottomStreams bottomStreams)
in the current implementation, when this function is called, no post processing has been actually done yet. it doesnot work for mixed workload (single path, one predicate, or nested path) very well. for now, this function is called if there is at least one nested path per query.