Expr ::= OperatorExpr | QuantifiedExpr

OperatorExpr ::= PathExpr
                 | Operator OperatorExpr
                 | OperatorExpr Operator OperatorExpr?
                 | OperatorExpr "BETWEEN" OperatorExpr "AND" OperatorExpr

QuantifiedExpr::= ( "SOME" | "EVERY" | ( "SOME" "AND" "EVERY" ) ) Variable "IN" Expr ( "," Variable "IN" Expr )* "SATISFIES" Expr ("END")?

PathExpr ::= PrimaryExpr ("." Identifier | "[" Expr (":" (Expr)? )? "]")*

PrimaryExpr ::=  Literal
                |VariableRef
                |ParameterRef
                |ParenthesizedExpr
                |FunctionCall
                |CaseExpr
                |Constructor

Literal ::=  StringLiteral
            |IntegerLiteral
            |FloatLiteral
            |DoubleLiteral
            |"NULL"
            |"MISSING"
            |"TRUE"
            |"FALSE"

ParenthesizedExpr ::= ("(" Expr ")") | Subquery

FunctionCall ::= OrdinaryFunctionCall | AggregateFunctionCall | WindowFunctionCall

OrdinaryFunctionCall ::= (DataverseName ".")? Identifier "(" Expr ("," Expr)* ")"

AggregateFunctionCall ::= Identifier "(" ("DISTINCT")? Expr ")" ("FILTER" "(" "WHERE" Expr ")")?

CaseExpr ::= SimpleCaseExpr | SearchedCaseExpr

SimpleCaseExpr ::= "CASE" Expr ("WHEN" Expr "THEN" Expr)+ ("ELSE" Expr)? "END"

SearchedCaseExpr ::= "CASE" ("WHEN" Expr "THEN" Expr)+ ("ELSE" Expr)? "END"

Constructor ::= ObjectConstructor | ArrayConstructor | ParenthesizedArrayConstructor | MultisetConstructor

ObjectConstructor ::= "{" ( Expr ( ":" Expr )? ( "," Expr ( ":" Expr )? )* )? "}"

ArrayConstructor ::= "[" Expr ("," Expr)* "]"

ParenthesizedArrayConstructor ::= "(" Expr ("," Expr)+ ")"

MultisetConstructor ::= "{{" Expr ("," Expr)* "}}"

Query ::= (Expr | Selection)

Selection ::= (WithClause | LetClause)? QueryBlock UnionOption* OrderByClause? ( LimitClause | OffsetClause )?

QueryBlock ::= SelectClause ( ( LetClause WhereClause? ) | StreamGenerator )?
             | StreamGenerator SelectClause

StreamGenerator::= FromClause LetClause? WhereClause? (GroupByClause LetClause? HavingClause?)?

SelectClause ::= "SELECT" ("DISTINCT" | "ALL")? ( "VALUE" Expr | Projection ("," Projection)*)

Projection ::= (Expr ("AS"? Identifier)?) | (VariableRef "." "*") | "*"

FromClause ::= "FROM" FromTerm ("," FromTerm)*

FromTerm ::= NamedExpr (JoinStep | UnnestStep)*

NamedExpr ::= Expr ("AS"? Variable)?

JoinStep ::= ( ("INNER" | ( ( "LEFT" | "RIGHT" ) "OUTER"?))? "JOIN" NamedExpr "ON" Expr ) |
             ( "CROSS" "JOIN" NamedExpr )

UnnestStep ::= ("INNER" | ( "LEFT" "OUTER"?))? "UNNEST" NamedExpr

LetClause ::= "LET" Variable "=" Expr ("," Variable "=" Expr)*

WhereClause ::= "WHERE" Expr

GroupByClause ::= "GROUP BY" GroupingElement ("," GroupingElement)* GroupAsClause?

GroupingElement ::= OrdinaryGroupingSet
              | ( "GROUPING" "SETS" "(" GroupingElement ("," GroupingElement)* ")" )
              | ( ( "ROLLUP" | "CUBE" ) "(" OrdinaryGroupingSet ( "," OrdinaryGroupingSet )* ")" )
              | ( "(" ")" )

OrdinaryGroupingSet ::= NamedExpr | ( "(" NamedExpr ( "," NamedExpr )* ")")

GroupAsClause ::= "GROUP AS" Variable

HavingClause ::= "HAVING" Expr

Selection ::= WithClause? QueryBlock UnionOption* OrderByClause? ( LimitClause | OffsetClause )?

UnionOption ::= "UNION ALL" (QueryBlock | Subquery)

WithClause ::= "WITH" Variable "AS" Expr ("," Variable "AS" Expr)*

OrderbyClause ::= "ORDER BY" Expr ( "ASC" | "DESC" )? ( "NULLS" ( "FIRST" | "LAST" ) )? ( "," Expr ( "ASC" | "DESC" )? ( "NULLS" ( "FIRST" | "LAST" ) )? )*

LimitClause ::= "LIMIT" Expr OffsetClause?

OffsetClause ::= "OFFSET" Expr

Subquery ::= "(" Selection ")"

WindowFunctionCall ::= WindowFunctionType "(" WindowFunctionArguments ")" WindowFunctionOptions? "OVER" (Variable "AS")? "(" WindowDefinition")"

WindowFunctionType ::= AggregateFunction | WindowFunction

WindowFunctionArguments ::=  ( ("DISTINCT")? Expr | (Expr ("," Expr ("," Expr)? )? )? )

WindowFunctionOptions ::= ("FROM" ( "FIRST" | "LAST" ))? (( "RESPECT" | "IGNORE" ) "NULLS")?

WindowDefinition ::= WindowPartitionClause? (WindowOrderClause (WindowFrameClause WindowFrameExclusion?)?)?

WindowPartitionClause ::= "PARTITION" "BY" Expr ("," Expr)*

WindowOrderClause ::= "ORDER" "BY" Expr ("ASC" | "DESC")? ( "NULLS" ( "FIRST" | "LAST" ) )? ("," Expr ("ASC" | "DESC")? ( "NULLS" ( "FIRST" | "LAST" ) )? )*

WindowFrameClause ::= ("ROWS" | "RANGE" | "GROUPS") WindowFrameExtent

WindowFrameExtent ::= ( ( "UNBOUNDED" | Expr ) "PRECEDING" | "CURRENT" "ROW" ) |
      "BETWEEN" ( "UNBOUNDED" "PRECEDING" | "CURRENT" "ROW" | Expr ( "PRECEDING" | "FOLLOWING" ) )
      "AND" ( "UNBOUNDED" "FOLLOWING" | "CURRENT" "ROW" | Expr ( "PRECEDING" | "FOLLOWING" ) )

WindowFrameExclusion ::= "EXCLUDE" ( "CURRENT" "ROW" | "GROUP" | "TIES" | "NO" "OTHERS" )

Stmnt::= (SingleStmnt ";")+ "EOF"

SingleStmnt ::= UseStmnt
               |SetStmnt
               |FunctionDeclaration
               |Query
               |CreateStmnt
               |DropStmnt
               |LoadStmnt
               |InsertStmnt
               |UpsertStmnt
               |DeleteStmnt

UseStmnt ::= "USE" DataverseName

SetStmnt ::= "SET" Identifier StringLiteral

CreateStmnt ::= CreateDataverse
              | CreateType
              | CreateDataset
              | CreateIndex
              | CreateSynonym
              | CreateFunction
              | CreateView

DataverseName ::= Identifier ("." Identifier)*

QualifiedName ::= (DataverseName ".")? Identifier

DoubleQualifiedName ::= (DataverseName ".")? Identifier "." Identifier

CreateDataverse ::= "CREATE" "DATAVERSE" DataverseName ("IF" "NOT" "EXISTS")?

CreateType ::= "CREATE" "TYPE" QualifiedName ("IF" "NOT" "EXISTS")? "AS" ObjectTypeDef

ObjectTypeDef ::= ("CLOSED" | "OPEN")? "{" ObjectField ("," ObjectField)* "}"

ObjectField ::= Identifier ":" Identifier "?"?

TypeExpr ::= ObjectTypeDef
            | ArrayTypeDef
            | MultisetTypeDef
            | TypeReference

ArrayTypeDef ::= "[" TypeExpr "]"

MultisetTypeDef ::= "{{" TypeExpr "}}"

TypeReference ::= QualifiedName

CreateDataset ::= CreateInternalDataset | CreateExternalDataset

CreateInternalDataset ::= ( "INTERNAL" )? "DATASET" QualifiedName DatasetTypeDef ( "WITH" "META"  DatasetTypeDef )?
                            ("IF" "NOT" "EXISTS")?
                            PrimaryKey
                            ( "HINTS" Properties )?
                            ( "WITH" "FILTER" "ON" NestedField )?
                            ( "WITH" ObjectConstructor )?

CreateExternalDataset ::= "EXTERNAL" "DATASET" QualifiedName DatasetTypeDef
                            ("IF" "NOT" "EXISTS")?
                            "USING" AdapterName Configuration
                            ( "HINTS" Properties )?
                            ( "WITH" ObjectConstructor )?

DatasetTypeDef ::= ( "(" TypeReference ")" )
                | ( "(" DatasetFieldDef ("," DatasetFieldDef )* ")" ( ("CLOSED" | "OPEN") "TYPE" )? )

DatasetFieldDef ::= Identifier TypeReference ("NOT" "UNKNOWN")?

PrimaryKey ::= "PRIMARY" "KEY" NestedField ( "," NestedField )* ("AUTOGENERATED")?

NestedField ::= Identifier ( "." Identifier )*

AdapterName ::= Identifier

Configuration::= "(" (KeyValuePair ("," KeyValuePair)*)? ")"

KeyValuePair ::= "(" StringLiteral "=" StringLiteral ")"

Properties ::= ( "(" Identifier "=" ( StringLiteral | IntegerLiteral ) ( "," Identifier "=" ( StringLiteral | IntegerLiteral ) )* ")" )?

CreateIndex ::= CreateSecondaryIndex | CreatePrimaryKeyIndex

CreateSecondaryIndex ::= "CREATE" "INDEX" Identifier ("IF" "NOT" "EXISTS")? "ON" QualifiedName
                       "(" IndexedElement ( "," IndexedElement )* ")" ("TYPE" IndexType)? ("ENFORCED")?
                       (( "EXCLUDE" | "INCLUDE" ) "UNKNOWN" "KEY")?

CreatePrimaryKeyIndex ::= "CREATE" "PRIMARY" "INDEX" Identifier? ("IF" "NOT" "EXISTS")? "ON" QualifiedName ("TYPE" "BTREE")?

IndexedElement ::= ArrayIndexElement
               | IndexField
               | "(" ( ArrayIndexElement | IndexField ) ")"

ArrayIndexElement ::= "UNNEST" NestedField ( "UNNEST" NestedField )*
                      ( ( ":" TypeReference ) | ( "SELECT" NestedField ( ":" TypeReference )? ( "," NestedField ( ":" TypeReference )? )* ) )?

IndexField ::= NestedField ( ":" TypeReference "?"? )?

IndexType ::= "BTREE"
             |"RTREE"
             |"KEYWORD"
             |"FULLTEXT"
             |"NGRAM" "(" IntegerLiteral ")"

CreateSynonym ::= "CREATE" "SYNONYM" QualifiedName "FOR" QualifiedName ("IF" "NOT" "EXISTS")?

FunctionDeclaration ::= "DECLARE" "FUNCTION" Identifier "(" ( (Identifier ("," Identifier)*) | "..." )? ")" "{" Expr "}"

CreateFunction ::= "CREATE" ("OR" "REPLACE")? "FUNCTION" QualifiedName "(" FunctionParameters? ")" ("IF" "NOT" "EXISTS")?
                  ( ("{" Expr "}") | ExternalFunctionDef )

FunctionParameters ::=  ( Identifier ((":")? TypeExpr)? ("," Identifier ((":")? TypeExpr)? )* ) | "..."

ExternalFunctionDef ::= ("RETURNS" TypeExpr)? "AS" StringLiteral ("," StringLiteral )* "AT" QualifiedName ("WITH" ObjectConstructor)?

CreateView ::= "CREATE" ("OR" "REPLACE")? "VIEW" QualifiedName ("IF" "NOT" "EXISTS")? "AS" Selection

DropStmnt ::= "DROP" ("DATAVERSE" DataverseName
                     | ("TYPE" |"DATASET" |"SYNONYM" |"VIEW") QualifiedName
                     | "INDEX" DoubleQualifiedName
                     | "FUNCTION" FunctionSignature ) ("IF" "EXISTS")?

FunctionSignature ::= QualifiedName ( ( "(" ( FunctionParameters? | IntegerLiteral ) ")" ) | ("@" IntegerLiteral) )

LoadStmnt ::= "LOAD" "DATASET" QualifiedName "USING" AdapterName Configuration ("PRE-SORTED")?

InsertStmnt ::= "INSERT" "INTO" QualifiedName ("AS" Variable)? Query ("RETURNING" Expr)?

UpsertStmnt ::= "UPSERT" "INTO" QualifiedName ("AS" Variable)? Query ("RETURNING" Expr)?

DeleteStmnt ::= "DELETE" "FROM" QualifiedName (("AS")? Variable)? ("WHERE" Expr)?
