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
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
EMPTY_HENTRY
protected static int EMPTY_HENTRY
m_tmpStack
protected int[] m_tmpStack
NFAExecution
public NFAExecution()
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.