Documentation

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

        
On this page

Search results