com.metamatrix.query.validator
Class ValidationVisitor

java.lang.Object
  extended by com.metamatrix.query.sql.LanguageVisitor
      extended by com.metamatrix.query.validator.AbstractValidationVisitor
          extended by com.metamatrix.query.validator.ValidationVisitor

public class ValidationVisitor
extends AbstractValidationVisitor


Field Summary
 
Fields inherited from class com.metamatrix.query.validator.AbstractValidationVisitor
currentCommand
 
Constructor Summary
ValidationVisitor()
           
 
Method Summary
static boolean isNonComparable(Expression symbol)
           
 void reset()
          Reset so visitor can be used on a different language object.
protected  void validateContainsRowsUpdatedVariable(CreateUpdateProcedureCommand obj)
          Validate that the command assigns a value to the ROWS_UPDATED variable
protected  void validateGroupSupportsUpdate(GroupSymbol groupSymbol)
           
protected  void validateHasProjectedSymbols(Command obj)
           
protected  void validateInsert(Insert obj)
           
protected  void validateNoXMLProcedures(Command obj)
          This method can be used to validate commands used in the stored procedure languge cannot be executed against XML documents.
protected  void validateNoXMLUpdates(Command obj)
          This method can be used to validate Update commands cannot be executed against XML documents.
protected  void validateSelectElements(Select obj)
           
protected  void validateSelectInto(Query query)
          Validates SELECT INTO queries.
protected  void validateSetClauseList(SetClauseList list)
           
protected  void validateSetQuery(SetQuery query)
           
protected  void validateSortable(java.util.List symbols)
          Validate that no elements of type OBJECT are in a SELECT DISTINCT or and ORDER BY.
protected  void validateTranslateCriteria(TranslateCriteria obj)
          A valid translated expression is not an AggregateSymbol and does not include elements not present on the groups of the command using the translated criteria.
protected  void validateUpdate(Update update)
           
 void visit(AssignmentStatement obj)
           
 void visit(BatchedUpdateCommand obj)
           
 void visit(BetweenCriteria obj)
           
 void visit(CompareCriteria obj)
           
 void visit(CompoundCriteria obj)
           
 void visit(CreateUpdateProcedureCommand obj)
           
 void visit(DeclareStatement obj)
           
 void visit(Delete obj)
           
 void visit(DependentSetCriteria obj)
           
 void visit(Drop drop)
           
 void visit(DynamicCommand obj)
           
 void visit(Function obj)
           
 void visit(GroupBy obj)
           
 void visit(GroupSymbol obj)
           
 void visit(IfStatement obj)
           
 void visit(Insert obj)
           
 void visit(Into obj)
           
 void visit(IsNullCriteria obj)
           
 void visit(Limit obj)
           
 void visit(MatchCriteria obj)
           
 void visit(NotCriteria obj)
           
 void visit(Option obj)
           
 void visit(OrderBy obj)
           
 void visit(Query obj)
           
 void visit(Select obj)
           
 void visit(SetCriteria obj)
           
 void visit(SetQuery obj)
           
 void visit(SubqueryCompareCriteria obj)
           
 void visit(SubquerySetCriteria obj)
           
 void visit(TranslateCriteria obj)
           
 void visit(Update obj)
           
 void visit(WhileStatement obj)
           
 
Methods inherited from class com.metamatrix.query.validator.AbstractValidationVisitor
getException, getExceptionObject, getMetadata, getReport, handleException, handleException, handleValidationError, handleValidationError, handleValidationError, isXMLCommand, setMetadata, validateElementsSupport
 
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ValidationVisitor

public ValidationVisitor()
Method Detail

reset

public void reset()
Description copied from class: AbstractValidationVisitor
Reset so visitor can be used on a different language object. This does not wipe the report.

Overrides:
reset in class AbstractValidationVisitor

visit

public void visit(BatchedUpdateCommand obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(Delete obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(GroupBy obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(GroupSymbol obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(Insert obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(OrderBy obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(Query obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(Select obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(SubquerySetCriteria obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(DependentSetCriteria obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(SetQuery obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(Update obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(Into obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(Function obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(AssignmentStatement obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(CreateUpdateProcedureCommand obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(DeclareStatement obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(IfStatement obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(WhileStatement obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(TranslateCriteria obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(CompoundCriteria obj)
Overrides:
visit in class LanguageVisitor

validateTranslateCriteria

protected void validateTranslateCriteria(TranslateCriteria obj)
A valid translated expression is not an AggregateSymbol and does not include elements not present on the groups of the command using the translated criteria.


validateSelectElements

protected void validateSelectElements(Select obj)

validateHasProjectedSymbols

protected void validateHasProjectedSymbols(Command obj)

validateSortable

protected void validateSortable(java.util.List symbols)
Validate that no elements of type OBJECT are in a SELECT DISTINCT or and ORDER BY.

Parameters:
symbols - List of SingleElementSymbol

isNonComparable

public static boolean isNonComparable(Expression symbol)

validateNoXMLUpdates

protected void validateNoXMLUpdates(Command obj)
This method can be used to validate Update commands cannot be executed against XML documents.


validateNoXMLProcedures

protected void validateNoXMLProcedures(Command obj)
This method can be used to validate commands used in the stored procedure languge cannot be executed against XML documents.


validateGroupSupportsUpdate

protected void validateGroupSupportsUpdate(GroupSymbol groupSymbol)

validateSetQuery

protected void validateSetQuery(SetQuery query)

validateInsert

protected void validateInsert(Insert obj)

validateSetClauseList

protected void validateSetClauseList(SetClauseList list)

validateUpdate

protected void validateUpdate(Update update)

validateSelectInto

protected void validateSelectInto(Query query)
Validates SELECT INTO queries.

Parameters:
query -
Since:
4.2

validateContainsRowsUpdatedVariable

protected void validateContainsRowsUpdatedVariable(CreateUpdateProcedureCommand obj)
Validate that the command assigns a value to the ROWS_UPDATED variable

Parameters:
obj -
Since:
4.2

visit

public void visit(BetweenCriteria obj)
Overrides:
visit in class LanguageVisitor
Since:
4.3
See Also:
LanguageVisitor.visit(com.metamatrix.query.sql.lang.BetweenCriteria)

visit

public void visit(IsNullCriteria obj)
Overrides:
visit in class LanguageVisitor
Since:
4.3
See Also:
LanguageVisitor.visit(com.metamatrix.query.sql.lang.IsNullCriteria)

visit

public void visit(MatchCriteria obj)
Overrides:
visit in class LanguageVisitor
Since:
4.3
See Also:
LanguageVisitor.visit(com.metamatrix.query.sql.lang.MatchCriteria)

visit

public void visit(NotCriteria obj)
Overrides:
visit in class LanguageVisitor
Since:
4.3
See Also:
LanguageVisitor.visit(com.metamatrix.query.sql.lang.NotCriteria)

visit

public void visit(SetCriteria obj)
Overrides:
visit in class LanguageVisitor
Since:
4.3
See Also:
LanguageVisitor.visit(com.metamatrix.query.sql.lang.SetCriteria)

visit

public void visit(SubqueryCompareCriteria obj)
Overrides:
visit in class LanguageVisitor
Since:
4.3
See Also:
LanguageVisitor.visit(com.metamatrix.query.sql.lang.SubqueryCompareCriteria)

visit

public void visit(Option obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(DynamicCommand obj)
Overrides:
visit in class LanguageVisitor
See Also:
LanguageVisitor.visit(com.metamatrix.query.sql.lang.DynamicCommand)

visit

public void visit(Drop drop)
Overrides:
visit in class LanguageVisitor
See Also:
LanguageVisitor.visit(com.metamatrix.query.sql.lang.Drop)

visit

public void visit(CompareCriteria obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(Limit obj)
Overrides:
visit in class LanguageVisitor


Copyright © 2009. All Rights Reserved.