Index:

AList Action AdditiveExpression Alias AllTableColumns AlterExpression AlterExpressionColumnDataType AlterExpressionColumnDropDefault AlterExpressionColumnDropNotNull AlterExpressionConstraintState AlterSequence AlterSession AlterSystemStatement AlterTable AlterView AnalyticExpression Analyze AndExpression AnyComparisonExpression ArrayConstructor ArrayExpression Between BitwiseAndOr BitwiseXor Block CaseWhenExpression CastExpression ColDataType Column ColumnDefinition ColumnNamesWithParamsList ColumnsNamesList ColumnsNamesListItem Comment ComparisonItem ComplexExpressionList ConcatExpression Condition ConnectByRootOperator CreateFunctionStatement CreateIndex CreateParameter CreateSchema CreateSequence CreateSynonym CreateTable CreateView DIGIT DT_ZONE DateTimeLiteralExpression Declare Delete Describe Drop EOF ESC Execute ExistsExpression Explain ExplainFormatOption ExplainOptionBoolean ExplainStatementOptions Expression ExpressionListItem ExtractExpression Fetch First FromItem FullTextSearch FuncArgsList FuncArgsListItem Function FunctionItem Grant GroupByColumnReferences HEX_VALUE Having InExpression Index Insert InsertConflictAction InsertConflictTarget InternalFunction IntervalExpression IntervalExpressionWithoutInterval IntoClause IsBooleanExpression IsDistinctExpression IsNullExpression JdbcNamedParameter JoinWindow JoinerExpression JoinsList JsonAggregateFunction JsonExpression JsonFunction KSQLWindowClause K_DATETIMELITERAL K_DATE_LITERAL K_ISOLATION K_NEXTVAL K_SELECT K_STRING_FUNCTION_NAME K_TIME_KEY_EXPR KeepExpression LETTER LINE_COMMENT LateralSubSelect LikeExpression LimitWithOffset ListExpressionItem MULTI_LINE_COMMENT Merge MergeInsertClause MergeUpdateClause MultiInExpressions MultiplicativeExpression MySQLGroupConcat MySQLIndexHint NamedExpressionList1 NamedExpressionListExprFirst NextValExpression NumericBind OP_CONCAT OP_GREATERTHANEQUALS OP_MINORTHANEQUALS OP_NOTEQUALSBANG OP_NOTEQUALSSTANDARD Offset OptimizeFor OrExpression OracleHierarchicalQueryClause OracleNamedFunctionParameter OrderByElement OrderByElements OutputClause OverlapsCondition PART_LETTER PathSpecification Pivot PivotForColumns PivotFunctionItems PivotMultiInItems PivotSelectExprItem PivotSingleInItems PivotXml PlainLimit PlainSelect PrimaryExpression PurgeStatement RegularCondition RelObjectName RelObjectNameExt RelObjectNameExt2 RelObjectNameList RelObjectNameWithoutStart RelObjectNameWithoutValue RenameTableStatement Replace Reset RollbackStatement RowConstructor RowMovement SQLCondition SQLExpressionList SQLServerHint SQLServerHints S_CHAR_LITERAL S_DOUBLE S_HEX S_IDENTIFIER S_LONG S_QUOTED_IDENTIFIER SavepointStatement Select SelectBody SelectExpressionItem SelectItem SelectItemsList SelectWithWithItems Sequence SequenceParameters Set SetOperationList SetOperationListWithoutIntialSelect Show ShowColumns ShowTables SimilarToExpression SimpleExpression SimpleExpressionList SimpleExpressionListAtLeastTwoItems SimpleJdbcNamedParameter SimpleJdbcParameter SingleStatement Skip SpecialStringFunctionWithNamedParameters Statement Statements SubJoin SubJoinsList SubSelect Synonym Table TableFunction TableWithAlias Top Truncate TryCastExpression UnPivot UnsupportedStatement Update Upsert Use UserVariable UsersList ValueListExpression Values ValuesList VariableExpression WHITESPACE Wait WhenThenSearchCondition WhereClause WindowElement WindowOffset WithIsolation WithItem WithList XMLSerializeExpr XorExpression readGrantTypes windowDefinition windowFun

Table of Content:

Statement SingleStatement Block Statements Declare Set Reset RenameTableStatement PurgeStatement Describe Explain ExplainOptionBoolean ExplainFormatOption ExplainStatementOptions Use ShowColumns ShowTables Show Values Update Replace ListExpressionItem Insert InsertConflictTarget InsertConflictAction OutputClause Upsert Delete Merge MergeUpdateClause MergeInsertClause RelObjectNameList Column RelObjectNameWithoutValue RelObjectName RelObjectNameWithoutStart RelObjectNameExt RelObjectNameExt2 Table TableWithAlias SelectWithWithItems Select SelectBody PlainSelect SetOperationList SetOperationListWithoutIntialSelect WithList WithItem SelectItemsList SelectExpressionItem SelectItem AllTableColumns Alias SQLServerHint SQLServerHints MySQLIndexHint FunctionItem PivotForColumns PivotFunctionItems PivotSingleInItems PivotSelectExprItem ExpressionListItem PivotMultiInItems Pivot PivotXml UnPivot IntoClause FromItem ValuesList LateralSubSelect SubJoin JoinsList SubJoinsList JoinerExpression JoinWindow KSQLWindowClause WhereClause OracleHierarchicalQueryClause GroupByColumnReferences Having OrderByElements OrderByElement SimpleJdbcParameter SimpleJdbcNamedParameter LimitWithOffset PlainLimit Offset Fetch WithIsolation OptimizeFor Top Skip First Expression XorExpression OrExpression AndExpression Condition OverlapsCondition RegularCondition SQLCondition InExpression MultiInExpressions Between LikeExpression SimilarToExpression IsDistinctExpression IsNullExpression IsBooleanExpression ExistsExpression SQLExpressionList SimpleExpressionList ComplexExpressionList NamedExpressionList1 NamedExpressionListExprFirst SimpleExpressionListAtLeastTwoItems ComparisonItem AnyComparisonExpression SimpleExpression ConcatExpression BitwiseAndOr AdditiveExpression MultiplicativeExpression BitwiseXor ArrayExpression PrimaryExpression ConnectByRootOperator NextValExpression JdbcNamedParameter OracleNamedFunctionParameter UserVariable NumericBind DateTimeLiteralExpression ArrayConstructor JsonExpression JsonFunction JsonAggregateFunction IntervalExpression IntervalExpressionWithoutInterval KeepExpression windowFun windowDefinition AnalyticExpression WindowElement WindowOffset ExtractExpression CastExpression TryCastExpression CaseWhenExpression WhenThenSearchCondition RowConstructor VariableExpression Execute FullTextSearch Function SpecialStringFunctionWithNamedParameters InternalFunction XMLSerializeExpr MySQLGroupConcat ValueListExpression TableFunction SubSelect ColumnNamesWithParamsList Index CreateIndex ColumnDefinition CreateSchema PathSpecification CreateTable ColDataType Analyze CreateView Action AlterView CreateParameter RowMovement AList ColumnsNamesListItem ColumnsNamesList FuncArgsListItem FuncArgsList Drop Truncate AlterExpressionColumnDataType AlterExpressionColumnDropNotNull AlterExpressionColumnDropDefault AlterExpressionConstraintState AlterExpression AlterTable AlterSession AlterSystemStatement Wait SavepointStatement RollbackStatement Comment Grant UsersList readGrantTypes Sequence SequenceParameters CreateSequence AlterSequence CreateFunctionStatement CreateSynonym Synonym UnsupportedStatement WHITESPACE K_DATETIMELITERAL K_DATE_LITERAL K_ISOLATION K_NEXTVAL K_SELECT K_TIME_KEY_EXPR K_STRING_FUNCTION_NAME OP_GREATERTHANEQUALS OP_MINORTHANEQUALS OP_NOTEQUALSSTANDARD OP_NOTEQUALSBANG OP_CONCAT DT_ZONE S_DOUBLE S_LONG DIGIT S_HEX HEX_VALUE LINE_COMMENT MULTI_LINE_COMMENT S_IDENTIFIER LETTER PART_LETTER S_CHAR_LITERAL S_QUOTED_IDENTIFIER ESC EOF

Statement: IF Condition SingleStatement ; ELSE SingleStatement ; EOF UnsupportedStatement
Statement
         ::= ( 'IF' Condition ( SingleStatement ';'? 'ELSE' )? )? SingleStatement ';'? EOF
           | UnsupportedStatement
no referencesSingleStatement: ( WithList Select ) WithList Select Insert Update Delete Merge Upsert Replace AlterTable AlterSession CreateFunctionStatement CreateIndex CreateSchema CreateSequence CreateSynonym CreateTable CreateView AlterView AlterSequence Drop Analyze Truncate Execute Set RenameTableStatement Reset ShowColumns ShowTables Show Use SavepointStatement RollbackStatement COMMIT Comment Describe Explain Declare Grant PurgeStatement AlterSystemStatement
SingleStatement
         ::= '(' WithList Select ')'
           | WithList? ( Select | Insert | Update | Delete | Merge )
           | Upsert
           | Replace
           | AlterTable
           | AlterSession
           | CreateFunctionStatement
           | CreateIndex
           | CreateSchema
           | CreateSequence
           | CreateSynonym
           | CreateTable
           | CreateView
           | AlterView
           | AlterSequence
           | Drop
           | Analyze
           | Truncate
           | Execute
           | Set
           | RenameTableStatement
           | Reset
           | ShowColumns
           | ShowTables
           | Show
           | Use
           | SavepointStatement
           | RollbackStatement
           | 'COMMIT'
           | Comment
           | Describe
           | Explain
           | Declare
           | Grant
           | PurgeStatement
           | AlterSystemStatement
referenced by: Block Statement Statements Block: BEGIN ; SingleStatement Block ; END ;
Block    ::= 'BEGIN' ';'* ( ( SingleStatement | Block ) ';' )+ 'END' ';'?
referenced by: Block Statements Statements: ; IF Condition SingleStatement ; ELSE SingleStatement Block ; UnsupportedStatement ; IF Condition SingleStatement ; ELSE SingleStatement Block ; UnsupportedStatement EOF
         ::= ';'* ( ( 'IF' Condition ( SingleStatement ';'? 'ELSE' )? )? SingleStatement | Block ';'? | UnsupportedStatement ) ( ';' ( ( 'IF' Condition ( SingleStatement ';'? 'ELSE' )? )? SingleStatement | Block ';'? | UnsupportedStatement )? )* EOF
no referencesDeclare: DECLARE UserVariable TABLE ( ColumnDefinition , ) AS RelObjectName ColDataType = Expression UserVariable ,
Declare  ::= 'DECLARE' UserVariable ( 'TABLE' '(' ColumnDefinition ( ',' ColumnDefinition )* ')' | 'AS' RelObjectName | ColDataType ( '=' Expression )? ( ',' UserVariable ColDataType ( '=' Expression )? )* )
referenced by: SingleStatement Set: SET LOCAL SESSION K_DATETIMELITERAL ZONE RelObjectNameExt = SimpleExpression ZONE K_DATETIMELITERAL = RelObjectNameExt ,
Set      ::= 'SET' ( 'LOCAL' | 'SESSION' )? ( K_DATETIMELITERAL 'ZONE' | RelObjectNameExt '='? ) SimpleExpression ( ',' ( K_DATETIMELITERAL 'ZONE' | RelObjectNameExt '='? )? SimpleExpression )*
referenced by: SingleStatement Reset: RESET K_DATETIMELITERAL ZONE RelObjectName ALL
Reset    ::= 'RESET' ( K_DATETIMELITERAL 'ZONE' | RelObjectName | 'ALL' )
referenced by: SingleStatement RenameTableStatement: RENAME TABLE IF EXISTS Table WAIT S_LONG NOWAIT TO Table Table ,
         ::= 'RENAME' 'TABLE'? ( 'IF' 'EXISTS' )? Table ( 'WAIT' S_LONG | 'NOWAIT' )? 'TO' Table ( ',' Table 'TO' Table )*
referenced by: SingleStatement PurgeStatement: PURGE TABLE Table INDEX Index RECYCLEBIN DBA_RECYCLEBIN TABLESPACE S_IDENTIFIER USER S_IDENTIFIER
         ::= 'PURGE' ( 'TABLE' Table | 'INDEX' Index | 'RECYCLEBIN' | 'DBA_RECYCLEBIN' | 'TABLESPACE' S_IDENTIFIER ( 'USER' S_IDENTIFIER )? )
referenced by: SingleStatement Describe: DESCRIBE Table
Describe ::= 'DESCRIBE' Table
referenced by: SingleStatement Explain: EXPLAIN ExplainStatementOptions SelectWithWithItems referenced by: SingleStatement ExplainOptionBoolean: TRUE FALSE ON OFF
         ::= ( 'TRUE' | 'FALSE' | 'ON' | 'OFF' )?
referenced by: ExplainStatementOptions ExplainFormatOption: XML JSON YAML
         ::= ( 'XML' | 'JSON' | 'YAML' )?
referenced by: ExplainStatementOptions ExplainStatementOptions: ANALYZE BUFFERS COSTS VERBOSE ExplainOptionBoolean FORMAT ExplainFormatOption
         ::= ( ( 'ANALYZE' | 'BUFFERS' | 'COSTS' | 'VERBOSE' ) ExplainOptionBoolean | 'FORMAT' ExplainFormatOption )*
referenced by: Explain Use: USE SCHEMA RelObjectNameExt
Use      ::= 'USE' 'SCHEMA'? RelObjectNameExt
referenced by: SingleStatement ShowColumns: SHOW COLUMNS FROM RelObjectNameExt
         ::= 'SHOW' 'COLUMNS' 'FROM' RelObjectNameExt
referenced by: SingleStatement ShowTables: SHOW EXTENDED FULL TABLES FROM IN RelObjectNameExt LIKE SimpleExpression WHERE Expression
         ::= 'SHOW' 'EXTENDED'? 'FULL'? 'TABLES' ( ( 'FROM' | 'IN' ) RelObjectNameExt )? ( 'LIKE' SimpleExpression | 'WHERE' Expression )?
referenced by: SingleStatement Show: SHOW RelObjectNameExt
Show     ::= 'SHOW' RelObjectNameExt
referenced by: SingleStatement Values: VALUES VALUE SimpleExpressionList
Values   ::= ( 'VALUES' | 'VALUE' ) SimpleExpressionList
referenced by: SetOperationList Update: UPDATE LOW_PRIORITY IGNORE TableWithAlias JoinsList SET Column = SimpleExpression , ( Column , ) = SubSelect ( ComplexExpressionList ) Expression , OutputClause FROM FromItem JoinsList WhereClause OrderByElements PlainLimit RETURNING SelectItemsList
Update   ::= 'UPDATE' 'LOW_PRIORITY'? 'IGNORE'? TableWithAlias JoinsList 'SET' ( Column '=' SimpleExpression ( ',' Column '=' SimpleExpression )* | '('? Column ( ',' Column )* ')'? '=' ( SubSelect | '(' ComplexExpressionList ')' | Expression ) ( ',' '('? Column ( ',' Column )* ')'? '=' ( SubSelect | '(' ComplexExpressionList ')' | Expression ) )* ) OutputClause? ( 'FROM' FromItem JoinsList )? WhereClause? OrderByElements? PlainLimit? ( 'RETURNING' SelectItemsList )?
referenced by: SingleStatement Replace: REPLACE INTO Table SET Column = SimpleExpression , ( Column , ) VALUES VALUE ( PrimaryExpression , ) SimpleExpression , ( , SubSelect
Replace  ::= 'REPLACE' 'INTO'? Table ( 'SET' Column '=' SimpleExpression ( ',' Column '=' SimpleExpression )* | ( '(' Column ( ',' Column )* ')' )? ( ( 'VALUES' | 'VALUE' )? '(' PrimaryExpression ( ',' PrimaryExpression )* ')' ( ',' '(' SimpleExpression ( ',' SimpleExpression )* ')' )* | SubSelect ) )
referenced by: SingleStatement ListExpressionItem: SelectExpressionItem ,
         ::= SelectExpressionItem ( ',' SelectExpressionItem )*
no referencesInsert: INSERT LOW_PRIORITY DELAYED HIGH_PRIORITY IGNORE INTO Table AS RelObjectNameWithoutValue ( Column , ) OutputClause SET Column = SimpleExpression , SelectWithWithItems ON DUPLICATE KEY UPDATE Column = SimpleExpression , ON CONFLICT InsertConflictTarget InsertConflictAction RETURNING SelectItemsList
Insert   ::= 'INSERT' ( 'LOW_PRIORITY' | 'DELAYED' | 'HIGH_PRIORITY' )? 'IGNORE'? 'INTO'? Table ( 'AS'? RelObjectNameWithoutValue )? ( '(' Column ( ',' Column )* ')' )? OutputClause? ( 'SET' Column '=' SimpleExpression ( ',' Column '=' SimpleExpression )* | SelectWithWithItems ) ( 'ON' 'DUPLICATE' 'KEY' 'UPDATE' Column '=' SimpleExpression ( ',' Column '=' SimpleExpression )* )? ( 'ON' 'CONFLICT' InsertConflictTarget? InsertConflictAction )? ( 'RETURNING' SelectItemsList )?
referenced by: SingleStatement InsertConflictTarget: ( RelObjectNameExt2 ) WhereClause ON CONSTRAINT RelObjectNameExt2
         ::= '(' RelObjectNameExt2 ')' WhereClause?
           | 'ON' 'CONSTRAINT' RelObjectNameExt2
referenced by: Insert InsertConflictAction: DO NOTHING UPDATE SET Column = SimpleExpression , ( Column , ) = SubSelect ( ComplexExpressionList ) Expression , WhereClause
         ::= 'DO' ( 'NOTHING' | 'UPDATE' 'SET' ( Column '=' SimpleExpression ( ',' Column '=' SimpleExpression )* | '('? Column ( ',' Column )* ')'? '=' ( SubSelect | '(' ComplexExpressionList ')' | Expression ) ( ',' '('? Column ( ',' Column )* ')'? '=' ( SubSelect | '(' ComplexExpressionList ')' | Expression ) )* ) WhereClause? )
referenced by: Insert OutputClause: OUTPUT SelectItemsList INTO UserVariable Table ColumnsNamesList
         ::= 'OUTPUT' SelectItemsList ( 'INTO' ( UserVariable | Table ) ColumnsNamesList? )?
referenced by: Delete Insert Update Upsert: UPSERT INTO Table ( Column , ) VALUES VALUE ( SimpleExpression , , ) ( SelectWithWithItems ) SelectWithWithItems ON DUPLICATE KEY UPDATE Column = SimpleExpression ,
Upsert   ::= 'UPSERT' 'INTO'? Table ( '(' Column ( ',' Column )* ')' )? ( ( ( 'VALUES' | 'VALUE' )? '(' SimpleExpression ( ',' SimpleExpression )* ( ')' ',' '(' SimpleExpression ( ',' SimpleExpression )* )* | '(' SelectWithWithItems ) ')' | SelectWithWithItems ) ( 'ON' 'DUPLICATE' 'KEY' 'UPDATE' Column '=' SimpleExpression ( ',' Column '=' SimpleExpression )* )?
referenced by: SingleStatement Delete: DELETE LOW_PRIORITY QUICK IGNORE TableWithAlias , OutputClause FROM TableWithAlias JoinsList USING TableWithAlias , WhereClause OrderByElements PlainLimit RETURNING SelectItemsList
Delete   ::= 'DELETE' 'LOW_PRIORITY'? 'QUICK'? 'IGNORE'? ( ( TableWithAlias ( ',' TableWithAlias )* OutputClause? )? 'FROM' )? ( TableWithAlias JoinsList )? ( 'USING' TableWithAlias ( ',' TableWithAlias )* )? WhereClause? OrderByElements? PlainLimit? ( 'RETURNING' SelectItemsList )?
referenced by: SingleStatement Merge: MERGE INTO TableWithAlias USING Table ( SubSelect ) Alias ON ( Expression ) MergeUpdateClause MergeInsertClause MergeInsertClause MergeUpdateClause
Merge    ::= 'MERGE' 'INTO' TableWithAlias 'USING' ( Table | '(' SubSelect ')' ) Alias? 'ON' '(' Expression ')' ( MergeUpdateClause MergeInsertClause? | MergeInsertClause MergeUpdateClause? )?
referenced by: SingleStatement MergeUpdateClause: WHEN MATCHED THEN UPDATE SET Column = SimpleExpression , WHERE Expression DELETE WHERE Expression
         ::= 'WHEN' 'MATCHED' 'THEN' 'UPDATE' 'SET' Column '=' SimpleExpression ( ',' Column '=' SimpleExpression )* ( 'WHERE' Expression )? ( 'DELETE' 'WHERE' Expression )?
referenced by: Merge MergeInsertClause: WHEN NOT MATCHED THEN INSERT ( Column , ) VALUES ( SimpleExpression , ) WHERE Expression
         ::= 'WHEN' 'NOT' 'MATCHED' 'THEN' 'INSERT' ( '(' Column ( ',' Column )* ')' )? 'VALUES' '(' SimpleExpression ( ',' SimpleExpression )* ')' ( 'WHERE' Expression )?
referenced by: Merge RelObjectNameList: RelObjectNameExt . : . RelObjectNameExt2
         ::= RelObjectNameExt ( ( '.' | ':' ) '.'* RelObjectNameExt2 )*
referenced by: Column CreateSynonym Execute Grant Index InternalFunction NextValExpression Sequence Synonym Table Column: RelObjectNameList referenced by: Comment ConnectByRootOperator FullTextSearch Insert InsertConflictAction IntervalExpression JoinerExpression JsonExpression MergeInsertClause MergeUpdateClause PivotForColumns PrimaryExpression Replace Update Upsert RelObjectNameWithoutValue: S_IDENTIFIER S_QUOTED_IDENTIFIER K_DATE_LITERAL K_DATETIMELITERAL K_STRING_FUNCTION_NAME K_ISOLATION ACTION ACTIVE ADD ADVANCE ADVISE AGAINST ALGORITHM ALTER ANALYZE APPLY ARCHIVE ARRAY ASC AT AUTHORIZATION BEGIN BINARY BIT BUFFERS BY BYTE CACHE CALL CASCADE CASE CAST CHANGE CHANGES CHAR CHARACTER CHECKPOINT CLOSE COLLATE COLUMN COLUMNS COMMENT COMMIT CONFLICT CONSTRAINTS COSTS CS CYCLE DATABASE DDL DECLARE DEFAULT DEFERRABLE DELAYED DELETE DESC DESCRIBE DISABLE DISCONNECT DIV DML DO DROP DUMP DUPLICATE EMIT ENABLE END ESCAPE EXCLUDE EXEC EXECUTE EXPLAIN EXTENDED EXTRACT FALSE FILTER FIRST FLUSH FN FOLLOWING FORMAT FULLTEXT FUNCTION GLOBAL GRANT GUARD HISTORY HOPPING INCLUDE INCREMENT INDEX INSERT INVALIDATE ISNULL JSON KEEP KEY KEYS LAST LEADING LINK LOCAL LOG MATCH MATCHED MATERIALIZED MAXVALUE MERGE MINVALUE MODIFY MOVEMENT NEXT NO NOCACHE NOKEEP NOLOCK NOMAXVALUE NOMINVALUE NOORDER NOTHING NOVALIDATE NOWAIT NULLS OF OFF OPEN OVER OVERLAPS PARALLEL PARTITION PATH PERCENT PLACING PRECEDING PRECISION PRIMARY PRIOR PURGE QUERY QUICK QUIESCE RANGE READ RECYCLEBIN REFERENCES REGISTER RENAME REPLACE RESET RESTART RESTRICT RESTRICTED RESUMABLE RESUME RLIKE ROLLBACK ROW ROWS RR RS SAVEPOINT SCHEMA SEPARATOR SEQUENCE SESSION SETS SHOW SHUTDOWN SIBLINGS SIGNED SIMILAR SIZE SKIP SUSPEND SWITCH SYNONYM SYSTEM TABLE TABLESPACE TEMP TEMPORARY THEN TIMEOUT TIMESTAMPTZ TO TRUE TRUNCATE TUMBLING TYPE UNLOGGED UNQIESCE UNQUIESCE UNSIGNED UPDATE UPSERT UR USER VALIDATE VERBOSE VIEW WAIT WITHIN WITHOUT WORK XML XMLAGG XMLTEXT YAML ZONE
         ::= S_IDENTIFIER
           | S_QUOTED_IDENTIFIER
           | K_DATE_LITERAL
           | K_DATETIMELITERAL
           | K_STRING_FUNCTION_NAME
           | K_ISOLATION
           | 'ACTION'
           | 'ACTIVE'
           | 'ADD'
           | 'ADVANCE'
           | 'ADVISE'
           | 'AGAINST'
           | 'ALGORITHM'
           | 'ALTER'
           | 'ANALYZE'
           | 'APPLY'
           | 'ARCHIVE'
           | 'ARRAY'
           | 'ASC'
           | 'AT'
           | 'AUTHORIZATION'
           | 'BEGIN'
           | 'BINARY'
           | 'BIT'
           | 'BUFFERS'
           | 'BY'
           | 'BYTE'
           | 'CACHE'
           | 'CALL'
           | 'CASCADE'
           | 'CASE'
           | 'CAST'
           | 'CHANGE'
           | 'CHANGES'
           | 'CHAR'
           | 'CHARACTER'
           | 'CHECKPOINT'
           | 'CLOSE'
           | 'COLLATE'
           | 'COLUMN'
           | 'COLUMNS'
           | 'COMMENT'
           | 'COMMIT'
           | 'CONFLICT'
           | 'CONSTRAINTS'
           | 'COSTS'
           | 'CS'
           | 'CYCLE'
           | 'DATABASE'
           | 'DDL'
           | 'DECLARE'
           | 'DEFAULT'
           | 'DEFERRABLE'
           | 'DELAYED'
           | 'DELETE'
           | 'DESC'
           | 'DESCRIBE'
           | 'DISABLE'
           | 'DISCONNECT'
           | 'DIV'
           | 'DML'
           | 'DO'
           | 'DROP'
           | 'DUMP'
           | 'DUPLICATE'
           | 'EMIT'
           | 'ENABLE'
           | 'END'
           | 'ESCAPE'
           | 'EXCLUDE'
           | 'EXEC'
           | 'EXECUTE'
           | 'EXPLAIN'
           | 'EXTENDED'
           | 'EXTRACT'
           | 'FALSE'
           | 'FILTER'
           | 'FIRST'
           | 'FLUSH'
           | 'FN'
           | 'FOLLOWING'
           | 'FORMAT'
           | 'FULLTEXT'
           | 'FUNCTION'
           | 'GLOBAL'
           | 'GRANT'
           | 'GUARD'
           | 'HISTORY'
           | 'HOPPING'
           | 'INCLUDE'
           | 'INCREMENT'
           | 'INDEX'
           | 'INSERT'
           | 'INVALIDATE'
           | 'ISNULL'
           | 'JSON'
           | 'KEEP'
           | 'KEY'
           | 'KEYS'
           | 'LAST'
           | 'LEADING'
           | 'LINK'
           | 'LOCAL'
           | 'LOG'
           | 'MATCH'
           | 'MATCHED'
           | 'MATERIALIZED'
           | 'MAXVALUE'
           | 'MERGE'
           | 'MINVALUE'
           | 'MODIFY'
           | 'MOVEMENT'
           | 'NEXT'
           | 'NO'
           | 'NOCACHE'
           | 'NOKEEP'
           | 'NOLOCK'
           | 'NOMAXVALUE'
           | 'NOMINVALUE'
           | 'NOORDER'
           | 'NOTHING'
           | 'NOVALIDATE'
           | 'NOWAIT'
           | 'NULLS'
           | 'OF'
           | 'OFF'
           | 'OPEN'
           | 'OVER'
           | 'OVERLAPS'
           | 'PARALLEL'
           | 'PARTITION'
           | 'PATH'
           | 'PERCENT'
           | 'PLACING'
           | 'PRECEDING'
           | 'PRECISION'
           | 'PRIMARY'
           | 'PRIOR'
           | 'PURGE'
           | 'QUERY'
           | 'QUICK'
           | 'QUIESCE'
           | 'RANGE'
           | 'READ'
           | 'RECYCLEBIN'
           | 'REFERENCES'
           | 'REGISTER'
           | 'RENAME'
           | 'REPLACE'
           | 'RESET'
           | 'RESTART'
           | 'RESTRICT'
           | 'RESTRICTED'
           | 'RESUMABLE'
           | 'RESUME'
           | 'RLIKE'
           | 'ROLLBACK'
           | 'ROW'
           | 'ROWS'
           | 'RR'
           | 'RS'
           | 'SAVEPOINT'
           | 'SCHEMA'
           | 'SEPARATOR'
           | 'SEQUENCE'
           | 'SESSION'
           | 'SETS'
           | 'SHOW'
           | 'SHUTDOWN'
           | 'SIBLINGS'
           | 'SIGNED'
           | 'SIMILAR'
           | 'SIZE'
           | 'SKIP'
           | 'SUSPEND'
           | 'SWITCH'
           | 'SYNONYM'
           | 'SYSTEM'
           | 'TABLE'
           | 'TABLESPACE'
           | 'TEMP'
           | 'TEMPORARY'
           | 'THEN'
           | 'TIMEOUT'
           | 'TIMESTAMPTZ'
           | 'TO'
           | 'TRUE'
           | 'TRUNCATE'
           | 'TUMBLING'
           | 'TYPE'
           | 'UNLOGGED'
           | 'UNQIESCE'
           | 'UNQUIESCE'
           | 'UNSIGNED'
           | 'UPDATE'
           | 'UPSERT'
           | 'UR'
           | 'USER'
           | 'VALIDATE'
           | 'VERBOSE'
           | 'VIEW'
           | 'WAIT'
           | 'WITHIN'
           | 'WITHOUT'
           | 'WORK'
           | 'XML'
           | 'XMLAGG'
           | 'XMLTEXT'
           | 'YAML'
           | 'ZONE'
referenced by: AList Insert MySQLIndexHint RelObjectName RelObjectNameWithoutStart RelObjectName: RelObjectNameWithoutValue GROUP INTERVAL ON START TOP VALUE VALUES CREATE TABLES CONNECT IGNORE
         ::= RelObjectNameWithoutValue
           | 'GROUP'
           | 'INTERVAL'
           | 'ON'
           | 'START'
           | 'TOP'
           | 'VALUE'
           | 'VALUES'
           | 'CREATE'
           | 'TABLES'
           | 'CONNECT'
           | 'IGNORE'
referenced by: Alias AlterExpression AlterExpressionColumnDataType AlterExpressionColumnDropDefault AlterExpressionColumnDropNotNull ColumnDefinition ColumnNamesWithParamsList ColumnsNamesListItem CreateParameter CreateTable Declare ExtractExpression FuncArgsListItem InternalFunction PlainSelect RelObjectNameExt Reset SQLServerHint UsersList ValuesList WithItem windowFun RelObjectNameWithoutStart: RelObjectNameWithoutValue TOP VALUE VALUES INTERVAL
         ::= RelObjectNameWithoutValue
           | 'TOP'
           | 'VALUE'
           | 'VALUES'
           | 'INTERVAL'
referenced by: Alias RelObjectNameExt: RelObjectName ALL ANY SOME LEFT RIGHT SET DOUBLE IF IIF OPTIMIZE LIMIT OFFSET PROCEDURE PUBLIC CASEWHEN IN GROUPING ORDER
         ::= RelObjectName
           | 'ALL'
           | 'ANY'
           | 'SOME'
           | 'LEFT'
           | 'RIGHT'
           | 'SET'
           | 'DOUBLE'
           | 'IF'
           | 'IIF'
           | 'OPTIMIZE'
           | 'LIMIT'
           | 'OFFSET'
           | 'PROCEDURE'
           | 'PUBLIC'
           | 'CASEWHEN'
           | 'IN'
           | 'GROUPING'
           | 'ORDER'
referenced by: PrimaryExpression RelObjectNameExt2 RelObjectNameList Set Show ShowColumns ShowTables SimpleJdbcNamedParameter Use RelObjectNameExt2: RelObjectNameExt FROM K_SELECT CURRENT
         ::= RelObjectNameExt
           | 'FROM'
           | K_SELECT
           | 'CURRENT'
referenced by: InsertConflictTarget JdbcNamedParameter OracleNamedFunctionParameter RelObjectNameList UserVariable Table: RelObjectNameList referenced by: AllTableColumns AlterExpression AlterTable AlterView Analyze Comment CreateIndex CreateTable CreateView Describe Drop FromItem Insert IntoClause Merge OutputClause PlainSelect PurgeStatement RenameTableStatement Replace TableWithAlias Truncate Upsert TableWithAlias: Table Alias
         ::= Table Alias?
referenced by: Delete Merge Update SelectWithWithItems: ( WithList Select ) WithList Select
         ::= '(' WithList Select ')'
           | WithList? Select
referenced by: CreateTable CreateView Explain Insert Upsert Select: SelectBody referenced by: SelectWithWithItems SingleStatement SelectBody: SetOperationList
         ::= SetOperationList
referenced by: AlterView PivotXml Select SetOperationList SetOperationListWithoutIntialSelect SubSelect PlainSelect: K_SELECT STRAIGHT_JOIN Skip First ALL DISTINCT ON ( SelectItemsList ) UNIQUE SQL_CALC_FOUND_ROWS SQL_NO_CACHE SQL_CACHE Top SelectItemsList IntoClause FROM FromItem JoinsList KSQLWindowClause WhereClause OracleHierarchicalQueryClause GroupByColumnReferences Having OrderByElements WINDOW RelObjectName AS windowDefinition , OrderByElements EMIT CHANGES LimitWithOffset Offset LimitWithOffset Fetch WithIsolation FOR UPDATE OF Table Wait NOWAIT OptimizeFor FOR XML PATH ( S_CHAR_LITERAL )
         ::= K_SELECT 'STRAIGHT_JOIN'? Skip? First? ( 'ALL' | 'DISTINCT' ( 'ON' '(' SelectItemsList ')' )? | 'UNIQUE' | 'SQL_CALC_FOUND_ROWS' | 'SQL_NO_CACHE' | 'SQL_CACHE' )? Top? SelectItemsList IntoClause? ( 'FROM' FromItem JoinsList )? KSQLWindowClause? WhereClause? OracleHierarchicalQueryClause? GroupByColumnReferences? Having? OrderByElements? ( 'WINDOW' RelObjectName 'AS' windowDefinition ( ',' RelObjectName 'AS' windowDefinition )* )? OrderByElements? ( 'EMIT' 'CHANGES' )? LimitWithOffset? Offset? LimitWithOffset? Fetch? WithIsolation? ( 'FOR' 'UPDATE' ( 'OF' Table )? Wait? 'NOWAIT'? )? OptimizeFor? ( 'FOR' 'XML' 'PATH' '(' S_CHAR_LITERAL ')' )?
referenced by: SetOperationList SetOperationList: ( SelectBody ) PlainSelect Values ALL DISTINCT UNION INTERSECT MINUS EXCEPT OrderByElements LimitWithOffset Offset Fetch WithIsolation
         ::= ( '(' SelectBody ')' | PlainSelect | Values ) ( ( 'UNION' ( 'ALL' | 'DISTINCT' )? | 'INTERSECT' | 'MINUS' | 'EXCEPT' ) ( '(' SelectBody ')' | PlainSelect | Values ) )* OrderByElements? LimitWithOffset? Offset? Fetch? WithIsolation?
referenced by: SelectBody SetOperationListWithoutIntialSelect: UNION ALL DISTINCT INTERSECT MINUS EXCEPT ( SelectBody )
         ::= ( ( 'UNION' ( 'ALL' | 'DISTINCT' )? | 'INTERSECT' | 'MINUS' | 'EXCEPT' ) '(' SelectBody ')' )+
referenced by: FromItem WithList: WITH WithItem ,
WithList ::= 'WITH' WithItem ( ',' WithItem )*
referenced by: SelectWithWithItems SingleStatement SubSelect WithItem: RECURSIVE RelObjectName ( SelectItemsList ) AS ( VALUES SimpleExpressionList SubSelect )
WithItem ::= 'RECURSIVE'? RelObjectName ( '(' SelectItemsList ')' )? 'AS' '(' ( 'VALUES' SimpleExpressionList | SubSelect ) ')'
referenced by: WithList SelectItemsList: SelectItem ,
         ::= SelectItem ( ',' SelectItem )*
referenced by: Delete Insert OutputClause PlainSelect Update WithItem SelectExpressionItem: Expression Alias
         ::= Expression Alias?
referenced by: ListExpressionItem SelectItem SelectItem: * AllTableColumns SelectExpressionItem
         ::= '*'
           | AllTableColumns
           | SelectExpressionItem
referenced by: SelectItemsList AllTableColumns: Table . *
         ::= Table '.' '*'
referenced by: InternalFunction SelectItem Alias: AS RelObjectNameWithoutStart S_CHAR_LITERAL ( RelObjectName ColDataType , ) referenced by: ExpressionListItem FromItem FunctionItem Merge Pivot PivotSelectExprItem SelectExpressionItem TableFunction TableWithAlias UnPivot ValuesList SQLServerHint: INDEX ( RelObjectName ) NOLOCK
         ::= 'INDEX' '(' RelObjectName ')'
           | 'NOLOCK'
referenced by: SQLServerHints SQLServerHints: WITH ( SQLServerHint , )
         ::= 'WITH' '(' SQLServerHint ( ',' SQLServerHint )* ')'
referenced by: FromItem MySQLIndexHint: USE SHOW IGNORE FORCE INDEX KEY ( RelObjectNameWithoutValue , )
         ::= ( 'USE' | 'SHOW' | 'IGNORE' | 'FORCE' ) ( 'INDEX' | 'KEY' ) '(' RelObjectNameWithoutValue ( ',' RelObjectNameWithoutValue )* ')'
referenced by: FromItem FunctionItem: Function Alias
         ::= Function Alias?
referenced by: PivotFunctionItems PivotForColumns: ( Column , ) Column
         ::= '(' Column ( ',' Column )* ')'
           | Column
referenced by: Pivot PivotXml UnPivot PivotFunctionItems: FunctionItem ,
         ::= FunctionItem ( ',' FunctionItem )*
referenced by: Pivot PivotXml PivotSingleInItems: PivotSelectExprItem ,
         ::= PivotSelectExprItem ( ',' PivotSelectExprItem )*
referenced by: Pivot PivotXml UnPivot PivotSelectExprItem: SimpleExpression Alias
         ::= SimpleExpression Alias?
referenced by: PivotSingleInItems ExpressionListItem: ( SimpleExpressionList ) Alias
         ::= '(' SimpleExpressionList ')' Alias?
referenced by: PivotMultiInItems PivotMultiInItems: ExpressionListItem ,
         ::= ExpressionListItem ( ',' ExpressionListItem )*
referenced by: Pivot PivotXml Pivot: PIVOT ( PivotFunctionItems FOR PivotForColumns IN ( PivotSingleInItems PivotMultiInItems ) ) Alias
Pivot    ::= 'PIVOT' '(' PivotFunctionItems 'FOR' PivotForColumns 'IN' '(' ( PivotSingleInItems | PivotMultiInItems ) ')' ')' Alias?
referenced by: FromItem PivotXml: PIVOT XML ( PivotFunctionItems FOR PivotForColumns IN ( ANY SelectBody PivotSingleInItems PivotMultiInItems ) )
PivotXml ::= 'PIVOT' 'XML' '(' PivotFunctionItems 'FOR' PivotForColumns 'IN' '(' ( 'ANY' | SelectBody | PivotSingleInItems | PivotMultiInItems ) ')' ')'
referenced by: FromItem UnPivot: UNPIVOT INCLUDE EXCLUDE NULLS ( PivotForColumns FOR PivotForColumns IN ( PivotSingleInItems ) ) Alias
UnPivot  ::= 'UNPIVOT' ( ( 'INCLUDE' | 'EXCLUDE' ) 'NULLS' )? '(' PivotForColumns 'FOR' PivotForColumns 'IN' '(' PivotSingleInItems ')' ')' Alias?
referenced by: FromItem IntoClause: INTO Table ,
         ::= 'INTO' Table ( ',' Table )*
referenced by: PlainSelect FromItem: ValuesList ( FromItem SubJoin SubSelect SetOperationListWithoutIntialSelect ) UnPivot TableFunction Table LateralSubSelect Alias UnPivot PivotXml Pivot MySQLIndexHint SQLServerHints referenced by: FromItem JoinerExpression PlainSelect Update ValuesList: ( VALUES ( SimpleExpression , ) , SimpleExpression , ) Alias ( RelObjectName , )
         ::= '(' 'VALUES' ( '(' SimpleExpression ( ',' SimpleExpression )* ')' ( ',' '(' SimpleExpression ( ',' SimpleExpression )* ')' )* | SimpleExpression ( ',' SimpleExpression )* ) ')' ( Alias ( '(' RelObjectName ( ',' RelObjectName )* ')' )? )?
referenced by: FromItem LateralSubSelect: LATERAL ( SubSelect )
         ::= 'LATERAL' '(' SubSelect ')'
referenced by: FromItem SubJoin: SubJoinsList referenced by: FromItem JoinsList: JoinerExpression
         ::= JoinerExpression*
referenced by: Delete PlainSelect Update SubJoinsList: JoinerExpression
         ::= JoinerExpression+
referenced by: SubJoin JoinerExpression: NATURAL RIGHT FULL OUTER LEFT SEMI OUTER INNER CROSS JOIN , OUTER STRAIGHT_JOIN APPLY FromItem WITHIN ( JoinWindow ) ON Expression USING ( Column , )
         ::= 'NATURAL'? ( ( 'RIGHT' | 'FULL' )? 'OUTER'? | 'LEFT' ( 'SEMI' | 'OUTER' )? | 'INNER' | 'CROSS' ) ( 'JOIN' | ',' 'OUTER'? | 'STRAIGHT_JOIN' | 'APPLY' ) FromItem ( ( 'WITHIN' '(' JoinWindow ')' )? ( 'ON' Expression )+ | 'USING' '(' Column ( ',' Column )* ')' )?
referenced by: JoinsList SubJoinsList JoinWindow: S_LONG S_IDENTIFIER K_DATE_LITERAL , S_LONG S_IDENTIFIER K_DATE_LITERAL
         ::= S_LONG ( S_IDENTIFIER | K_DATE_LITERAL ) ( ',' S_LONG ( S_IDENTIFIER | K_DATE_LITERAL ) )?
referenced by: JoinerExpression KSQLWindowClause: WINDOW HOPPING ( SIZE S_LONG S_IDENTIFIER , ADVANCE BY SESSION ( TUMBLING ( SIZE S_LONG S_IDENTIFIER )
         ::= 'WINDOW' ( 'HOPPING' '(' 'SIZE' S_LONG S_IDENTIFIER ',' 'ADVANCE' 'BY' | 'SESSION' '(' | 'TUMBLING' '(' 'SIZE' ) S_LONG S_IDENTIFIER ')'
referenced by: PlainSelect WhereClause: WHERE Expression
         ::= 'WHERE' Expression
referenced by: Delete InsertConflictAction InsertConflictTarget PlainSelect Update OracleHierarchicalQueryClause: START WITH AndExpression CONNECT BY NOCYCLE CONNECT BY NOCYCLE AndExpression START WITH AndExpression
         ::= ( 'START' 'WITH' AndExpression 'CONNECT' 'BY' 'NOCYCLE'? | 'CONNECT' 'BY' 'NOCYCLE'? ( AndExpression 'START' 'WITH' )? ) AndExpression
referenced by: PlainSelect GroupByColumnReferences: GROUP BY ( ) ComplexExpressionList GROUPING SETS ( ( SimpleExpressionList ) SimpleExpression , ) GROUPING SETS ( ( SimpleExpressionList ) SimpleExpression , )
         ::= 'GROUP' 'BY' ( ( '(' ')' | ComplexExpressionList ) ( 'GROUPING' 'SETS' '(' ( '(' SimpleExpressionList? ')' | SimpleExpression ) ( ',' ( '(' SimpleExpressionList? ')' | SimpleExpression ) )* ')' )? | 'GROUPING' 'SETS' '(' ( '(' SimpleExpressionList? ')' | SimpleExpression ) ( ',' ( '(' SimpleExpressionList? ')' | SimpleExpression ) )* ')' )
referenced by: PlainSelect Having: HAVING Expression
Having   ::= 'HAVING' Expression
referenced by: PlainSelect OrderByElements: ORDER SIBLINGS BY OrderByElement ,
         ::= 'ORDER' 'SIBLINGS'? 'BY' OrderByElement ( ',' OrderByElement )*
referenced by: Delete InternalFunction JsonAggregateFunction KeepExpression MySQLGroupConcat PlainSelect SetOperationList Update XMLSerializeExpr windowDefinition OrderByElement: Expression ASC DESC NULLS FIRST LAST
         ::= Expression ( 'ASC' | 'DESC' )? ( 'NULLS' ( 'FIRST' | 'LAST' )? )?
referenced by: OrderByElements SimpleJdbcParameter: ? S_LONG
         ::= '?' S_LONG?
referenced by: Fetch First FullTextSearch IntervalExpression PrimaryExpression Skip Top SimpleJdbcNamedParameter: : RelObjectNameExt
         ::= ':' RelObjectNameExt
referenced by: FullTextSearch LimitWithOffset: LIMIT Expression , Expression PlainLimit
         ::= 'LIMIT' Expression ',' Expression
           | PlainLimit
referenced by: PlainSelect SetOperationList PlainLimit: LIMIT ( SubSelect ) Expression
         ::= 'LIMIT' ( '(' SubSelect ')' | Expression )
referenced by: Delete LimitWithOffset Update Offset: OFFSET Expression ROWS ROW
Offset   ::= 'OFFSET' Expression ( 'ROWS' | 'ROW' )?
referenced by: PlainSelect SetOperationList Fetch: FETCH FIRST NEXT S_LONG SimpleJdbcParameter ROWS ROW ONLY
Fetch    ::= 'FETCH' ( 'FIRST' | 'NEXT' ) ( S_LONG | SimpleJdbcParameter ) ( 'ROWS' | 'ROW' ) 'ONLY'
referenced by: PlainSelect SetOperationList WithIsolation: WITH K_ISOLATION
         ::= 'WITH' K_ISOLATION
referenced by: PlainSelect SetOperationList OptimizeFor: OPTIMIZE FOR S_LONG ROWS
         ::= 'OPTIMIZE' 'FOR' S_LONG 'ROWS'
referenced by: PlainSelect Top: TOP S_LONG SimpleJdbcParameter : S_IDENTIFIER ( AdditiveExpression ) PERCENT WITH TIES
Top      ::= 'TOP' ( S_LONG | SimpleJdbcParameter | ':' S_IDENTIFIER? | '(' AdditiveExpression ')' ) 'PERCENT'? 'WITH TIES'?
referenced by: PlainSelect Skip: SKIP S_LONG S_IDENTIFIER SimpleJdbcParameter
Skip     ::= 'SKIP' ( S_LONG | S_IDENTIFIER | SimpleJdbcParameter )
referenced by: PlainSelect First: FIRST LIMIT S_LONG S_IDENTIFIER SimpleJdbcParameter
First    ::= ( 'FIRST' | 'LIMIT' ) ( S_LONG | S_IDENTIFIER | SimpleJdbcParameter )
referenced by: PlainSelect Expression: XorExpression
         ::= XorExpression
referenced by: AlterExpression AnalyticExpression CaseWhenExpression ComplexExpressionList CreateParameter CreateTable Declare Having InsertConflictAction JoinerExpression JsonAggregateFunction JsonFunction LikeExpression LimitWithOffset Merge MergeInsertClause MergeUpdateClause Offset OracleNamedFunctionParameter OrderByElement PlainLimit SQLExpressionList SelectExpressionItem ShowTables Update WhenThenSearchCondition WhereClause XorExpression: OrExpression XOR
         ::= OrExpression ( 'XOR' OrExpression )*
referenced by: AndExpression Expression OrExpression: AndExpression OR
         ::= AndExpression ( 'OR' AndExpression )*
referenced by: XorExpression AndExpression: Condition NOT ! ( XorExpression ) AND &&
         ::= ( Condition | ( 'NOT' | '!' )? '(' XorExpression ')' ) ( ( 'AND' | '&&' ) ( Condition | ( 'NOT' | '!' )? '(' XorExpression ')' ) )*
referenced by: OrExpression OracleHierarchicalQueryClause Condition: NOT ! RegularCondition SQLCondition
         ::= ( 'NOT' | '!' )? ( RegularCondition | SQLCondition )
referenced by: AndExpression Statement Statements OverlapsCondition: ( SimpleExpressionListAtLeastTwoItems ) OVERLAPS ( SimpleExpressionListAtLeastTwoItems )
         ::= '(' SimpleExpressionListAtLeastTwoItems ')' 'OVERLAPS' '(' SimpleExpressionListAtLeastTwoItems ')'
referenced by: SQLCondition RegularCondition: PRIOR ComparisonItem ( + ) > < = OP_GREATERTHANEQUALS OP_MINORTHANEQUALS OP_NOTEQUALSSTANDARD OP_NOTEQUALSBANG @@ ~ NOT REGEXP RLIKE BINARY ~* !~ !~* @> <@ ? ?| ?& OP_CONCAT - -# <-> <#> PRIOR ComparisonItem ( + )
         ::= 'PRIOR'? ComparisonItem ( '(' '+' ')' )? ( '>' | '<' | '=' | OP_GREATERTHANEQUALS | OP_MINORTHANEQUALS | OP_NOTEQUALSSTANDARD | OP_NOTEQUALSBANG | '@@' | '~' | ( 'NOT'? 'REGEXP' | 'RLIKE' ) 'BINARY'? | '~*' | '!~' | '!~*' | '@>' | '<@' | '?' | '?|' | '?&' | OP_CONCAT | '-' | '-#' | '<->' | '<#>' ) 'PRIOR'? ComparisonItem ( '(' '+' ')' )?
referenced by: Condition SQLCondition: ExistsExpression InExpression OverlapsCondition SimpleExpression Between IsNullExpression IsBooleanExpression LikeExpression IsDistinctExpression SimilarToExpression
         ::= ExistsExpression
           | InExpression
           | OverlapsCondition
referenced by: Condition InExpression: SimpleExpression ( + ) NOT IN S_CHAR_LITERAL Function ( ComplexExpressionList SubSelect ) SimpleExpression
         ::= SimpleExpression ( '(' '+' ')' )? 'NOT'? 'IN' ( S_CHAR_LITERAL | Function | '(' ( ComplexExpressionList | SubSelect ) ')' | SimpleExpression )
referenced by: SQLCondition MultiInExpressions: ( ( SimpleExpressionList ) , )
         ::= '(' '(' SimpleExpressionList ')' ( ',' '(' SimpleExpressionList ')' )* ')'
no referencesBetween: NOT BETWEEN SimpleExpression AND SimpleExpression
Between  ::= 'NOT'? 'BETWEEN' SimpleExpression 'AND' SimpleExpression
referenced by: SQLCondition LikeExpression: NOT LIKE ILIKE SimpleExpression ESCAPE Expression
         ::= 'NOT'? ( 'LIKE' | 'ILIKE' ) SimpleExpression ( 'ESCAPE' Expression )?
referenced by: SQLCondition SimilarToExpression: NOT SIMILAR TO SimpleExpression ESCAPE S_CHAR_LITERAL
         ::= 'NOT'? 'SIMILAR' 'TO' SimpleExpression ( 'ESCAPE' S_CHAR_LITERAL )?
referenced by: SQLCondition IsDistinctExpression: IS NOT DISTINCT FROM SimpleExpression
         ::= 'IS' 'NOT'? 'DISTINCT' 'FROM' SimpleExpression
referenced by: SQLCondition IsNullExpression: ISNULL IS NOT NULL
         ::= 'ISNULL'
           | 'IS' 'NOT'? 'NULL'
referenced by: SQLCondition IsBooleanExpression: IS NOT TRUE FALSE
         ::= 'IS' 'NOT'? ( 'TRUE' | 'FALSE' )
referenced by: SQLCondition ExistsExpression: EXISTS SimpleExpression
         ::= 'EXISTS' SimpleExpression
referenced by: SQLCondition SQLExpressionList: Expression ,
         ::= Expression ( ',' Expression )*
no referencesSimpleExpressionList: SimpleExpression ,
         ::= SimpleExpression ( ',' SimpleExpression )*
referenced by: AnyComparisonExpression Execute ExpressionListItem GroupByColumnReferences InternalFunction MultiInExpressions MySQLGroupConcat PrimaryExpression SpecialStringFunctionWithNamedParameters Values WithItem ComplexExpressionList: OracleNamedFunctionParameter Expression , referenced by: GroupByColumnReferences InExpression InsertConflictAction InternalFunction JsonAggregateFunction PrimaryExpression SpecialStringFunctionWithNamedParameters Update windowDefinition NamedExpressionList1: BOTH LEADING TRAILING SimpleExpression FROM IN PLACING SimpleExpression
         ::= ( 'BOTH' | 'LEADING' | 'TRAILING' ) SimpleExpression ( 'FROM' | 'IN' | 'PLACING' ) SimpleExpression
referenced by: SpecialStringFunctionWithNamedParameters NamedExpressionListExprFirst: SimpleExpression FROM IN PLACING SimpleExpression FOR FROM SimpleExpression FOR SimpleExpression
         ::= SimpleExpression ( 'FROM' | 'IN' | 'PLACING' ) SimpleExpression ( ( 'FOR' | 'FROM' ) SimpleExpression ( 'FOR' SimpleExpression )? )?
referenced by: SpecialStringFunctionWithNamedParameters SimpleExpressionListAtLeastTwoItems: SimpleExpression , SimpleExpression
         ::= SimpleExpression ( ',' SimpleExpression )+
referenced by: OverlapsCondition ValueListExpression ComparisonItem: AnyComparisonExpression ValueListExpression SimpleExpression RowConstructor
         ::= AnyComparisonExpression
           | ValueListExpression
           | SimpleExpression
           | RowConstructor
referenced by: RegularCondition AnyComparisonExpression: ANY SOME ALL ( VALUES SimpleExpressionList SubSelect )
         ::= ( 'ANY' | 'SOME' | 'ALL' ) '(' ( 'VALUES' SimpleExpressionList | SubSelect ) ')'
referenced by: ComparisonItem SimpleExpression: UserVariable = := ConcatExpression
         ::= ( UserVariable ( '=' | ':=' ) )? ConcatExpression
referenced by: ArrayConstructor ArrayExpression Between CastExpression ComparisonItem ExistsExpression ExtractExpression GroupByColumnReferences InExpression Insert InsertConflictAction IsDistinctExpression LikeExpression MergeInsertClause MergeUpdateClause NamedExpressionList1 NamedExpressionListExprFirst PivotSelectExprItem Replace SQLCondition Set ShowTables SimilarToExpression SimpleExpressionList SimpleExpressionListAtLeastTwoItems TryCastExpression Update Upsert ValuesList VariableExpression WindowOffset XMLSerializeExpr ConcatExpression: BitwiseAndOr OP_CONCAT
         ::= BitwiseAndOr ( OP_CONCAT BitwiseAndOr )*
referenced by: SimpleExpression BitwiseAndOr: AdditiveExpression | & << >>
         ::= AdditiveExpression ( ( '|' | '&' | '<<' | '>>' ) AdditiveExpression )*
referenced by: ConcatExpression AdditiveExpression: MultiplicativeExpression + -
         ::= MultiplicativeExpression ( ( '+' | '-' ) MultiplicativeExpression )*
referenced by: BitwiseAndOr Top MultiplicativeExpression: BitwiseXor * / DIV %
         ::= BitwiseXor ( ( '*' | '/' | 'DIV' | '%' ) BitwiseXor )*
referenced by: AdditiveExpression BitwiseXor: PrimaryExpression ^
         ::= PrimaryExpression ( '^' PrimaryExpression )*
referenced by: MultiplicativeExpression ArrayExpression: [ SimpleExpression : SimpleExpression ]
         ::= '[' SimpleExpression? ( ':' SimpleExpression? )? ']'
referenced by: PrimaryExpression PrimaryExpression: NOT ! + - ~ NULL CaseWhenExpression SimpleJdbcParameter JdbcNamedParameter UserVariable NumericBind ExtractExpression MySQLGroupConcat XMLSerializeExpr JsonExpression JsonFunction JsonAggregateFunction FullTextSearch Function AnalyticExpression IntervalExpression S_DOUBLE S_LONG S_HEX CastExpression TryCastExpression K_TIME_KEY_EXPR CURRENT DateTimeLiteralExpression ARRAY ArrayConstructor NextValExpression ConnectByRootOperator ALL Column S_CHAR_LITERAL {d {t {ts S_CHAR_LITERAL } ( SubSelect ) ComplexExpressionList SimpleExpressionList ) . RelObjectNameExt COLLATE S_IDENTIFIER IntervalExpressionWithoutInterval ArrayExpression :: ColDataType AT K_DATETIMELITERAL ZONE PrimaryExpression
         ::= ( 'NOT' | '!' )? ( '+' | '-' | '~' )? ( 'NULL' | CaseWhenExpression | SimpleJdbcParameter | JdbcNamedParameter | UserVariable | NumericBind | ExtractExpression | MySQLGroupConcat | XMLSerializeExpr | JsonExpression | JsonFunction | JsonAggregateFunction | FullTextSearch | Function AnalyticExpression? | IntervalExpression | S_DOUBLE | S_LONG | S_HEX | CastExpression | TryCastExpression | K_TIME_KEY_EXPR | 'CURRENT' | DateTimeLiteralExpression | 'ARRAY' ArrayConstructor | NextValExpression | ConnectByRootOperator | 'ALL' | Column | S_CHAR_LITERAL | ( '{d' | '{t' | '{ts' ) S_CHAR_LITERAL '}' | '(' ( SubSelect ')' | ( ComplexExpressionList | SimpleExpressionList ) ')' ( '.' RelObjectNameExt )? ) ) ( 'COLLATE' S_IDENTIFIER )? IntervalExpressionWithoutInterval? ArrayExpression? ( '::' ColDataType )* ( 'AT' K_DATETIMELITERAL 'ZONE' PrimaryExpression )*
referenced by: BitwiseXor PrimaryExpression Replace ConnectByRootOperator: CONNECT_BY_ROOT Column
         ::= 'CONNECT_BY_ROOT' Column
referenced by: PrimaryExpression NextValExpression: K_NEXTVAL RelObjectNameList
         ::= K_NEXTVAL RelObjectNameList
referenced by: PrimaryExpression JdbcNamedParameter: : RelObjectNameExt2
         ::= ':' RelObjectNameExt2
referenced by: IntervalExpression PrimaryExpression OracleNamedFunctionParameter: RelObjectNameExt2 => Expression
         ::= RelObjectNameExt2 '=>' Expression
referenced by: ComplexExpressionList UserVariable: @ @@ RelObjectNameExt2 .
         ::= ( '@' | '@@' ) RelObjectNameExt2 ( '.' RelObjectNameExt2 )*
referenced by: Declare OutputClause PrimaryExpression SimpleExpression VariableExpression NumericBind: : S_LONG
         ::= ':' S_LONG
referenced by: PrimaryExpression DateTimeLiteralExpression: K_DATETIMELITERAL S_CHAR_LITERAL
         ::= K_DATETIMELITERAL S_CHAR_LITERAL
referenced by: PrimaryExpression ArrayConstructor: [ SimpleExpression ArrayConstructor , ]
         ::= '[' ( ( SimpleExpression | ArrayConstructor ) ( ',' ( SimpleExpression | ArrayConstructor ) )* )? ']'
referenced by: ArrayConstructor CreateParameter PrimaryExpression JsonExpression: Column :: ColDataType -> ->> S_CHAR_LITERAL S_LONG #> #>> S_CHAR_LITERAL
         ::= Column ( '::' ColDataType )* ( ( '->' | '->>' ) ( S_CHAR_LITERAL | S_LONG ) | ( '#>' | '#>>' ) S_CHAR_LITERAL )+
referenced by: PrimaryExpression JsonFunction: JSON_OBJECT ( KEY S_CHAR_LITERAL : , VALUE Expression FORMAT JSON , KEY S_CHAR_LITERAL : , VALUE Expression FORMAT JSON NULL ABSENT ON NULL WITH WITHOUT UNIQUE KEYS JSON_ARRAY ( NULL ON NULL Expression FORMAT JSON , ABSENT ON NULL )
         ::= ( 'JSON_OBJECT' '(' ( 'KEY'? S_CHAR_LITERAL ( ( ':' | ',' | 'VALUE' ) Expression ( 'FORMAT' 'JSON' )? )? ( ',' 'KEY'? S_CHAR_LITERAL ( ':' | ',' | 'VALUE' ) Expression ( 'FORMAT' 'JSON' )? )* )? ( ( 'NULL' | 'ABSENT' ) 'ON' 'NULL' )? ( ( 'WITH' | 'WITHOUT' ) 'UNIQUE' 'KEYS' )? | 'JSON_ARRAY' '(' ( 'NULL' 'ON' 'NULL' | Expression ( 'FORMAT' 'JSON' )? ( ',' Expression ( 'FORMAT' 'JSON' )? )* )* ( 'ABSENT' 'ON' 'NULL' )? ) ')'
referenced by: PrimaryExpression JsonAggregateFunction: JSON_OBJECTAGG ( KEY DT_ZONE S_DOUBLE S_LONG S_HEX S_CHAR_LITERAL S_IDENTIFIER S_QUOTED_IDENTIFIER : VALUE S_IDENTIFIER S_QUOTED_IDENTIFIER FORMAT JSON NULL ABSENT ON NULL WITH WITHOUT UNIQUE KEYS JSON_ARRAYAGG ( Expression FORMAT JSON OrderByElements NULL ABSENT ON NULL ) FILTER ( WHERE Expression ) OVER ( PARTITION BY ComplexExpressionList ( ComplexExpressionList ) OrderByElements WindowElement )
         ::= ( 'JSON_OBJECTAGG' '(' 'KEY'? ( DT_ZONE | S_DOUBLE | S_LONG | S_HEX | S_CHAR_LITERAL | S_IDENTIFIER | S_QUOTED_IDENTIFIER ) ( ':' | 'VALUE' ) ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) ( 'FORMAT' 'JSON' )? ( ( 'NULL' | 'ABSENT' ) 'ON' 'NULL' )? ( ( 'WITH' | 'WITHOUT' ) 'UNIQUE' 'KEYS' )? | 'JSON_ARRAYAGG' '(' Expression ( 'FORMAT' 'JSON' )? OrderByElements? ( ( 'NULL' | 'ABSENT' ) 'ON' 'NULL' )? ) ')' ( 'FILTER' '(' 'WHERE' Expression ')' )? ( 'OVER' '(' ( 'PARTITION' 'BY' ( ComplexExpressionList | '(' ComplexExpressionList ')' ) )? OrderByElements? WindowElement? ')' )?
referenced by: PrimaryExpression IntervalExpression: INTERVAL - S_LONG S_DOUBLE S_CHAR_LITERAL SimpleJdbcParameter JdbcNamedParameter Function Column S_IDENTIFIER K_DATE_LITERAL referenced by: PrimaryExpression IntervalExpressionWithoutInterval: K_DATE_LITERAL
         ::= K_DATE_LITERAL
referenced by: PrimaryExpression KeepExpression: KEEP ( S_IDENTIFIER FIRST LAST OrderByElements )
         ::= 'KEEP' '(' S_IDENTIFIER ( 'FIRST' | 'LAST' ) OrderByElements ')'
referenced by: InternalFunction windowFun: IGNORE NULLS OVER WITHIN GROUP RelObjectName windowDefinition
         ::= ( ( 'IGNORE' 'NULLS' )? 'OVER' | 'WITHIN' 'GROUP' ) ( RelObjectName | windowDefinition )
referenced by: AnalyticExpression windowDefinition: ( PARTITION BY ComplexExpressionList ( ComplexExpressionList ) OrderByElements WindowElement )
         ::= '(' ( 'PARTITION' 'BY' ( ComplexExpressionList | '(' ComplexExpressionList ')' ) )? OrderByElements? WindowElement? ')'
referenced by: PlainSelect windowFun AnalyticExpression: FILTER ( WHERE Expression ) windowFun windowFun
         ::= 'FILTER' '(' 'WHERE' Expression ')' windowFun?
           | windowFun
referenced by: PrimaryExpression WindowElement: ROWS RANGE BETWEEN WindowOffset AND WindowOffset
         ::= ( 'ROWS' | 'RANGE' ) ( 'BETWEEN' WindowOffset 'AND' )? WindowOffset
referenced by: JsonAggregateFunction windowDefinition WindowOffset: UNBOUNDED SimpleExpression PRECEDING FOLLOWING CURRENT ROW
         ::= ( 'UNBOUNDED' | SimpleExpression ) ( 'PRECEDING' | 'FOLLOWING' )
           | 'CURRENT' 'ROW'
referenced by: WindowElement ExtractExpression: EXTRACT ( RelObjectName S_CHAR_LITERAL FROM SimpleExpression )
         ::= 'EXTRACT' '(' ( RelObjectName | S_CHAR_LITERAL ) 'FROM' SimpleExpression ')'
referenced by: PrimaryExpression CastExpression: CAST ( SimpleExpression AS RowConstructor ColDataType )
         ::= 'CAST' '(' SimpleExpression 'AS' ( RowConstructor | ColDataType ) ')'
referenced by: PrimaryExpression TryCastExpression: TRY_CAST ( SimpleExpression AS RowConstructor ColDataType )
         ::= 'TRY_CAST' '(' SimpleExpression 'AS' ( RowConstructor | ColDataType ) ')'
referenced by: PrimaryExpression CaseWhenExpression: CASE Expression WhenThenSearchCondition ELSE ( CaseWhenExpression ) Expression END
         ::= 'CASE' Expression? WhenThenSearchCondition+ ( 'ELSE' ( '('? CaseWhenExpression ')'? | Expression ) )? 'END'
referenced by: CaseWhenExpression PrimaryExpression WhenThenSearchCondition WhenThenSearchCondition: WHEN Expression THEN ( CaseWhenExpression ) Expression
         ::= 'WHEN' Expression 'THEN' ( '('? CaseWhenExpression ')'? | Expression )
referenced by: CaseWhenExpression RowConstructor: ROW ( ColumnDefinition , )
         ::= 'ROW'? '(' ColumnDefinition ( ',' ColumnDefinition )* ')'
referenced by: CastExpression ComparisonItem TryCastExpression VariableExpression: UserVariable = SimpleExpression
         ::= UserVariable '=' SimpleExpression
referenced by: Execute Execute: EXEC EXECUTE CALL RelObjectNameList VariableExpression , SimpleExpressionList ( SimpleExpressionList )
Execute  ::= ( 'EXEC' | 'EXECUTE' | 'CALL' ) RelObjectNameList ( VariableExpression ( ',' VariableExpression )* | SimpleExpressionList | '(' SimpleExpressionList ')' )?
referenced by: SingleStatement FullTextSearch: MATCH ( Column , ) AGAINST ( S_CHAR_LITERAL SimpleJdbcParameter SimpleJdbcNamedParameter IN NATURAL LANGUAGE MODE IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION IN BOOLEAN MODE WITH QUERY EXPANSION )
         ::= 'MATCH' '(' Column ( ',' Column )* ')' 'AGAINST' '(' ( S_CHAR_LITERAL | SimpleJdbcParameter | SimpleJdbcNamedParameter ) ( 'IN NATURAL LANGUAGE MODE' | 'IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION' | 'IN BOOLEAN MODE' | 'WITH QUERY EXPANSION' )? ')'
referenced by: PrimaryExpression Function: { FN InternalFunction } SpecialStringFunctionWithNamedParameters InternalFunction
Function ::= '{' 'FN' InternalFunction '}'
           | InternalFunction
referenced by: FunctionItem InExpression InternalFunction IntervalExpression PrimaryExpression TableFunction SpecialStringFunctionWithNamedParameters: K_STRING_FUNCTION_NAME ( NamedExpressionList1 NamedExpressionListExprFirst ComplexExpressionList SimpleExpressionList ) referenced by: Function InternalFunction: RelObjectNameList ( DISTINCT ALL UNIQUE * AllTableColumns ComplexExpressionList SimpleExpressionList OrderByElements SubSelect IGNORE NULLS ) . Function RelObjectName KeepExpression
         ::= RelObjectNameList '(' ( ( 'DISTINCT' | 'ALL' | 'UNIQUE' )? ( '*' | AllTableColumns | ( ComplexExpressionList | SimpleExpressionList ) OrderByElements? | SubSelect ) )? ( 'IGNORE' 'NULLS' )? ')' ( '.' ( Function | RelObjectName ) )? KeepExpression?
referenced by: Function XMLSerializeExpr: XMLSERIALIZE ( XMLAGG ( XMLTEXT ( SimpleExpression ) OrderByElements ) AS ColDataType )
         ::= 'XMLSERIALIZE' '(' 'XMLAGG' '(' 'XMLTEXT' '(' SimpleExpression ')' OrderByElements? ')' 'AS' ColDataType ')'
referenced by: PrimaryExpression MySQLGroupConcat: GROUP_CONCAT ( DISTINCT SimpleExpressionList OrderByElements SEPARATOR S_CHAR_LITERAL )
         ::= 'GROUP_CONCAT' '(' 'DISTINCT'? SimpleExpressionList OrderByElements? ( 'SEPARATOR' S_CHAR_LITERAL )? ')'
referenced by: PrimaryExpression ValueListExpression: ( SimpleExpressionListAtLeastTwoItems )
         ::= '(' SimpleExpressionListAtLeastTwoItems ')'
referenced by: ComparisonItem TableFunction: Function Alias
         ::= Function Alias?
referenced by: FromItem SubSelect: WithList SelectBody
         ::= WithList? SelectBody
referenced by: AnyComparisonExpression FromItem InExpression InsertConflictAction InternalFunction LateralSubSelect Merge PlainLimit PrimaryExpression Replace Update WithItem ColumnNamesWithParamsList: ( RelObjectName CreateParameter , )
         ::= '(' RelObjectName CreateParameter? ( ',' RelObjectName CreateParameter? )* ')'
referenced by: CreateIndex CreateTable Index: RelObjectNameList referenced by: CreateIndex PurgeStatement CreateIndex: CREATE CreateParameter INDEX Index ON Table USING S_IDENTIFIER ColumnNamesWithParamsList CreateParameter
         ::= 'CREATE' CreateParameter? 'INDEX' Index 'ON' Table ( 'USING' S_IDENTIFIER )? ColumnNamesWithParamsList CreateParameter*
referenced by: SingleStatement ColumnDefinition: RelObjectName ColDataType CreateParameter referenced by: CreateTable Declare RowConstructor CreateSchema: CREATE SCHEMA S_IDENTIFIER S_QUOTED_IDENTIFIER AUTHORIZATION S_IDENTIFIER S_QUOTED_IDENTIFIER PathSpecification CreateTable CreateView
         ::= 'CREATE' 'SCHEMA' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER )? ( 'AUTHORIZATION' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) )? PathSpecification? ( CreateTable | CreateView )*
referenced by: SingleStatement PathSpecification: PATH S_IDENTIFIER S_QUOTED_IDENTIFIER ,
         ::= 'PATH' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) ( ',' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) )*
referenced by: CreateSchema CreateTable: CREATE OR REPLACE UNLOGGED GLOBAL CreateParameter TABLE IF NOT EXISTS Table ( ColumnDefinition , INDEX UNIQUE FULLTEXT KEY RelObjectName ColumnNamesWithParamsList CreateParameter CONSTRAINT RelObjectName PRIMARY KEY UNIQUE KEY ColumnNamesWithParamsList CreateParameter FOREIGN KEY ColumnNamesWithParamsList REFERENCES Table ColumnsNamesList ON DELETE UPDATE Action ON DELETE UPDATE Action CHECK ( Expression ) EXCLUDE WHERE ( Expression ) ColumnDefinition RelObjectName , ) CreateParameter RowMovement AS SelectWithWithItems LIKE ( Table ) Table
         ::= 'CREATE' ( 'OR' 'REPLACE' )? 'UNLOGGED'? 'GLOBAL'? CreateParameter* 'TABLE' ( 'IF' 'NOT' 'EXISTS' )? Table ( '(' ( RelObjectName ( ',' RelObjectName )* | ColumnDefinition ( ',' ( ( 'INDEX' | 'UNIQUE'? 'FULLTEXT'? 'KEY' ) RelObjectName ColumnNamesWithParamsList CreateParameter* | ( 'CONSTRAINT' RelObjectName )? ( ( 'PRIMARY' 'KEY' | 'UNIQUE' 'KEY'? ) ColumnNamesWithParamsList CreateParameter* | 'FOREIGN' 'KEY' ColumnNamesWithParamsList 'REFERENCES' Table ColumnsNamesList ( 'ON' ( 'DELETE' | 'UPDATE' ) Action )? ( 'ON' ( 'DELETE' | 'UPDATE' ) Action )? | 'CHECK' ( '(' Expression ')' )* ) | 'EXCLUDE' 'WHERE' ( '(' Expression ')' )* | ColumnDefinition ) )* ) ')' )? CreateParameter* RowMovement? ( 'AS' SelectWithWithItems )? ( 'LIKE' ( '(' Table ')' | Table ) )?
referenced by: CreateSchema SingleStatement ColDataType: CHARACTER BIT VARYING DOUBLE PRECISION S_IDENTIFIER S_QUOTED_IDENTIFIER K_DATETIMELITERAL K_DATE_LITERAL XML INTERVAL DT_ZONE CHAR SET BINARY JSON . S_IDENTIFIER S_QUOTED_IDENTIFIER UNSIGNED SIGNED S_IDENTIFIER ( S_LONG BYTE CHAR S_CHAR_LITERAL S_IDENTIFIER CHAR , ) [ S_LONG ] CHARACTER SET S_IDENTIFIER BINARY
         ::= ( ( 'CHARACTER' | 'BIT' ) 'VARYING'? | 'DOUBLE' 'PRECISION'? | ( S_IDENTIFIER | S_QUOTED_IDENTIFIER | K_DATETIMELITERAL | K_DATE_LITERAL | 'XML' | 'INTERVAL' | DT_ZONE | 'CHAR' | 'SET' | 'BINARY' | 'JSON' ) ( '.' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) )? | ( 'UNSIGNED' | 'SIGNED' ) S_IDENTIFIER? ) ( '(' ( ( S_LONG ( 'BYTE' | 'CHAR' )? | S_CHAR_LITERAL | S_IDENTIFIER | 'CHAR' ) ','? )* ')' )? ( '[' S_LONG? ']' )* ( 'CHARACTER' 'SET' ( S_IDENTIFIER | 'BINARY' ) )?
referenced by: Alias AlterExpressionColumnDataType CastExpression ColumnDefinition CreateParameter Declare JsonExpression PrimaryExpression TryCastExpression XMLSerializeExpr Analyze: ANALYZE Table
Analyze  ::= 'ANALYZE' Table
referenced by: SingleStatement CreateView: CREATE OR REPLACE NO FORCE TEMP TEMPORARY MATERIALIZED VIEW Table ColumnsNamesList AS SelectWithWithItems WITH READ ONLY
         ::= 'CREATE' ( 'OR' 'REPLACE' )? ( 'NO'? 'FORCE' )? ( 'TEMP' | 'TEMPORARY' )? 'MATERIALIZED'? 'VIEW' Table ColumnsNamesList? 'AS' SelectWithWithItems ( 'WITH' 'READ' 'ONLY' )?
referenced by: CreateSchema SingleStatement Action: CASCADE RESTRICT NO ACTION SET NULL DEFAULT
Action   ::= 'CASCADE'
           | 'RESTRICT'
           | 'NO' 'ACTION'
           | 'SET' ( 'NULL' | 'DEFAULT' )
referenced by: AlterExpression CreateTable AlterView: ALTER REPLACE VIEW Table ColumnsNamesList AS SelectBody
         ::= ( 'ALTER' | 'REPLACE' ) 'VIEW' Table ColumnsNamesList? 'AS' SelectBody
referenced by: SingleStatement CreateParameter: S_IDENTIFIER S_QUOTED_IDENTIFIER . S_IDENTIFIER S_QUOTED_IDENTIFIER NULL NOT PRIMARY DEFAULT FOREIGN REFERENCES KEY S_CHAR_LITERAL + - S_LONG S_DOUBLE AS ON COMMIT DROP ROWS UNIQUE CASCADE DELETE UPDATE K_TIME_KEY_EXPR = USING INDEX TABLESPACE RelObjectName TABLESPACE RelObjectName AList CHECK ( Expression ) CONSTRAINT WITH EXCLUDE WHERE UNSIGNED TEMP TEMPORARY PARTITION BY IN TYPE COMMENT COLLATE ASC DESC TRUE FALSE PARALLEL BINARY CHARACTER SET ARRAY ArrayConstructor :: ColDataType
         ::= ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) ( '.' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) )?
           | 'NULL'
           | 'NOT'
           | 'PRIMARY'
           | 'DEFAULT'
           | 'FOREIGN'
           | 'REFERENCES'
           | 'KEY'
           | S_CHAR_LITERAL
           | ( '+' | '-' )? ( S_LONG | S_DOUBLE )
           | 'AS'
           | 'ON'
           | 'COMMIT'
           | 'DROP'
           | 'ROWS'
           | 'UNIQUE'
           | 'CASCADE'
           | 'DELETE'
           | 'UPDATE'
           | K_TIME_KEY_EXPR
           | '='
           | 'USING' ( 'INDEX' 'TABLESPACE' RelObjectName )?
           | 'TABLESPACE' RelObjectName
           | AList
           | 'CHECK' '(' Expression ')'
           | 'CONSTRAINT'
           | 'WITH'
           | 'EXCLUDE'
           | 'WHERE'
           | 'UNSIGNED'
           | 'TEMP'
           | 'TEMPORARY'
           | 'PARTITION'
           | 'BY'
           | 'IN'
           | 'TYPE'
           | 'COMMENT'
           | 'COLLATE'
           | 'ASC'
           | 'DESC'
           | 'TRUE'
           | 'FALSE'
           | 'PARALLEL'
           | 'BINARY'
           | 'CHARACTER' 'SET'
           | 'ARRAY' ArrayConstructor
           | '::' ColDataType
referenced by: AlterExpressionColumnDataType ColumnDefinition ColumnNamesWithParamsList CreateIndex CreateTable RowMovement: ENABLE DISABLE ROW MOVEMENT
         ::= ( 'ENABLE' | 'DISABLE' ) 'ROW' 'MOVEMENT'
referenced by: CreateTable AList: ( S_LONG S_DOUBLE S_CHAR_LITERAL RelObjectNameWithoutValue , = )
AList    ::= '(' ( ( S_LONG | S_DOUBLE | S_CHAR_LITERAL | RelObjectNameWithoutValue ) ( ',' | '=' )? )* ')'
referenced by: CreateParameter ColumnsNamesListItem: RelObjectName ( S_LONG )
         ::= RelObjectName ( '(' S_LONG ')' )?
referenced by: ColumnsNamesList UsersList ColumnsNamesList: ( ColumnsNamesListItem , )
         ::= '(' ColumnsNamesListItem ( ',' ColumnsNamesListItem )* ')'
referenced by: AlterExpression AlterView CreateTable CreateView OutputClause FuncArgsListItem: RelObjectName RelObjectName ( S_LONG )
         ::= RelObjectName RelObjectName? ( '(' S_LONG ')' )?
referenced by: FuncArgsList FuncArgsList: ( FuncArgsListItem , )
         ::= '(' ( FuncArgsListItem ( ',' FuncArgsListItem )* )? ')'
referenced by: Drop Drop: DROP S_IDENTIFIER TABLE INDEX VIEW SCHEMA SEQUENCE FUNCTION IF EXISTS Table FuncArgsList S_IDENTIFIER CASCADE RESTRICT ON
Drop     ::= 'DROP' ( S_IDENTIFIER | 'TABLE' | 'INDEX' | 'VIEW' | 'SCHEMA' | 'SEQUENCE' | 'FUNCTION' ) ( 'IF' 'EXISTS' )? Table FuncArgsList? ( S_IDENTIFIER | 'CASCADE' | 'RESTRICT' | 'ON' )*
referenced by: SingleStatement Truncate: TRUNCATE TABLE ONLY Table CASCADE
Truncate ::= 'TRUNCATE' 'TABLE'? 'ONLY'? Table 'CASCADE'?
referenced by: SingleStatement AlterExpressionColumnDataType: RelObjectName TYPE ColDataType CreateParameter
         ::= RelObjectName 'TYPE'? ColDataType CreateParameter*
referenced by: AlterExpression AlterExpressionColumnDropNotNull: RelObjectName DROP NOT NULL
         ::= RelObjectName 'DROP' 'NOT'? 'NULL'
referenced by: AlterExpression AlterExpressionColumnDropDefault: RelObjectName DROP DEFAULT
         ::= RelObjectName 'DROP' 'DEFAULT'
referenced by: AlterExpression AlterExpressionConstraintState: NOT DEFERRABLE VALIDATE NOVALIDATE ENABLE DISABLE
         ::= ( 'NOT'? 'DEFERRABLE' | 'VALIDATE' | 'NOVALIDATE' | 'ENABLE' | 'DISABLE' )*
referenced by: AlterExpression AlterExpression: ADD ALTER MODIFY PRIMARY KEY KEY INDEX RelObjectName ColumnsNamesList AlterExpressionConstraintState UNIQUE KEY INDEX S_IDENTIFIER S_QUOTED_IDENTIFIER ColumnsNamesList USING RelObjectName COLUMN ( AlterExpressionColumnDataType , ) AlterExpressionColumnDataType AlterExpressionColumnDropNotNull AlterExpressionColumnDropDefault ( AlterExpressionColumnDataType , ) FOREIGN KEY ColumnsNamesList REFERENCES Table ColumnsNamesList ON DELETE UPDATE Action ON DELETE UPDATE Action CONSTRAINT RelObjectName FOREIGN KEY ColumnsNamesList REFERENCES Table ColumnsNamesList ON DELETE UPDATE Action ON DELETE UPDATE Action KEY ColumnsNamesList AlterExpressionConstraintState PRIMARY KEY UNIQUE KEY INDEX ColumnsNamesList AlterExpressionConstraintState USING RelObjectName CHECK ( Expression ) RelObjectName COMMENT S_CHAR_LITERAL CHANGE COLUMN S_IDENTIFIER S_QUOTED_IDENTIFIER AlterExpressionColumnDataType DROP ColumnsNamesList COLUMN IF EXISTS S_IDENTIFIER S_QUOTED_IDENTIFIER INVALIDATE CASCADE CONSTRAINTS INDEX S_IDENTIFIER S_QUOTED_IDENTIFIER UNIQUE FOREIGN KEY ColumnsNamesList PRIMARY KEY CONSTRAINT IF EXISTS S_IDENTIFIER S_QUOTED_IDENTIFIER CASCADE RESTRICT ALGORITHM = RelObjectName RENAME COLUMN S_IDENTIFIER S_QUOTED_IDENTIFIER TO S_IDENTIFIER S_QUOTED_IDENTIFIER COMMENT S_CHAR_LITERAL captureRest
         ::= ( 'ADD' | 'ALTER' | 'MODIFY' ) ( ( ( 'PRIMARY' 'KEY' | ( 'KEY' | 'INDEX' ) RelObjectName ) ColumnsNamesList AlterExpressionConstraintState | 'UNIQUE' ( ( 'KEY' | 'INDEX' ) ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) )? ColumnsNamesList ) ( 'USING' RelObjectName )? | 'COLUMN'? ( '(' AlterExpressionColumnDataType ( ',' AlterExpressionColumnDataType )* ')' | AlterExpressionColumnDataType | AlterExpressionColumnDropNotNull | AlterExpressionColumnDropDefault ) | '(' AlterExpressionColumnDataType ( ',' AlterExpressionColumnDataType )* ')' | 'FOREIGN' 'KEY' ColumnsNamesList 'REFERENCES' Table ColumnsNamesList? ( 'ON' ( 'DELETE' | 'UPDATE' ) Action )? ( 'ON' ( 'DELETE' | 'UPDATE' ) Action )? | 'CONSTRAINT' RelObjectName ( ( 'FOREIGN' 'KEY' ColumnsNamesList 'REFERENCES' Table ColumnsNamesList? ( 'ON' ( 'DELETE' | 'UPDATE' ) Action )? ( 'ON' ( 'DELETE' | 'UPDATE' ) Action )? | 'KEY' ColumnsNamesList ) AlterExpressionConstraintState | ( 'PRIMARY' 'KEY' | 'UNIQUE' ( 'KEY' | 'INDEX' )? ) ColumnsNamesList AlterExpressionConstraintState ( 'USING' RelObjectName )? | 'CHECK' ( '(' Expression ')' )* ) | RelObjectName 'COMMENT' S_CHAR_LITERAL )
           | 'CHANGE' 'COLUMN'? ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) AlterExpressionColumnDataType
           | 'DROP' ( ( ColumnsNamesList | 'COLUMN'? ( 'IF' 'EXISTS' )? ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) ) 'INVALIDATE'? ( 'CASCADE' 'CONSTRAINTS'? )? | 'INDEX' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) | ( ( 'UNIQUE' | 'FOREIGN' 'KEY' ) ColumnsNamesList | 'PRIMARY' 'KEY' | 'CONSTRAINT' ( 'IF' 'EXISTS' )? ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) ) ( 'CASCADE' | 'RESTRICT' )? )
           | 'ALGORITHM' '='? RelObjectName
           | 'RENAME' ( 'COLUMN'? ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) )? 'TO' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER )
           | 'COMMENT' S_CHAR_LITERAL
           | captureRest
referenced by: AlterTable AlterTable: ALTER TABLE ONLY IF EXISTS Table AlterExpression ,
         ::= 'ALTER' 'TABLE' 'ONLY'? ( 'IF' 'EXISTS' )? Table AlterExpression ( ',' AlterExpression )*
referenced by: SingleStatement AlterSession: ALTER SESSION ADVISE COMMIT ROLLBACK NOTHING CLOSE DATABASE LINK ENABLE DISABLE COMMIT IN PROCEDURE GUARD PARALLEL DML DDL QUERY RESUMABLE FORCE PARALLEL DML DDL QUERY SET S_CHAR_LITERAL S_IDENTIFIER = S_LONG PARALLEL
         ::= 'ALTER' 'SESSION' ( 'ADVISE' ( 'COMMIT' | 'ROLLBACK' | 'NOTHING' ) | 'CLOSE' 'DATABASE' 'LINK' | ( 'ENABLE' | 'DISABLE' ) ( 'COMMIT' 'IN' 'PROCEDURE' | 'GUARD' | 'PARALLEL' ( 'DML' | 'DDL' | 'QUERY' ) | 'RESUMABLE' ) | 'FORCE' 'PARALLEL' ( 'DML' | 'DDL' | 'QUERY' ) | 'SET' ) ( S_CHAR_LITERAL | S_IDENTIFIER | '=' | S_LONG | 'PARALLEL' )*
referenced by: SingleStatement AlterSystemStatement: ALTER SYSTEM ARCHIVE LOG CHECKPOINT DUMP ACTIVE SESSION HISTORY ENABLE DISABLE DISTRIBUTED RECOVERY RESTRICTED SESSION FLUSH DISCONNECT SESSION KILL SESSION SWITCH SUSPEND RESUME QUIESCE RESTRICTED UNQUIESCE SHUTDOWN REGISTER SET RESET captureRest
         ::= 'ALTER' 'SYSTEM' ( 'ARCHIVE' 'LOG' | 'CHECKPOINT' | 'DUMP' 'ACTIVE' 'SESSION' 'HISTORY' | ( 'ENABLE' | 'DISABLE' ) ( 'DISTRIBUTED RECOVERY' | 'RESTRICTED SESSION' ) | 'FLUSH' | 'DISCONNECT' 'SESSION' | 'KILL SESSION' | 'SWITCH' | 'SUSPEND' | 'RESUME' | 'QUIESCE' 'RESTRICTED' | 'UNQUIESCE' | 'SHUTDOWN' | 'REGISTER' | 'SET' | 'RESET' ) captureRest
referenced by: SingleStatement Wait: WAIT S_LONG
Wait     ::= 'WAIT' S_LONG
referenced by: PlainSelect SavepointStatement: SAVEPOINT S_IDENTIFIER
         ::= 'SAVEPOINT' S_IDENTIFIER
referenced by: SingleStatement RollbackStatement: ROLLBACK WORK TO SAVEPOINT S_IDENTIFIER FORCE S_CHAR_LITERAL
         ::= 'ROLLBACK' 'WORK'? ( 'TO' 'SAVEPOINT'? S_IDENTIFIER | 'FORCE' S_CHAR_LITERAL )?
referenced by: SingleStatement Comment: COMMENT ON TABLE VIEW Table COLUMN Column IS S_CHAR_LITERAL
Comment  ::= 'COMMENT' 'ON' ( ( 'TABLE' | 'VIEW' ) Table | 'COLUMN' Column ) 'IS' S_CHAR_LITERAL
referenced by: SingleStatement Grant: GRANT readGrantTypes , ON RelObjectNameList S_IDENTIFIER TO UsersList
Grant    ::= 'GRANT' ( ( readGrantTypes ( ',' readGrantTypes )* )? 'ON' RelObjectNameList | S_IDENTIFIER ) 'TO' UsersList
referenced by: SingleStatement UsersList: RelObjectName , ColumnsNamesListItem
         ::= RelObjectName ( ',' ColumnsNamesListItem )*
referenced by: Grant readGrantTypes: K_SELECT INSERT UPDATE DELETE EXECUTE ALTER DROP
         ::= K_SELECT
           | 'INSERT'
           | 'UPDATE'
           | 'DELETE'
           | 'EXECUTE'
           | 'ALTER'
           | 'DROP'
referenced by: Grant Sequence: RelObjectNameList referenced by: AlterSequence CreateSequence SequenceParameters: INCREMENT BY START WITH MAXVALUE MINVALUE CACHE S_LONG RESTART WITH S_LONG NOMAXVALUE NOMINVALUE NOCYCLE CYCLE NOCACHE ORDER NOORDER KEEP NOKEEP SESSION GLOBAL
         ::= ( ( 'INCREMENT' 'BY' | 'START' 'WITH' | 'MAXVALUE' | 'MINVALUE' | 'CACHE' ) S_LONG | 'RESTART' ( 'WITH' S_LONG )? | 'NOMAXVALUE' | 'NOMINVALUE' | 'NOCYCLE' | 'CYCLE' | 'NOCACHE' | 'ORDER' | 'NOORDER' | 'KEEP' | 'NOKEEP' | 'SESSION' | 'GLOBAL' )*
referenced by: AlterSequence CreateSequence CreateSequence: CREATE SEQUENCE Sequence SequenceParameters
         ::= 'CREATE' 'SEQUENCE' Sequence SequenceParameters
referenced by: SingleStatement AlterSequence: ALTER SEQUENCE Sequence SequenceParameters
         ::= 'ALTER' 'SEQUENCE' Sequence SequenceParameters
referenced by: SingleStatement CreateFunctionStatement: CREATE OR REPLACE FUNCTION PROCEDURE captureRest
         ::= 'CREATE' ( 'OR' 'REPLACE' )? ( 'FUNCTION' | 'PROCEDURE' ) captureRest
referenced by: SingleStatement CreateSynonym: CREATE OR REPLACE PUBLIC SYNONYM Synonym FOR RelObjectNameList
         ::= 'CREATE' ( 'OR' 'REPLACE' )? 'PUBLIC'? 'SYNONYM' Synonym 'FOR' RelObjectNameList
referenced by: SingleStatement Synonym: RelObjectNameList referenced by: CreateSynonym UnsupportedStatement: captureUnsupportedStatementDeclaration referenced by: Statement Statements WHITESPACE: [#x9] [#xD] [#xA]
         ::= [ #x9#xD#xA]
referenced by: DT_ZONE OP_CONCAT OP_GREATERTHANEQUALS OP_MINORTHANEQUALS OP_NOTEQUALSBANG OP_NOTEQUALSSTANDARD K_DATETIMELITERAL: DATE TIME TIMESTAMP TIMESTAMPTZ
         ::= 'DATE'
           | 'TIME'
           | 'TIMESTAMP'
           | 'TIMESTAMPTZ'
referenced by: ColDataType DT_ZONE DateTimeLiteralExpression PrimaryExpression RelObjectNameWithoutValue Reset Set K_DATE_LITERAL: YEAR MONTH DAY HOUR MINUTE SECOND
         ::= 'YEAR'
           | 'MONTH'
           | 'DAY'
           | 'HOUR'
           | 'MINUTE'
           | 'SECOND'
referenced by: ColDataType IntervalExpression IntervalExpressionWithoutInterval JoinWindow RelObjectNameWithoutValue K_ISOLATION: UR RS RR CS
         ::= 'UR'
           | 'RS'
           | 'RR'
           | 'CS'
referenced by: RelObjectNameWithoutValue WithIsolation K_NEXTVAL: NEXTVAL NEXT VALUE FOR
         ::= ( 'NEXTVAL' | 'NEXT' ' '+ 'VALUE' ) ' '+ 'FOR'
referenced by: NextValExpression K_SELECT: SELECT SEL
K_SELECT ::= 'SELECT'
           | 'SEL'
referenced by: PlainSelect RelObjectNameExt2 readGrantTypes K_TIME_KEY_EXPR: CURRENT _ TIMESTAMP TIME DATE ()
         ::= 'CURRENT' ( '_' | ' '+ ) ( 'TIMESTAMP' | 'TIME' | 'DATE' ) '()'?
referenced by: CreateParameter PrimaryExpression K_STRING_FUNCTION_NAME: SUBSTR SUBSTRING TRIM POSITION OVERLAY
         ::= 'SUBSTR'
           | 'SUBSTRING'
           | 'TRIM'
           | 'POSITION'
           | 'OVERLAY'
referenced by: RelObjectNameWithoutValue SpecialStringFunctionWithNamedParameters OP_GREATERTHANEQUALS: > WHITESPACE =
         ::= '>' WHITESPACE* '='
referenced by: RegularCondition OP_MINORTHANEQUALS: < WHITESPACE =
         ::= '<' WHITESPACE* '='
referenced by: RegularCondition OP_NOTEQUALSSTANDARD: < WHITESPACE >
         ::= '<' WHITESPACE* '>'
referenced by: RegularCondition OP_NOTEQUALSBANG: ! WHITESPACE =
         ::= '!' WHITESPACE* '='
referenced by: RegularCondition OP_CONCAT: | WHITESPACE |
         ::= '|' WHITESPACE* '|'
referenced by: ConcatExpression RegularCondition DT_ZONE: K_DATETIMELITERAL WHITESPACE ( S_LONG ) WHITESPACE WITH WITHOUT WHITESPACE LOCAL WHITESPACE TIME WHITESPACE ZONE
DT_ZONE  ::= K_DATETIMELITERAL WHITESPACE* ( '(' S_LONG ')' )? WHITESPACE* ( 'WITH' | 'WITHOUT' ) WHITESPACE+ ( 'LOCAL' WHITESPACE+ )? 'TIME' WHITESPACE+ 'ZONE'
referenced by: ColDataType JsonAggregateFunction S_DOUBLE: S_LONG . S_LONG e E + [#x2D] S_LONG S_LONG . e E + [#x2D] S_LONG e E + [#x2D] S_LONG
S_DOUBLE ::= S_LONG? '.' S_LONG ( [eE] [+#x2D]? S_LONG )?
           | S_LONG ( '.' ( [eE] [+#x2D]? S_LONG )? | [eE] [+#x2D]? S_LONG )
referenced by: AList CreateParameter IntervalExpression JsonAggregateFunction PrimaryExpression S_LONG: DIGIT
S_LONG   ::= DIGIT+
referenced by: AList AlterSession ColDataType ColumnsNamesListItem CreateParameter DT_ZONE Fetch First FuncArgsListItem IntervalExpression JoinWindow JsonAggregateFunction JsonExpression KSQLWindowClause NumericBind OptimizeFor PrimaryExpression RenameTableStatement S_DOUBLE SequenceParameters SimpleJdbcParameter Skip Top Wait DIGIT: [0-9]
DIGIT    ::= [0-9]
referenced by: S_LONG S_HEX: x' HEX_VALUE ' 0x HEX_VALUE
S_HEX    ::= "x'" HEX_VALUE+ "'"
           | '0x' HEX_VALUE+
referenced by: JsonAggregateFunction PrimaryExpression HEX_VALUE: [0-9] [A-F]
         ::= [0-9A-F]
referenced by: S_HEX LINE_COMMENT: -- // [^#xD#xA]
         ::= ( '--' | '//' ) [^#xD#xA]*
no referencesMULTI_LINE_COMMENT: /* [^*] * [^*] [^*/] /
         ::= '/*' [^*]* '*' ( ( [^*/] [^*]* )? '*' )* '/'
no referencesS_IDENTIFIER: LETTER PART_LETTER
         ::= LETTER PART_LETTER*
referenced by: AlterExpression AlterSession ColDataType CreateIndex CreateParameter CreateSchema Drop First Grant IntervalExpression JoinWindow JsonAggregateFunction KSQLWindowClause KeepExpression PathSpecification PrimaryExpression PurgeStatement RelObjectNameWithoutValue RollbackStatement SavepointStatement Skip Top LETTER: $ [A-Z] _ [a-z] [#x23] [#xA2-#xA5] [#xAA] [#xB5] [#xBA] [#xC0-#xD6] [#xD8-#xF6] [#xF8-#x21F] [#x222-#x233] [#x250-#x2AD] [#x2B0-#x2B8] [#x2BB-#x2C1] [#x2D0-#x2D1] [#x2E0-#x2E4] [#x2EE] [#x37A] [#x386] [#x388-#x38A] [#x38C] [#x38E-#x3A1] [#x3A3-#x3CE] [#x3D0-#x3D7] [#x3DA-#x3F3] [#x400-#x481] [#x48C-#x4C4] [#x4C7-#x4C8] [#x4CB-#x4CC] [#x4D0-#x4F5] [#x4F8-#x4F9] [#x531-#x556] [#x559] [#x561-#x587] [#x5D0-#x5EA] [#x5F0-#x5F2] [#x621-#x63A] [#x640-#x64A] [#x671-#x6D3] [#x6D5] [#x6E5-#x6E6] [#x6FA-#x6FC] [#x710] [#x712-#x72C] [#x780-#x7A5] [#x905-#x939] [#x93D] [#x950] [#x958-#x961] [#x985-#x98C] [#x98F-#x990] [#x993-#x9A8] [#x9AA-#x9B0] [#x9B2] [#x9B6-#x9B9] [#x9DC-#x9DD] [#x9DF-#x9E1] [#x9F0-#x9F3] [#xA05-#xA0A] [#xA0F-#xA10] [#xA13-#xA28] [#xA2A-#xA30] [#xA32-#xA33] [#xA35-#xA36] [#xA38-#xA39] [#xA59-#xA5C] [#xA5E] [#xA72-#xA74] [#xA85-#xA8B] [#xA8D] [#xA8F-#xA91] [#xA93-#xAA8] [#xAAA-#xAB0] [#xAB2-#xAB3] [#xAB5-#xAB9] [#xABD] [#xAD0] [#xAE0] [#xB05-#xB0C] [#xB0F-#xB10] [#xB13-#xB28] [#xB2A-#xB30] [#xB32-#xB33] [#xB36-#xB39] [#xB3D] [#xB5C-#xB5D] [#xB5F-#xB61] [#xB85-#xB8A] [#xB8E-#xB90] [#xB92-#xB95] [#xB99-#xB9A] [#xB9C] [#xB9E-#xB9F] [#xBA3-#xBA4] [#xBA8-#xBAA] [#xBAE-#xBB5] [#xBB7-#xBB9] [#xC05-#xC0C] [#xC0E-#xC10] [#xC12-#xC28] [#xC2A-#xC33] [#xC35-#xC39] [#xC60-#xC61] [#xC85-#xC8C] [#xC8E-#xC90] [#xC92-#xCA8] [#xCAA-#xCB3] [#xCB5-#xCB9] [#xCDE] [#xCE0-#xCE1] [#xD05-#xD0C] [#xD0E-#xD10] [#xD12-#xD28] [#xD2A-#xD39] [#xD60-#xD61] [#xD85-#xD96] [#xD9A-#xDB1] [#xDB3-#xDBB] [#xDBD] [#xDC0-#xDC6] [#xE01-#xE30] [#xE32-#xE33] [#xE3F-#xE46] [#xE81-#xE82] [#xE84] [#xE87-#xE88] [#xE8A] [#xE8D] [#xE94-#xE97] [#xE99-#xE9F] [#xEA1-#xEA3] [#xEA5] [#xEA7] [#xEAA-#xEAB] [#xEAD-#xEB0] [#xEB2-#xEB3] [#xEBD] [#xEC0-#xEC4] [#xEC6] [#xEDC-#xEDD] [#xF00] [#xF40-#xF47] [#xF49-#xF6A] [#xF88-#xF8B] [#x1000-#x1021] [#x1023-#x1027] [#x1029-#x102A] [#x1050-#x1055] [#x10A0-#x10C5] [#x10D0-#x10F6] [#x1100-#x1159] [#x115F-#x11A2] [#x11A8-#x11F9] [#x1200-#x1206] [#x1208-#x1246] [#x1248] [#x124A-#x124D] [#x1250-#x1256] [#x1258] [#x125A-#x125D] [#x1260-#x1286] [#x1288] [#x128A-#x128D] [#x1290-#x12AE] [#x12B0] [#x12B2-#x12B5] [#x12B8-#x12BE] [#x12C0] [#x12C2-#x12C5] [#x12C8-#x12CE] [#x12D0-#x12D6] [#x12D8-#x12EE] [#x12F0-#x130E] [#x1310] [#x1312-#x1315] [#x1318-#x131E] [#x1320-#x1346] [#x1348-#x135A] [#x13A0-#x13F4] [#x1401-#x166C] [#x166F-#x1676] [#x1681-#x169A] [#x16A0-#x16EA] [#x1780-#x17B3] [#x17DB] [#x1820-#x1877] [#x1880-#x18A8] [#x1E00-#x1E9B] [#x1EA0-#x1EF9] [#x1F00-#x1F15] [#x1F18-#x1F1D] [#x1F20-#x1F45] [#x1F48-#x1F4D] [#x1F50-#x1F57] [#x1F59] [#x1F5B] [#x1F5D] [#x1F5F-#x1F7D] [#x1F80-#x1FB4] [#x1FB6-#x1FBC] [#x1FBE] [#x1FC2-#x1FC4] [#x1FC6-#x1FCC] [#x1FD0-#x1FD3] [#x1FD6-#x1FDB] [#x1FE0-#x1FEC] [#x1FF2-#x1FF4] [#x1FF6-#x1FFC] [#x203F-#x2040] [#x207F] [#x20A0-#x20AF] [#x2102] [#x2107] [#x210A-#x2113] [#x2115] [#x2119-#x211D] [#x2124] [#x2126] [#x2128] [#x212A-#x212D] [#x212F-#x2131] [#x2133-#x2139] [#x2160-#x2183] [#x3005-#x3007] [#x3021-#x3029] [#x3031-#x3035] [#x3038-#x303A] [#x3041-#x3094] [#x309D-#x309E] [#x30A1-#x30FE] [#x3105-#x312C] [#x3131-#x318E] [#x31A0-#x31B7] [#x3400-#x4DB5] [#x4E00-#x9FA5] [#xA000-#xA48C] [#xAC00-#xD7A3] [#xF900-#xFA2D] [#xFB00-#xFB06] [#xFB13-#xFB17] [#xFB1D] [#xFB1F-#xFB28] [#xFB2A-#xFB36] [#xFB38-#xFB3C] [#xFB3E] [#xFB40-#xFB41] [#xFB43-#xFB44] [#xFB46-#xFBB1] [#xFBD3-#xFD3D] [#xFD50-#xFD8F] [#xFD92-#xFDC7] [#xFDF0-#xFDFB] [#xFE33-#xFE34] [#xFE4D-#xFE4F] [#xFE69] [#xFE70-#xFE72] [#xFE74] [#xFE76-#xFEFC] [#xFF04] [#xFF21-#xFF3A] [#xFF3F] [#xFF41-#xFF5A] [#xFF65-#xFFBE] [#xFFC2-#xFFC7] [#xFFCA-#xFFCF] [#xFFD2-#xFFD7] [#xFFDA-#xFFDC] [#xFFE0-#xFFE1] [#xFFE5-#xFFE6]
LETTER   ::= [$A-Z_a-z#x23#xA2-#xA5#xAA#xB5#xBA#xC0-#xD6#xD8-#xF6#xF8-#x21F#x222-#x233#x250-#x2AD#x2B0-#x2B8#x2BB-#x2C1#x2D0-#x2D1#x2E0-#x2E4#x2EE#x37A#x386#x388-#x38A#x38C#x38E-#x3A1#x3A3-#x3CE#x3D0-#x3D7#x3DA-#x3F3#x400-#x481#x48C-#x4C4#x4C7-#x4C8#x4CB-#x4CC#x4D0-#x4F5#x4F8-#x4F9#x531-#x556#x559#x561-#x587#x5D0-#x5EA#x5F0-#x5F2#x621-#x63A#x640-#x64A#x671-#x6D3#x6D5#x6E5-#x6E6#x6FA-#x6FC#x710#x712-#x72C#x780-#x7A5#x905-#x939#x93D#x950#x958-#x961#x985-#x98C#x98F-#x990#x993-#x9A8#x9AA-#x9B0#x9B2#x9B6-#x9B9#x9DC-#x9DD#x9DF-#x9E1#x9F0-#x9F3#xA05-#xA0A#xA0F-#xA10#xA13-#xA28#xA2A-#xA30#xA32-#xA33#xA35-#xA36#xA38-#xA39#xA59-#xA5C#xA5E#xA72-#xA74#xA85-#xA8B#xA8D#xA8F-#xA91#xA93-#xAA8#xAAA-#xAB0#xAB2-#xAB3#xAB5-#xAB9#xABD#xAD0#xAE0#xB05-#xB0C#xB0F-#xB10#xB13-#xB28#xB2A-#xB30#xB32-#xB33#xB36-#xB39#xB3D#xB5C-#xB5D#xB5F-#xB61#xB85-#xB8A#xB8E-#xB90#xB92-#xB95#xB99-#xB9A#xB9C#xB9E-#xB9F#xBA3-#xBA4#xBA8-#xBAA#xBAE-#xBB5#xBB7-#xBB9#xC05-#xC0C#xC0E-#xC10#xC12-#xC28#xC2A-#xC33#xC35-#xC39#xC60-#xC61#xC85-#xC8C#xC8E-#xC90#xC92-#xCA8#xCAA-#xCB3#xCB5-#xCB9#xCDE#xCE0-#xCE1#xD05-#xD0C#xD0E-#xD10#xD12-#xD28#xD2A-#xD39#xD60-#xD61#xD85-#xD96#xD9A-#xDB1#xDB3-#xDBB#xDBD#xDC0-#xDC6#xE01-#xE30#xE32-#xE33#xE3F-#xE46#xE81-#xE82#xE84#xE87-#xE88#xE8A#xE8D#xE94-#xE97#xE99-#xE9F#xEA1-#xEA3#xEA5#xEA7#xEAA-#xEAB#xEAD-#xEB0#xEB2-#xEB3#xEBD#xEC0-#xEC4#xEC6#xEDC-#xEDD#xF00#xF40-#xF47#xF49-#xF6A#xF88-#xF8B#x1000-#x1021#x1023-#x1027#x1029-#x102A#x1050-#x1055#x10A0-#x10C5#x10D0-#x10F6#x1100-#x1159#x115F-#x11A2#x11A8-#x11F9#x1200-#x1206#x1208-#x1246#x1248#x124A-#x124D#x1250-#x1256#x1258#x125A-#x125D#x1260-#x1286#x1288#x128A-#x128D#x1290-#x12AE#x12B0#x12B2-#x12B5#x12B8-#x12BE#x12C0#x12C2-#x12C5#x12C8-#x12CE#x12D0-#x12D6#x12D8-#x12EE#x12F0-#x130E#x1310#x1312-#x1315#x1318-#x131E#x1320-#x1346#x1348-#x135A#x13A0-#x13F4#x1401-#x166C#x166F-#x1676#x1681-#x169A#x16A0-#x16EA#x1780-#x17B3#x17DB#x1820-#x1877#x1880-#x18A8#x1E00-#x1E9B#x1EA0-#x1EF9#x1F00-#x1F15#x1F18-#x1F1D#x1F20-#x1F45#x1F48-#x1F4D#x1F50-#x1F57#x1F59#x1F5B#x1F5D#x1F5F-#x1F7D#x1F80-#x1FB4#x1FB6-#x1FBC#x1FBE#x1FC2-#x1FC4#x1FC6-#x1FCC#x1FD0-#x1FD3#x1FD6-#x1FDB#x1FE0-#x1FEC#x1FF2-#x1FF4#x1FF6-#x1FFC#x203F-#x2040#x207F#x20A0-#x20AF#x2102#x2107#x210A-#x2113#x2115#x2119-#x211D#x2124#x2126#x2128#x212A-#x212D#x212F-#x2131#x2133-#x2139#x2160-#x2183#x3005-#x3007#x3021-#x3029#x3031-#x3035#x3038-#x303A#x3041-#x3094#x309D-#x309E#x30A1-#x30FE#x3105-#x312C#x3131-#x318E#x31A0-#x31B7#x3400-#x4DB5#x4E00-#x9FA5#xA000-#xA48C#xAC00-#xD7A3#xF900-#xFA2D#xFB00-#xFB06#xFB13-#xFB17#xFB1D#xFB1F-#xFB28#xFB2A-#xFB36#xFB38-#xFB3C#xFB3E#xFB40-#xFB41#xFB43-#xFB44#xFB46-#xFBB1#xFBD3-#xFD3D#xFD50-#xFD8F#xFD92-#xFDC7#xFDF0-#xFDFB#xFE33-#xFE34#xFE4D-#xFE4F#xFE69#xFE70-#xFE72#xFE74#xFE76-#xFEFC#xFF04#xFF21-#xFF3A#xFF3F#xFF41-#xFF5A#xFF65-#xFFBE#xFFC2-#xFFC7#xFFCA-#xFFCF#xFFD2-#xFFD7#xFFDA-#xFFDC#xFFE0-#xFFE1#xFFE5-#xFFE6]
referenced by: S_IDENTIFIER PART_LETTER: $ @ [0-9] [A-Z] _ [a-z] [#x23] [#x0-#x8] [#xE-#x1B] [#x7F-#x9F] [#xA2-#xA5] [#xAA] [#xB5] [#xBA] [#xC0-#xD6] [#xD8-#xF6] [#xF8-#x21F] [#x222-#x233] [#x250-#x2AD] [#x2B0-#x2B8] [#x2BB-#x2C1] [#x2D0-#x2D1] [#x2E0-#x2E4] [#x2EE] [#x300-#x34E] [#x360-#x362] [#x37A] [#x386] [#x388-#x38A] [#x38C] [#x38E-#x3A1] [#x3A3-#x3CE] [#x3D0-#x3D7] [#x3DA-#x3F3] [#x400-#x481] [#x483-#x486] [#x48C-#x4C4] [#x4C7-#x4C8] [#x4CB-#x4CC] [#x4D0-#x4F5] [#x4F8-#x4F9] [#x531-#x556] [#x559] [#x561-#x587] [#x591-#x5A1] [#x5A3-#x5B9] [#x5BB-#x5BD] [#x5BF] [#x5C1-#x5C2] [#x5C4] [#x5D0-#x5EA] [#x5F0-#x5F2] [#x621-#x63A] [#x640-#x655] [#x660-#x669] [#x670-#x6D3] [#x6D5-#x6DC] [#x6DF-#x6E8] [#x6EA-#x6ED] [#x6F0-#x6FC] [#x70F-#x72C] [#x730-#x74A] [#x780-#x7B0] [#x901-#x903] [#x905-#x939] [#x93C-#x94D] [#x950-#x954] [#x958-#x963] [#x966-#x96F] [#x981-#x983] [#x985-#x98C] [#x98F-#x990] [#x993-#x9A8] [#x9AA-#x9B0] [#x9B2] [#x9B6-#x9B9] [#x9BC] [#x9BE-#x9C4] [#x9C7-#x9C8] [#x9CB-#x9CD] [#x9D7] [#x9DC-#x9DD] [#x9DF-#x9E3] [#x9E6-#x9F3] [#xA02] [#xA05-#xA0A] [#xA0F-#xA10] [#xA13-#xA28] [#xA2A-#xA30] [#xA32-#xA33] [#xA35-#xA36] [#xA38-#xA39] [#xA3C] [#xA3E-#xA42] [#xA47-#xA48] [#xA4B-#xA4D] [#xA59-#xA5C] [#xA5E] [#xA66-#xA74] [#xA81-#xA83] [#xA85-#xA8B] [#xA8D] [#xA8F-#xA91] [#xA93-#xAA8] [#xAAA-#xAB0] [#xAB2-#xAB3] [#xAB5-#xAB9] [#xABC-#xAC5] [#xAC7-#xAC9] [#xACB-#xACD] [#xAD0] [#xAE0] [#xAE6-#xAEF] [#xB01-#xB03] [#xB05-#xB0C] [#xB0F-#xB10] [#xB13-#xB28] [#xB2A-#xB30] [#xB32-#xB33] [#xB36-#xB39] [#xB3C-#xB43] [#xB47-#xB48] [#xB4B-#xB4D] [#xB56-#xB57] [#xB5C-#xB5D] [#xB5F-#xB61] [#xB66-#xB6F] [#xB82-#xB83] [#xB85-#xB8A] [#xB8E-#xB90] [#xB92-#xB95] [#xB99-#xB9A] [#xB9C] [#xB9E-#xB9F] [#xBA3-#xBA4] [#xBA8-#xBAA] [#xBAE-#xBB5] [#xBB7-#xBB9] [#xBBE-#xBC2] [#xBC6-#xBC8] [#xBCA-#xBCD] [#xBD7] [#xBE7-#xBEF] [#xC01-#xC03] [#xC05-#xC0C] [#xC0E-#xC10] [#xC12-#xC28] [#xC2A-#xC33] [#xC35-#xC39] [#xC3E-#xC44] [#xC46-#xC48] [#xC4A-#xC4D] [#xC55-#xC56] [#xC60-#xC61] [#xC66-#xC6F] [#xC82-#xC83] [#xC85-#xC8C] [#xC8E-#xC90] [#xC92-#xCA8] [#xCAA-#xCB3] [#xCB5-#xCB9] [#xCBE-#xCC4] [#xCC6-#xCC8] [#xCCA-#xCCD] [#xCD5-#xCD6] [#xCDE] [#xCE0-#xCE1] [#xCE6-#xCEF] [#xD02-#xD03] [#xD05-#xD0C] [#xD0E-#xD10] [#xD12-#xD28] [#xD2A-#xD39] [#xD3E-#xD43] [#xD46-#xD48] [#xD4A-#xD4D] [#xD57] [#xD60-#xD61] [#xD66-#xD6F] [#xD82-#xD83] [#xD85-#xD96] [#xD9A-#xDB1] [#xDB3-#xDBB] [#xDBD] [#xDC0-#xDC6] [#xDCA] [#xDCF-#xDD4] [#xDD6] [#xDD8-#xDDF] [#xDF2-#xDF3] [#xE01-#xE3A] [#xE3F-#xE4E] [#xE50-#xE59] [#xE81-#xE82] [#xE84] [#xE87-#xE88] [#xE8A] [#xE8D] [#xE94-#xE97] [#xE99-#xE9F] [#xEA1-#xEA3] [#xEA5] [#xEA7] [#xEAA-#xEAB] [#xEAD-#xEB9] [#xEBB-#xEBD] [#xEC0-#xEC4] [#xEC6] [#xEC8-#xECD] [#xED0-#xED9] [#xEDC-#xEDD] [#xF00] [#xF18-#xF19] [#xF20-#xF29] [#xF35] [#xF37] [#xF39] [#xF3E-#xF47] [#xF49-#xF6A] [#xF71-#xF84] [#xF86-#xF8B] [#xF90-#xF97] [#xF99-#xFBC] [#xFC6] [#x1000-#x1021] [#x1023-#x1027] [#x1029-#x102A] [#x102C-#x1032] [#x1036-#x1039] [#x1040-#x1049] [#x1050-#x1059] [#x10A0-#x10C5] [#x10D0-#x10F6] [#x1100-#x1159] [#x115F-#x11A2] [#x11A8-#x11F9] [#x1200-#x1206] [#x1208-#x1246] [#x1248] [#x124A-#x124D] [#x1250-#x1256] [#x1258] [#x125A-#x125D] [#x1260-#x1286] [#x1288] [#x128A-#x128D] [#x1290-#x12AE] [#x12B0] [#x12B2-#x12B5] [#x12B8-#x12BE] [#x12C0] [#x12C2-#x12C5] [#x12C8-#x12CE] [#x12D0-#x12D6] [#x12D8-#x12EE] [#x12F0-#x130E] [#x1310] [#x1312-#x1315] [#x1318-#x131E] [#x1320-#x1346] [#x1348-#x135A] [#x1369-#x1371] [#x13A0-#x13F4] [#x1401-#x166C] [#x166F-#x1676] [#x1681-#x169A] [#x16A0-#x16EA] [#x1780-#x17D3] [#x17DB] [#x17E0-#x17E9] [#x180B-#x180E] [#x1810-#x1819] [#x1820-#x1877] [#x1880-#x18A9] [#x1E00-#x1E9B] [#x1EA0-#x1EF9] [#x1F00-#x1F15] [#x1F18-#x1F1D] [#x1F20-#x1F45] [#x1F48-#x1F4D] [#x1F50-#x1F57] [#x1F59] [#x1F5B] [#x1F5D] [#x1F5F-#x1F7D] [#x1F80-#x1FB4] [#x1FB6-#x1FBC] [#x1FBE] [#x1FC2-#x1FC4] [#x1FC6-#x1FCC] [#x1FD0-#x1FD3] [#x1FD6-#x1FDB] [#x1FE0-#x1FEC] [#x1FF2-#x1FF4] [#x1FF6-#x1FFC] [#x200C-#x200F] [#x202A-#x202E] [#x203F-#x2040] [#x206A-#x206F] [#x207F] [#x20A0-#x20AF] [#x20D0-#x20DC] [#x20E1] [#x2102] [#x2107] [#x210A-#x2113] [#x2115] [#x2119-#x211D] [#x2124] [#x2126] [#x2128] [#x212A-#x212D] [#x212F-#x2131] [#x2133-#x2139] [#x2160-#x2183] [#x3005-#x3007] [#x3021-#x302F] [#x3031-#x3035] [#x3038-#x303A] [#x3041-#x3094] [#x3099-#x309A] [#x309D-#x309E] [#x30A1-#x30FE] [#x3105-#x312C] [#x3131-#x318E] [#x31A0-#x31B7] [#x3400-#x4DB5] [#x4E00-#x9FA5] [#xA000-#xA48C] [#xAC00-#xD7A3] [#xF900-#xFA2D] [#xFB00-#xFB06] [#xFB13-#xFB17] [#xFB1D-#xFB28] [#xFB2A-#xFB36] [#xFB38-#xFB3C] [#xFB3E] [#xFB40-#xFB41] [#xFB43-#xFB44] [#xFB46-#xFBB1] [#xFBD3-#xFD3D] [#xFD50-#xFD8F] [#xFD92-#xFDC7] [#xFDF0-#xFDFB] [#xFE20-#xFE23] [#xFE33-#xFE34] [#xFE4D-#xFE4F] [#xFE69] [#xFE70-#xFE72] [#xFE74] [#xFE76-#xFEFC] [#xFEFF] [#xFF04] [#xFF10-#xFF19] [#xFF21-#xFF3A] [#xFF3F] [#xFF41-#xFF5A] [#xFF65-#xFFBE] [#xFFC2-#xFFC7] [#xFFCA-#xFFCF] [#xFFD2-#xFFD7] [#xFFDA-#xFFDC] [#xFFE0-#xFFE1] [#xFFE5-#xFFE6] [#xFFF9-#xFFFB]
         ::= [$@0-9A-Z_a-z#x23#x0-#x8#xE-#x1B#x7F-#x9F#xA2-#xA5#xAA#xB5#xBA#xC0-#xD6#xD8-#xF6#xF8-#x21F#x222-#x233#x250-#x2AD#x2B0-#x2B8#x2BB-#x2C1#x2D0-#x2D1#x2E0-#x2E4#x2EE#x300-#x34E#x360-#x362#x37A#x386#x388-#x38A#x38C#x38E-#x3A1#x3A3-#x3CE#x3D0-#x3D7#x3DA-#x3F3#x400-#x481#x483-#x486#x48C-#x4C4#x4C7-#x4C8#x4CB-#x4CC#x4D0-#x4F5#x4F8-#x4F9#x531-#x556#x559#x561-#x587#x591-#x5A1#x5A3-#x5B9#x5BB-#x5BD#x5BF#x5C1-#x5C2#x5C4#x5D0-#x5EA#x5F0-#x5F2#x621-#x63A#x640-#x655#x660-#x669#x670-#x6D3#x6D5-#x6DC#x6DF-#x6E8#x6EA-#x6ED#x6F0-#x6FC#x70F-#x72C#x730-#x74A#x780-#x7B0#x901-#x903#x905-#x939#x93C-#x94D#x950-#x954#x958-#x963#x966-#x96F#x981-#x983#x985-#x98C#x98F-#x990#x993-#x9A8#x9AA-#x9B0#x9B2#x9B6-#x9B9#x9BC#x9BE-#x9C4#x9C7-#x9C8#x9CB-#x9CD#x9D7#x9DC-#x9DD#x9DF-#x9E3#x9E6-#x9F3#xA02#xA05-#xA0A#xA0F-#xA10#xA13-#xA28#xA2A-#xA30#xA32-#xA33#xA35-#xA36#xA38-#xA39#xA3C#xA3E-#xA42#xA47-#xA48#xA4B-#xA4D#xA59-#xA5C#xA5E#xA66-#xA74#xA81-#xA83#xA85-#xA8B#xA8D#xA8F-#xA91#xA93-#xAA8#xAAA-#xAB0#xAB2-#xAB3#xAB5-#xAB9#xABC-#xAC5#xAC7-#xAC9#xACB-#xACD#xAD0#xAE0#xAE6-#xAEF#xB01-#xB03#xB05-#xB0C#xB0F-#xB10#xB13-#xB28#xB2A-#xB30#xB32-#xB33#xB36-#xB39#xB3C-#xB43#xB47-#xB48#xB4B-#xB4D#xB56-#xB57#xB5C-#xB5D#xB5F-#xB61#xB66-#xB6F#xB82-#xB83#xB85-#xB8A#xB8E-#xB90#xB92-#xB95#xB99-#xB9A#xB9C#xB9E-#xB9F#xBA3-#xBA4#xBA8-#xBAA#xBAE-#xBB5#xBB7-#xBB9#xBBE-#xBC2#xBC6-#xBC8#xBCA-#xBCD#xBD7#xBE7-#xBEF#xC01-#xC03#xC05-#xC0C#xC0E-#xC10#xC12-#xC28#xC2A-#xC33#xC35-#xC39#xC3E-#xC44#xC46-#xC48#xC4A-#xC4D#xC55-#xC56#xC60-#xC61#xC66-#xC6F#xC82-#xC83#xC85-#xC8C#xC8E-#xC90#xC92-#xCA8#xCAA-#xCB3#xCB5-#xCB9#xCBE-#xCC4#xCC6-#xCC8#xCCA-#xCCD#xCD5-#xCD6#xCDE#xCE0-#xCE1#xCE6-#xCEF#xD02-#xD03#xD05-#xD0C#xD0E-#xD10#xD12-#xD28#xD2A-#xD39#xD3E-#xD43#xD46-#xD48#xD4A-#xD4D#xD57#xD60-#xD61#xD66-#xD6F#xD82-#xD83#xD85-#xD96#xD9A-#xDB1#xDB3-#xDBB#xDBD#xDC0-#xDC6#xDCA#xDCF-#xDD4#xDD6#xDD8-#xDDF#xDF2-#xDF3#xE01-#xE3A#xE3F-#xE4E#xE50-#xE59#xE81-#xE82#xE84#xE87-#xE88#xE8A#xE8D#xE94-#xE97#xE99-#xE9F#xEA1-#xEA3#xEA5#xEA7#xEAA-#xEAB#xEAD-#xEB9#xEBB-#xEBD#xEC0-#xEC4#xEC6#xEC8-#xECD#xED0-#xED9#xEDC-#xEDD#xF00#xF18-#xF19#xF20-#xF29#xF35#xF37#xF39#xF3E-#xF47#xF49-#xF6A#xF71-#xF84#xF86-#xF8B#xF90-#xF97#xF99-#xFBC#xFC6#x1000-#x1021#x1023-#x1027#x1029-#x102A#x102C-#x1032#x1036-#x1039#x1040-#x1049#x1050-#x1059#x10A0-#x10C5#x10D0-#x10F6#x1100-#x1159#x115F-#x11A2#x11A8-#x11F9#x1200-#x1206#x1208-#x1246#x1248#x124A-#x124D#x1250-#x1256#x1258#x125A-#x125D#x1260-#x1286#x1288#x128A-#x128D#x1290-#x12AE#x12B0#x12B2-#x12B5#x12B8-#x12BE#x12C0#x12C2-#x12C5#x12C8-#x12CE#x12D0-#x12D6#x12D8-#x12EE#x12F0-#x130E#x1310#x1312-#x1315#x1318-#x131E#x1320-#x1346#x1348-#x135A#x1369-#x1371#x13A0-#x13F4#x1401-#x166C#x166F-#x1676#x1681-#x169A#x16A0-#x16EA#x1780-#x17D3#x17DB#x17E0-#x17E9#x180B-#x180E#x1810-#x1819#x1820-#x1877#x1880-#x18A9#x1E00-#x1E9B#x1EA0-#x1EF9#x1F00-#x1F15#x1F18-#x1F1D#x1F20-#x1F45#x1F48-#x1F4D#x1F50-#x1F57#x1F59#x1F5B#x1F5D#x1F5F-#x1F7D#x1F80-#x1FB4#x1FB6-#x1FBC#x1FBE#x1FC2-#x1FC4#x1FC6-#x1FCC#x1FD0-#x1FD3#x1FD6-#x1FDB#x1FE0-#x1FEC#x1FF2-#x1FF4#x1FF6-#x1FFC#x200C-#x200F#x202A-#x202E#x203F-#x2040#x206A-#x206F#x207F#x20A0-#x20AF#x20D0-#x20DC#x20E1#x2102#x2107#x210A-#x2113#x2115#x2119-#x211D#x2124#x2126#x2128#x212A-#x212D#x212F-#x2131#x2133-#x2139#x2160-#x2183#x3005-#x3007#x3021-#x302F#x3031-#x3035#x3038-#x303A#x3041-#x3094#x3099-#x309A#x309D-#x309E#x30A1-#x30FE#x3105-#x312C#x3131-#x318E#x31A0-#x31B7#x3400-#x4DB5#x4E00-#x9FA5#xA000-#xA48C#xAC00-#xD7A3#xF900-#xFA2D#xFB00-#xFB06#xFB13-#xFB17#xFB1D-#xFB28#xFB2A-#xFB36#xFB38-#xFB3C#xFB3E#xFB40-#xFB41#xFB43-#xFB44#xFB46-#xFBB1#xFBD3-#xFD3D#xFD50-#xFD8F#xFD92-#xFDC7#xFDF0-#xFDFB#xFE20-#xFE23#xFE33-#xFE34#xFE4D-#xFE4F#xFE69#xFE70-#xFE72#xFE74#xFE76-#xFEFC#xFEFF#xFF04#xFF10-#xFF19#xFF21-#xFF3A#xFF3F#xFF41-#xFF5A#xFF65-#xFFBE#xFFC2-#xFFC7#xFFCA-#xFFCF#xFFD2-#xFFD7#xFFDA-#xFFDC#xFFE0-#xFFE1#xFFE5-#xFFE6#xFFF9-#xFFFB]
referenced by: S_IDENTIFIER S_CHAR_LITERAL: U E N R B RB _utf8 ' ESC [^'\#xA#xD] '' [^'] '
         ::= ( [UENRB] | 'RB' | '_utf8' )? "'" ( ( ESC | [^'\#xA#xD] )* | ( "''" | [^'] )+ ) "'"
referenced by: AList Alias AlterExpression AlterSession ColDataType Comment CreateParameter DateTimeLiteralExpression ExtractExpression FullTextSearch InExpression IntervalExpression JsonAggregateFunction JsonExpression JsonFunction MySQLGroupConcat PlainSelect PrimaryExpression RollbackStatement SimilarToExpression S_QUOTED_IDENTIFIER: " [^"#xA#xD] " $$ [^"#xA#xD] $$ ` [^`#xA#xD] ` [ [^#x5D#xA#xD] ]
         ::= '"' [^"#xA#xD]* '"'
           | '$$' [^"#xA#xD]* '$$'
           | '`' [^`#xA#xD]+ '`'
           | '[' [^#x5D#xA#xD]* ']'
referenced by: AlterExpression ColDataType CreateParameter CreateSchema JsonAggregateFunction PathSpecification RelObjectNameWithoutValue ESC: \ n t b r f \ ' "
ESC      ::= '\' [ntbrf\'"]
referenced by: S_CHAR_LITERAL EOF: $
EOF      ::= $
referenced by: Statement Statements   ... generated by RR - Railroad Diagram Generator R R