Package org.teiid.query.validator
Class ValidationVisitor
- java.lang.Object
-
- org.teiid.query.sql.LanguageVisitor
-
- org.teiid.query.validator.AbstractValidationVisitor
-
- org.teiid.query.validator.ValidationVisitor
-
public class ValidationVisitor extends AbstractValidationVisitor
-
-
Field Summary
Fields Modifier and Type Field Description static Reference.Constraint
LIMIT_CONSTRAINT
-
Fields inherited from class org.teiid.query.validator.AbstractValidationVisitor
currentCommand, report, stack
-
-
Constructor Summary
Constructors Constructor Description ValidationVisitor()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static boolean
isNonComparable(Expression symbol)
void
reset()
Reset so visitor can be used on a different language object.protected void
validateGroupSupportsUpdate(GroupSymbol groupSymbol)
protected void
validateHasProjectedSymbols(Command obj)
protected void
validateInsert(Insert obj)
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(List<? extends Expression> symbols)
Validate that no elements of type OBJECT are in a SELECT DISTINCT or and ORDER BY.protected void
validateUpdate(Update update)
void
validateXMLContentTypes(Expression expression, LanguageObject parent)
void
visit(AlterProcedure obj)
void
visit(AlterTrigger obj)
void
visit(AlterView obj)
void
visit(BatchedUpdateCommand obj)
void
visit(BetweenCriteria obj)
void
visit(CompareCriteria obj)
void
visit(Create obj)
void
visit(Delete obj)
void
visit(Drop drop)
void
visit(DynamicCommand obj)
void
visit(ExistsCriteria obj)
void
visit(GroupBy obj)
void
visit(Insert obj)
void
visit(Into obj)
void
visit(IsDistinctCriteria isDistinctCriteria)
void
visit(Limit obj)
void
visit(ObjectTable obj)
void
visit(Option obj)
void
visit(OrderByItem obj)
void
visit(Query obj)
void
visit(Select obj)
void
visit(SetCriteria obj)
void
visit(SetQuery obj)
void
visit(StoredProcedure obj)
void
visit(SubqueryCompareCriteria obj)
void
visit(SubqueryFromClause obj)
void
visit(SubquerySetCriteria obj)
void
visit(TextTable obj)
void
visit(Update obj)
void
visit(WithQueryCommand obj)
void
visit(XMLTable obj)
void
visit(Block obj)
void
visit(BranchingStatement obj)
void
visit(CommandStatement obj)
void
visit(CreateProcedureCommand obj)
void
visit(LoopStatement obj)
void
visit(AggregateSymbol obj)
void
visit(Function obj)
void
visit(GroupSymbol obj)
void
visit(JSONObject obj)
void
visit(QueryString obj)
void
visit(ScalarSubquery obj)
void
visit(WindowFunction windowFunction)
void
visit(XMLAttributes obj)
void
visit(XMLCast obj)
void
visit(XMLElement obj)
void
visit(XMLExists obj)
void
visit(XMLForest obj)
void
visit(XMLNamespaces obj)
void
visit(XMLParse obj)
void
visit(XMLQuery obj)
void
visit(XMLSerialize obj)
-
Methods inherited from class org.teiid.query.validator.AbstractValidationVisitor
getException, getExceptionObject, getMetadata, getReport, handleException, handleException, handleValidationError, handleValidationError, handleValidationError, 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, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
-
-
-
-
Field Detail
-
LIMIT_CONSTRAINT
public static final Reference.Constraint LIMIT_CONSTRAINT
-
-
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 classAbstractValidationVisitor
-
visit
public void visit(BatchedUpdateCommand obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(Delete obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(GroupBy obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(GroupSymbol obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(Insert obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(OrderByItem obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(Query obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(Select obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(SubquerySetCriteria obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(XMLSerialize obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(SetQuery obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(Update obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(Into obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(Function obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(StoredProcedure obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(ScalarSubquery obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(CreateProcedureCommand obj)
- Overrides:
visit
in classLanguageVisitor
-
validateSelectElements
protected void validateSelectElements(Select obj)
-
validateHasProjectedSymbols
protected void validateHasProjectedSymbols(Command obj)
-
validateSortable
protected void validateSortable(List<? extends Expression> 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)
-
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
-
visit
public void visit(BetweenCriteria obj)
- Overrides:
visit
in classLanguageVisitor
- Since:
- 4.3
- See Also:
LanguageVisitor.visit(org.teiid.query.sql.lang.BetweenCriteria)
-
visit
public void visit(IsDistinctCriteria isDistinctCriteria)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(SetCriteria obj)
- Overrides:
visit
in classLanguageVisitor
- Since:
- 4.3
- See Also:
LanguageVisitor.visit(org.teiid.query.sql.lang.SetCriteria)
-
visit
public void visit(SubqueryCompareCriteria obj)
- Overrides:
visit
in classLanguageVisitor
- Since:
- 4.3
- See Also:
LanguageVisitor.visit(org.teiid.query.sql.lang.SubqueryCompareCriteria)
-
visit
public void visit(Option obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(DynamicCommand obj)
- Overrides:
visit
in classLanguageVisitor
- See Also:
LanguageVisitor.visit(org.teiid.query.sql.lang.DynamicCommand)
-
visit
public void visit(Create obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(Drop drop)
- Overrides:
visit
in classLanguageVisitor
- See Also:
LanguageVisitor.visit(org.teiid.query.sql.lang.Drop)
-
visit
public void visit(CompareCriteria obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(Limit obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(XMLForest obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(JSONObject obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(WindowFunction windowFunction)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(AggregateSymbol obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(XMLAttributes obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(XMLElement obj)
- Overrides:
visit
in classLanguageVisitor
-
validateXMLContentTypes
public void validateXMLContentTypes(Expression expression, LanguageObject parent)
-
visit
public void visit(QueryString obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(XMLTable obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(ObjectTable obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(XMLQuery obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(XMLExists obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(XMLCast obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(XMLNamespaces obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(TextTable obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(XMLParse obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(ExistsCriteria obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(SubqueryFromClause obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(LoopStatement obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(WithQueryCommand obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(AlterView obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(AlterProcedure obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(Block obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(CommandStatement obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(BranchingStatement obj)
- Overrides:
visit
in classLanguageVisitor
-
visit
public void visit(AlterTrigger obj)
- Overrides:
visit
in classLanguageVisitor
-
-