com.metamatrix.query.sql.visitor
Class CorrelatedVariableSubstitutionVisitor

java.lang.Object
  extended by com.metamatrix.query.sql.LanguageVisitor
      extended by com.metamatrix.query.sql.visitor.ExpressionMappingVisitor
          extended by com.metamatrix.query.sql.visitor.CorrelatedVariableSubstitutionVisitor

public class CorrelatedVariableSubstitutionVisitor
extends ExpressionMappingVisitor

This visitor class will traverse a language object tree, finds variables in the language object and replaces the variable with a Reference obj. This visitor is needed for correlated subqueries.

The easiest way to use this visitor is to call the static method which creates the the visitor by passing it the Langiuage Object and the variable context to be looked up. The public visit() methods should NOT be called directly.


Constructor Summary
CorrelatedVariableSubstitutionVisitor()
           
 
Method Summary
 Expression replaceExpression(Expression expression)
           
static void substituteVariables(LanguageObject obj)
          Helper to visit the language object specified and replace any variables with a Reference obj, and collect the references returned.
 
Methods inherited from class com.metamatrix.query.sql.visitor.ExpressionMappingVisitor
createAliases, getVariableValues, mapExpressions, setVariableValues, 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 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CorrelatedVariableSubstitutionVisitor

public CorrelatedVariableSubstitutionVisitor()
Method Detail

replaceExpression

public Expression replaceExpression(Expression expression)
Overrides:
replaceExpression in class ExpressionMappingVisitor
See Also:
ExpressionMappingVisitor.replaceExpression(com.metamatrix.query.sql.symbol.Expression)

substituteVariables

public static final void substituteVariables(LanguageObject obj)

Helper to visit the language object specified and replace any variables with a Reference obj, and collect the references returned.

Parameters:
obj - The Language object that is to be visited that the client (outer query) is interested in references to from the correlated subquery
metadata - QueryMetadataInterface


Copyright © 2009. All Rights Reserved.