MXQuery 0.6.0 API Documentation - Copyright 2006-2009 ETH Zurich

ch.ethz.mxquery.query.optimizer
Class ExpressionSplitter

java.lang.Object
  extended by ch.ethz.mxquery.query.optimizer.ExpressionSplitter

public final class ExpressionSplitter
extends java.lang.Object

This is an optimization class for the WindowIndexIterator. It helps to split a expression into disjunction terms and finds max index patterns. In the near future maybe this can replaced by a query rewriter.


Constructor Summary
ExpressionSplitter(java.util.List startVars, java.util.List endVars)
           
 
Method Summary
static ValueLiteral createValueTerm(XDMIterator iter, java.util.List startVars, java.util.List endVars)
          Helper calls to create a new value term from an iterator and analyze the dependencies
 DTerm splitExpression(XDMIterator expr)
          Splits an Iterator tree into disjunction terms and sorts them regarding to the variable dependencies
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExpressionSplitter

public ExpressionSplitter(java.util.List startVars,
                          java.util.List endVars)
Parameters:
startVars - List of variables
endVars - List of variables
Method Detail

splitExpression

public DTerm splitExpression(XDMIterator expr)
Splits an Iterator tree into disjunction terms and sorts them regarding to the variable dependencies

Parameters:
expr -
Returns:
the DTerm containing the expression

createValueTerm

public static ValueLiteral createValueTerm(XDMIterator iter,
                                           java.util.List startVars,
                                           java.util.List endVars)
Helper calls to create a new value term from an iterator and analyze the dependencies

Parameters:
iter -
startVars -
endVars -
Returns:
the value literal for the iterator

MXQuery 0.6.0 API Documentation - Copyright 2006-2009 ETH Zurich

MXQuery 0.6.0 API Documentation - Copyright 2006-2009 ETH Zurich