com.metamatrix.query.sql.visitor
Class EvaluatableVisitor
java.lang.Object
com.metamatrix.query.sql.LanguageVisitor
com.metamatrix.query.sql.visitor.EvaluatableVisitor
public class EvaluatableVisitor
- extends LanguageVisitor
This visitor class will traverse a language object tree, and determine
if the current expression can be evaluated
Methods inherited from class com.metamatrix.query.sql.LanguageVisitor |
setAbort, shouldAbort, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
EvaluatableVisitor
public EvaluatableVisitor()
visit
public void visit(Function obj)
- Overrides:
visit
in class LanguageVisitor
visit
public void visit(Constant obj)
- Overrides:
visit
in class LanguageVisitor
visit
public void visit(ElementSymbol obj)
- Overrides:
visit
in class LanguageVisitor
visit
public void visit(ExpressionSymbol obj)
- Overrides:
visit
in class LanguageVisitor
visit
public void visit(AggregateSymbol obj)
- Overrides:
visit
in class LanguageVisitor
visit
public void visit(Reference obj)
- We assume the non-push down for correlation variables,
then make specific checks when correlated variables are allowed.
- Overrides:
visit
in class LanguageVisitor
visit
public void visit(StoredProcedure proc)
- Overrides:
visit
in class LanguageVisitor
visit
public void visit(ScalarSubquery obj)
- Overrides:
visit
in class LanguageVisitor
visit
public void visit(DependentSetCriteria obj)
- Overrides:
visit
in class LanguageVisitor
visit
public void visit(ExistsCriteria obj)
- Overrides:
visit
in class LanguageVisitor
visit
public void visit(SubquerySetCriteria obj)
- Overrides:
visit
in class LanguageVisitor
visit
public void visit(SubqueryCompareCriteria obj)
- Overrides:
visit
in class LanguageVisitor
willBecomeConstant
public static final boolean willBecomeConstant(LanguageObject obj)
- Will return true if the expression can be deterministically evaluated at runtime, but it may not be
evaluatable during planning
isFullyEvaluatable
public static final boolean isFullyEvaluatable(LanguageObject obj,
boolean duringPlanning)
- Should be called to check if the object can fully evaluated
isEvaluatable
public static final boolean isEvaluatable(LanguageObject obj,
EvaluatableVisitor.EvaluationLevel target)
willBecomeConstant
public static final boolean willBecomeConstant(LanguageObject obj,
boolean pushdown)
needsProcessingEvaluation
public static final boolean needsProcessingEvaluation(LanguageObject obj)
Copyright © 2009. All Rights Reserved.