AST
Table of Contents
Namespaces
- Functions
Interfaces
- TypedExpression
- Provides an API for resolving the type of a Node
Classes
- AggregateExpression
- Abstract class of an AST node.
- ArithmeticExpression
- ArithmeticExpression ::= SimpleArithmeticExpression | "(" Subselect ")"
- ArithmeticFactor
- ArithmeticFactor ::= [("+" | "-")] ArithmeticPrimary
- ArithmeticTerm
- ArithmeticTerm ::= ArithmeticFactor {("*" | "/") ArithmeticFactor}*
- ASTException
- Base exception class for AST exceptions.
- BetweenExpression
- Abstract class of an AST node.
- CoalesceExpression
- CoalesceExpression ::= "COALESCE" "(" ScalarExpression {"," ScalarExpression}* ")"
- CollectionMemberExpression
- CollectionMemberExpression ::= EntityExpression ["NOT"] "MEMBER" ["OF"] CollectionValuedPathExpression
- ComparisonExpression
- ComparisonExpression ::= ArithmeticExpression ComparisonOperator ( QuantifiedExpression | ArithmeticExpression ) |
StringExpression ComparisonOperator (StringExpression | QuantifiedExpression) |
BooleanExpression ("=" | "<>" | "!=") (BooleanExpression | QuantifiedExpression) |
EnumExpression ("=" | "<>" | "!=") (EnumExpression | QuantifiedExpression) |
DatetimeExpression ComparisonOperator (DatetimeExpression | QuantifiedExpression) |
EntityExpression ("=" | "<>") (EntityExpression | QuantifiedExpression)
- ConditionalExpression
- ConditionalExpression ::= ConditionalTerm {"OR" ConditionalTerm}*
- ConditionalFactor
- ConditionalFactor ::= ["NOT"] ConditionalPrimary
- ConditionalPrimary
- ConditionalPrimary ::= SimpleConditionalExpression | "(" ConditionalExpression ")"
- ConditionalTerm
- ConditionalTerm ::= ConditionalFactor {"AND" ConditionalFactor}*
- DeleteClause
- DeleteClause ::= "DELETE" ["FROM"] AbstractSchemaName [["AS"] AliasIdentificationVariable]
- DeleteStatement
- DeleteStatement = DeleteClause [WhereClause]
- EmptyCollectionComparisonExpression
- EmptyCollectionComparisonExpression ::= CollectionValuedPathExpression "IS" ["NOT"] "EMPTY"
- ExistsExpression
- ExistsExpression ::= ["NOT"] "EXISTS" "(" Subselect ")"
- FromClause
- FromClause ::= "FROM" IdentificationVariableDeclaration {"," IdentificationVariableDeclaration}
- GeneralCaseExpression
- GeneralCaseExpression ::= "CASE" WhenClause {WhenClause}* "ELSE" ScalarExpression "END"
- GroupByClause
- Abstract class of an AST node.
- HavingClause
- Abstract class of an AST node.
- IdentificationVariableDeclaration
- IdentificationVariableDeclaration ::= RangeVariableDeclaration [IndexBy] {JoinVariableDeclaration}*
- IndexBy
- IndexBy ::= "INDEX" "BY" SingleValuedPathExpression
- InExpression
- InExpression ::= ArithmeticExpression ["NOT"] "IN" "(" (Literal {"," Literal}* | Subselect) ")"
- InListExpression
- InExpression ::= ArithmeticExpression ["NOT"] "IN" "(" (Literal {"," Literal}* | Subselect) ")"
- InputParameter
- Abstract class of an AST node.
- InstanceOfExpression
- InstanceOfExpression ::= IdentificationVariable ["NOT"] "INSTANCE" ["OF"] (InstanceOfParameter | "(" InstanceOfParameter {"," InstanceOfParameter}* ")")
InstanceOfParameter ::= AbstractSchemaName | InputParameter
- InSubselectExpression
- InExpression ::= ArithmeticExpression ["NOT"] "IN" "(" (Literal {"," Literal}* | Subselect) ")"
- Join
- Join ::= ["LEFT" ["OUTER"] | "INNER"] "JOIN" JoinAssociationPathExpression
["AS"] AliasIdentificationVariable [("ON" | "WITH") ConditionalExpression]
- JoinAssociationDeclaration
- JoinAssociationDeclaration ::= JoinAssociationPathExpression ["AS"] AliasIdentificationVariable
- JoinAssociationPathExpression
- JoinAssociationPathExpression ::= IdentificationVariable "." (SingleValuedAssociationField | CollectionValuedAssociationField)
- JoinClassPathExpression
- JoinClassPathExpression ::= AbstractSchemaName ["AS"] AliasIdentificationVariable
- JoinVariableDeclaration
- JoinVariableDeclaration ::= Join [IndexBy]
- LikeExpression
- LikeExpression ::= StringExpression ["NOT"] "LIKE" string ["ESCAPE" char]
- Literal
- Abstract class of an AST node.
- NewObjectExpression
- NewObjectExpression ::= "NEW" IdentificationVariable "(" NewObjectArg {"," NewObjectArg}* ")"
- Node
- Abstract class of an AST node.
- NullComparisonExpression
- NullComparisonExpression ::= (SingleValuedPathExpression | InputParameter) "IS" ["NOT"] "NULL"
- NullIfExpression
- NullIfExpression ::= "NULLIF" "(" ScalarExpression "," ScalarExpression ")"
- OrderByClause
- OrderByClause ::= "ORDER" "BY" OrderByItem {"," OrderByItem}*
- OrderByItem
- OrderByItem ::= (ResultVariable | StateFieldPathExpression) ["ASC" | "DESC"]
- ParenthesisExpression
- ParenthesisExpression ::= "(" ArithmeticPrimary ")"
- PartialObjectExpression
- Abstract class of an AST node.
- PathExpression
- AssociationPathExpression ::= CollectionValuedPathExpression | SingleValuedAssociationPathExpression
SingleValuedPathExpression ::= StateFieldPathExpression | SingleValuedAssociationPathExpression
StateFieldPathExpression ::= SimpleStateFieldPathExpression | SimpleStateFieldAssociationPathExpression
SingleValuedAssociationPathExpression ::= IdentificationVariable "." SingleValuedAssociationField
CollectionValuedPathExpression ::= IdentificationVariable "." CollectionValuedAssociationField
StateField ::= {EmbeddedClassStateField "."}* SimpleStateField
SimpleStateFieldPathExpression ::= IdentificationVariable "." StateField
- QuantifiedExpression
- QuantifiedExpression ::= ("ALL" | "ANY" | "SOME") "(" Subselect ")"
- RangeVariableDeclaration
- RangeVariableDeclaration ::= AbstractSchemaName ["AS"] AliasIdentificationVariable
- SelectClause
- SelectClause = "SELECT" ["DISTINCT"] SelectExpression {"," SelectExpression}
- SelectExpression
- SelectExpression ::= IdentificationVariable ["." "*"] | StateFieldPathExpression |
(AggregateExpression | "(" Subselect ")") [["AS"] ["HIDDEN"] FieldAliasIdentificationVariable]
- SelectStatement
- SelectStatement = SelectClause FromClause [WhereClause] [GroupByClause] [HavingClause] [OrderByClause]
- SimpleArithmeticExpression
- SimpleArithmeticExpression ::= ArithmeticTerm {("+" | "-") ArithmeticTerm}*
- SimpleCaseExpression
- SimpleCaseExpression ::= "CASE" CaseOperand SimpleWhenClause {SimpleWhenClause}* "ELSE" ScalarExpression "END"
- SimpleSelectClause
- SimpleSelectClause ::= "SELECT" ["DISTINCT"] SimpleSelectExpression
- SimpleSelectExpression
- SimpleSelectExpression ::= StateFieldPathExpression | IdentificationVariable
| (AggregateExpression [["AS"] FieldAliasIdentificationVariable])
- SimpleWhenClause
- SimpleWhenClause ::= "WHEN" ScalarExpression "THEN" ScalarExpression
- Subselect
- Subselect ::= SimpleSelectClause SubselectFromClause [WhereClause] [GroupByClause] [HavingClause] [OrderByClause]
- SubselectFromClause
- SubselectFromClause ::= "FROM" SubselectIdentificationVariableDeclaration {"," SubselectIdentificationVariableDeclaration}*
- SubselectIdentificationVariableDeclaration
- SubselectIdentificationVariableDeclaration ::= AssociationPathExpression ["AS"] AliasIdentificationVariable
- UpdateClause
- UpdateClause ::= "UPDATE" AbstractSchemaName [["AS"] AliasIdentificationVariable] "SET" UpdateItem {"," UpdateItem}*
- UpdateItem
- UpdateItem ::= [IdentificationVariable "."] {StateField | SingleValuedAssociationField} "=" NewValue
NewValue ::= SimpleArithmeticExpression | StringPrimary | DatetimePrimary | BooleanPrimary |
EnumPrimary | SimpleEntityExpression | "NULL"
- UpdateStatement
- UpdateStatement = UpdateClause [WhereClause]
- WhenClause
- WhenClause ::= "WHEN" ConditionalExpression "THEN" ScalarExpression
- WhereClause
- WhereClause ::= "WHERE" ConditionalExpression