org.teiid.query.validator
Class ValidationVisitor

java.lang.Object
  extended by org.teiid.query.sql.LanguageVisitor
      extended by org.teiid.query.validator.AbstractValidationVisitor
          extended by org.teiid.query.validator.ValidationVisitor

public class ValidationVisitor
extends AbstractValidationVisitor


Field Summary
 
Fields inherited from class org.teiid.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.
 void setUpdateProc(CreateUpdateProcedureCommand updateProc)
           
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 validateXMLContentTypes(Expression expression, LanguageObject parent)
           
 void visit(AggregateSymbol obj)
           
 void visit(AssignmentStatement obj)
           
 void visit(BatchedUpdateCommand obj)
           
 void visit(BetweenCriteria obj)
           
 void visit(CommandStatement obj)
           
 void visit(CompareCriteria obj)
           
 void visit(CompoundCriteria obj)
           
 void visit(Create 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(ExistsCriteria 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(LoopStatement obj)
           
 void visit(MatchCriteria obj)
           
 void visit(NotCriteria obj)
           
 void visit(Option obj)
           
 void visit(OrderByItem obj)
           
 void visit(Query obj)
           
 void visit(QueryString obj)
           
 void visit(ScalarSubquery obj)
           
 void visit(Select obj)
           
 void visit(SetCriteria obj)
           
 void visit(SetQuery obj)
           
 void visit(SubqueryCompareCriteria obj)
           
 void visit(SubqueryFromClause obj)
           
 void visit(SubquerySetCriteria obj)
           
 void visit(TextTable obj)
           
 void visit(TranslateCriteria obj)
           
 void visit(Update obj)
           
 void visit(WhileStatement obj)
           
 void visit(WithQueryCommand obj)
           
 void visit(XMLAttributes obj)
           
 void visit(XMLElement obj)
           
 void visit(XMLForest obj)
           
 void visit(XMLNamespaces obj)
           
 void visit(XMLParse obj)
           
 void visit(XMLQuery obj)
           
 void visit(XMLTable obj)
           
 
Methods inherited from class org.teiid.query.validator.AbstractValidationVisitor
getException, getExceptionObject, getMetadata, getReport, handleException, handleException, handleValidationError, handleValidationError, handleValidationError, isXMLCommand, setMetadata, validateElementsSupport
 
Methods inherited from class org.teiid.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
 
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

setUpdateProc

public void setUpdateProc(CreateUpdateProcedureCommand updateProc)

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(OrderByItem 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(CommandStatement obj)
Overrides:
visit in class LanguageVisitor

visit

public void visit(ScalarSubquery 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(org.teiid.query.sql.lang.BetweenCriteria)

visit

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

visit

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

visit

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

visit

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

visit

public void visit(SubqueryCompareCriteria obj)
Overrides:
visit in class LanguageVisitor
Since:
4.3
See Also:
LanguageVisitor.visit(org.teiid.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(org.teiid.query.sql.lang.DynamicCommand)

visit

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

visit

public void visit(Drop drop)
Overrides:
visit in class LanguageVisitor
See Also:
LanguageVisitor.visit(org.teiid.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

visit

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

visit

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

visit

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

visit

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

validateXMLContentTypes

public void validateXMLContentTypes(Expression expression,
                                    LanguageObject parent)

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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

visit

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


Copyright © 2010. All Rights Reserved.