SQL Syntax 5.4-SNAPSHOT

The EBNF and Railroad Diagrams for 5.4-SNAPSHOT.

NonReservedWord

ACTION ACTIVE ADD ADVANCE ADVISE AGAINST AGGREGATE ALGORITHM ALIGN ALTER ALWAYS ANALYZE APPEND_ONLY APPLY APPROXIMATE ARCHIVE ARRAY ASYMMETRIC AT ASC AUTHORIZATION AUTO AUTO_INCREMENT AZURE BASE64 BEFORE BEGIN BERNOULLI BINARY BIT BLOBSTORAGE BLOCK BOOLEAN BREADTH BRANCH BROWSE BY BYTES CACHE BUFFERS BYTE CALL CASCADE CASE CAST CERTIFICATE CHARACTER CHANGE CHANGES CHECKPOINT CHAR CLOSE CLOUD COALESCE COLLATE COLUMN COLUMNS COMMIT COMMENT COMMENTS CONFLICT CONSTRAINTS CONVERT CORRESPONDING COSTS COUNT CREATED CYCLE DATABASE DATA DECLARE DBA_RECYCLEBIN DEFAULTS DEPTH DEFERRABLE DELAYED DELETE DELIMIT DELIMITER DESC DESCRIBE DISABLE DISCARD DISCONNECT DIV DDL DML DO DOMAIN DRIVER DROP DUMP DUPLICATE ELEMENTS EMIT ENABLE ENCODING ENCRYPTION END ENFORCED ENGINE ERROR ESCAPE EXA EXCHANGE EXCLUDE EXCLUDING EXCLUSIVE EXEC EXECUTE EXPLAIN EXPLICIT EXTENDED EXTRACT EXPORT K_ISOLATION FILTER FIRST FLUSH FOLLOWING FORMAT FULLTEXT FUNCTION GRANT GROUP_CONCAT GUARD HASH HIGH HIGH_PRIORITY HISTORY HOPPING IDENTIFIED IDENTITY INCLUDE INCLUDE_NULL_VALUES INCLUDING INCREMENT INDEX INFORMATION INSERT INTERLEAVE INTERPRET INVALIDATE INVERSE INVISIBLE ISNULL JDBC JSON JSON_OBJECT JSON_OBJECTAGG JSON_ARRAY JSON_ARRAYAGG KEEP KEY_BLOCK_SIZE KEY KEYS KILL FN LAST LEADING LESS LEVEL LOCAL LOCK LOCKED LINK LOG LOOP LOW LOW_PRIORITY LTRIM MATCH MATCH_ANY MATCH_ALL MATCH_PHRASE MATCH_PHRASE_PREFIX MATCH_REGEXP MATCHED MATERIALIZED MAX MAXVALUE MEMBER MERGE MIN MINVALUE MODE MODIFY MOVEMENT NAMES NAME NEVER NEXT K_NEXTVAL NO NOCACHE NOKEEP NOLOCK NOMAXVALUE NOMINVALUE NONE NOORDER NOTHING NOTNULL NOVALIDATE NULLS NOWAIT OF OFF OPEN ORA ORDINALITY OVER OVERFLOW OVERLAPS OVERRIDING OVERWRITE PADDING PARALLEL PARENT PARSER PARTITION PARTITIONING PATH PERCENT PLACING PLAN PLUS PRECEDING PRIMARY POLICY PURGE QUERY QUICK QUIESCE RANGE RAW READ REBUILD RECYCLEBIN RECURSIVE REFERENCES REFRESH REGEXP REJECT RESPECT RLIKE REGEXP_LIKE REGISTER REMOTE REMOVE RENAME REORGANIZE REPAIR REPEATABLE REPLACE RESET RESTART RESUMABLE RESUME RESTRICT RESTRICTED RETURN ROLLBACK ROLLUP ROOT ROW ROWS RTRIM SAFE_CAST SAFE_CONVERT SAVEPOINT SCHEMA SEARCH SECURE SECURITY SEED SEQUENCE SEPARATOR SESSION SETS SHOW SHUTDOWN SHARE SIBLINGS SIMILAR SIZE SKIP SPATIAL STORED STREAM STRICT STRING STRUCT SUMMARIZE SUSPEND SWITCH SYMMETRIC SYNONYM SYSTEM SYSTEM_TIME SYSTEM_TIMESTAMP SYSTEM_VERSION TABLE TABLESPACE TRIGGER THEN TEMP K_TEXT_LITERAL TEMPORARY THAN K_TIME_KEY_EXPR TIMEOUT TO TRIM TRUNCATE TRY_CAST TRY_CONVERT TUMBLING TYPE UNLIMITED UNLOGGED UPDATE UPSERT UNQIESCE USER SIGNED K_STRING_FUNCTION_NAME UNSIGNED VALIDATE VALIDATION VERBOSE VERSION VIEW VISIBLE VOLATILE CONCURRENTLY WAIT WITH TIES WITHIN WITHOUT WITHOUT_ARRAY_WRAPPER WORK XML XMLAGG XMLDATA XMLSCHEMA XMLTEXT XSINIL YAML YES ZONE
         ::= 'ACTION'
           | 'ACTIVE'
           | 'ADD'
           | 'ADVANCE'
           | 'ADVISE'
           | 'AGAINST'
           | 'AGGREGATE'
           | 'ALGORITHM'
           | 'ALIGN'
           | 'ALTER'
           | 'ALWAYS'
           | 'ANALYZE'
           | 'APPEND_ONLY'
           | 'APPLY'
           | 'APPROXIMATE'
           | 'ARCHIVE'
           | 'ARRAY'
           | 'ASYMMETRIC'
           | 'AT'
           | 'ASC'
           | 'AUTHORIZATION'
           | 'AUTO'
           | 'AUTO_INCREMENT'
           | 'AZURE'
           | 'BASE64'
           | 'BEFORE'
           | 'BEGIN'
           | 'BERNOULLI'
           | 'BINARY'
           | 'BIT'
           | 'BLOBSTORAGE'
           | 'BLOCK'
           | 'BOOLEAN'
           | 'BREADTH'
           | 'BRANCH'
           | 'BROWSE'
           | 'BY'
           | 'BYTES'
           | 'CACHE'
           | 'BUFFERS'
           | 'BYTE'
           | 'CALL'
           | 'CASCADE'
           | 'CASE'
           | 'CAST'
           | 'CERTIFICATE'
           | 'CHARACTER'
           | 'CHANGE'
           | 'CHANGES'
           | 'CHECKPOINT'
           | 'CHAR'
           | 'CLOSE'
           | 'CLOUD'
           | 'COALESCE'
           | 'COLLATE'
           | 'COLUMN'
           | 'COLUMNS'
           | 'COMMIT'
           | 'COMMENT'
           | 'COMMENTS'
           | 'CONFLICT'
           | 'CONSTRAINTS'
           | 'CONVERT'
           | 'CORRESPONDING'
           | 'COSTS'
           | 'COUNT'
           | 'CREATED'
           | 'CYCLE'
           | 'DATABASE'
           | 'DATA'
           | 'DECLARE'
           | 'DBA_RECYCLEBIN'
           | 'DEFAULTS'
           | 'DEPTH'
           | 'DEFERRABLE'
           | 'DELAYED'
           | 'DELETE'
           | 'DELIMIT'
           | 'DELIMITER'
           | 'DESC'
           | 'DESCRIBE'
           | 'DISABLE'
           | 'DISCARD'
           | 'DISCONNECT'
           | 'DIV'
           | 'DDL'
           | 'DML'
           | 'DO'
           | 'DOMAIN'
           | 'DRIVER'
           | 'DROP'
           | 'DUMP'
           | 'DUPLICATE'
           | 'ELEMENTS'
           | 'EMIT'
           | 'ENABLE'
           | 'ENCODING'
           | 'ENCRYPTION'
           | 'END'
           | 'ENFORCED'
           | 'ENGINE'
           | 'ERROR'
           | 'ESCAPE'
           | 'EXA'
           | 'EXCHANGE'
           | 'EXCLUDE'
           | 'EXCLUDING'
           | 'EXCLUSIVE'
           | 'EXEC'
           | 'EXECUTE'
           | 'EXPLAIN'
           | 'EXPLICIT'
           | 'EXTENDED'
           | 'EXTRACT'
           | 'EXPORT'
           | K_ISOLATION
           | 'FILTER'
           | 'FIRST'
           | 'FLUSH'
           | 'FOLLOWING'
           | 'FORMAT'
           | 'FULLTEXT'
           | 'FUNCTION'
           | 'GRANT'
           | 'GROUP_CONCAT'
           | 'GUARD'
           | 'HASH'
           | 'HIGH'
           | 'HIGH_PRIORITY'
           | 'HISTORY'
           | 'HOPPING'
           | 'IDENTIFIED'
           | 'IDENTITY'
           | 'INCLUDE'
           | 'INCLUDE_NULL_VALUES'
           | 'INCLUDING'
           | 'INCREMENT'
           | 'INDEX'
           | 'INFORMATION'
           | 'INSERT'
           | 'INTERLEAVE'
           | 'INTERPRET'
           | 'INVALIDATE'
           | 'INVERSE'
           | 'INVISIBLE'
           | 'ISNULL'
           | 'JDBC'
           | 'JSON'
           | 'JSON_OBJECT'
           | 'JSON_OBJECTAGG'
           | 'JSON_ARRAY'
           | 'JSON_ARRAYAGG'
           | 'KEEP'
           | 'KEY_BLOCK_SIZE'
           | 'KEY'
           | 'KEYS'
           | 'KILL'
           | 'FN'
           | 'LAST'
           | 'LEADING'
           | 'LESS'
           | 'LEVEL'
           | 'LOCAL'
           | 'LOCK'
           | 'LOCKED'
           | 'LINK'
           | 'LOG'
           | 'LOOP'
           | 'LOW'
           | 'LOW_PRIORITY'
           | 'LTRIM'
           | 'MATCH'
           | 'MATCH_ANY'
           | 'MATCH_ALL'
           | 'MATCH_PHRASE'
           | 'MATCH_PHRASE_PREFIX'
           | 'MATCH_REGEXP'
           | 'MATCHED'
           | 'MATERIALIZED'
           | 'MAX'
           | 'MAXVALUE'
           | 'MEMBER'
           | 'MERGE'
           | 'MIN'
           | 'MINVALUE'
           | 'MODE'
           | 'MODIFY'
           | 'MOVEMENT'
           | 'NAMES'
           | 'NAME'
           | 'NEVER'
           | 'NEXT'
           | K_NEXTVAL
           | 'NO'
           | 'NOCACHE'
           | 'NOKEEP'
           | 'NOLOCK'
           | 'NOMAXVALUE'
           | 'NOMINVALUE'
           | 'NONE'
           | 'NOORDER'
           | 'NOTHING'
           | 'NOTNULL'
           | 'NOVALIDATE'
           | 'NULLS'
           | 'NOWAIT'
           | 'OF'
           | 'OFF'
           | 'OPEN'
           | 'ORA'
           | 'ORDINALITY'
           | 'OVER'
           | 'OVERFLOW'
           | 'OVERLAPS'
           | 'OVERRIDING'
           | 'OVERWRITE'
           | 'PADDING'
           | 'PARALLEL'
           | 'PARENT'
           | 'PARSER'
           | 'PARTITION'
           | 'PARTITIONING'
           | 'PATH'
           | 'PERCENT'
           | 'PLACING'
           | 'PLAN'
           | 'PLUS'
           | 'PRECEDING'
           | 'PRIMARY'
           | 'POLICY'
           | 'PURGE'
           | 'QUERY'
           | 'QUICK'
           | 'QUIESCE'
           | 'RANGE'
           | 'RAW'
           | 'READ'
           | 'REBUILD'
           | 'RECYCLEBIN'
           | 'RECURSIVE'
           | 'REFERENCES'
           | 'REFRESH'
           | 'REGEXP'
           | 'REJECT'
           | 'RESPECT'
           | 'RLIKE'
           | 'REGEXP_LIKE'
           | 'REGISTER'
           | 'REMOTE'
           | 'REMOVE'
           | 'RENAME'
           | 'REORGANIZE'
           | 'REPAIR'
           | 'REPEATABLE'
           | 'REPLACE'
           | 'RESET'
           | 'RESTART'
           | 'RESUMABLE'
           | 'RESUME'
           | 'RESTRICT'
           | 'RESTRICTED'
           | 'RETURN'
           | 'ROLLBACK'
           | 'ROLLUP'
           | 'ROOT'
           | 'ROW'
           | 'ROWS'
           | 'RTRIM'
           | 'SAFE_CAST'
           | 'SAFE_CONVERT'
           | 'SAVEPOINT'
           | 'SCHEMA'
           | 'SEARCH'
           | 'SECURE'
           | 'SECURITY'
           | 'SEED'
           | 'SEQUENCE'
           | 'SEPARATOR'
           | 'SESSION'
           | 'SETS'
           | 'SHOW'
           | 'SHUTDOWN'
           | 'SHARE'
           | 'SIBLINGS'
           | 'SIMILAR'
           | 'SIZE'
           | 'SKIP'
           | 'SPATIAL'
           | 'STORED'
           | 'STREAM'
           | 'STRICT'
           | 'STRING'
           | 'STRUCT'
           | 'SUMMARIZE'
           | 'SUSPEND'
           | 'SWITCH'
           | 'SYMMETRIC'
           | 'SYNONYM'
           | 'SYSTEM'
           | 'SYSTEM_TIME'
           | 'SYSTEM_TIMESTAMP'
           | 'SYSTEM_VERSION'
           | 'TABLE'
           | 'TABLESPACE'
           | 'TRIGGER'
           | 'THEN'
           | 'TEMP'
           | K_TEXT_LITERAL
           | 'TEMPORARY'
           | 'THAN'
           | K_TIME_KEY_EXPR
           | 'TIMEOUT'
           | 'TO'
           | 'TRIM'
           | 'TRUNCATE'
           | 'TRY_CAST'
           | 'TRY_CONVERT'
           | 'TUMBLING'
           | 'TYPE'
           | 'UNLIMITED'
           | 'UNLOGGED'
           | 'UPDATE'
           | 'UPSERT'
           | 'UNQIESCE'
           | 'USER'
           | 'SIGNED'
           | K_STRING_FUNCTION_NAME
           | 'UNSIGNED'
           | 'VALIDATE'
           | 'VALIDATION'
           | 'VERBOSE'
           | 'VERSION'
           | 'VIEW'
           | 'VISIBLE'
           | 'VOLATILE'
           | 'CONCURRENTLY'
           | 'WAIT'
           | 'WITH TIES'
           | 'WITHIN'
           | 'WITHOUT'
           | 'WITHOUT_ARRAY_WRAPPER'
           | 'WORK'
           | 'XML'
           | 'XMLAGG'
           | 'XMLDATA'
           | 'XMLSCHEMA'
           | 'XMLTEXT'
           | 'XSINIL'
           | 'YAML'
           | 'YES'
           | 'ZONE'
Referenced by:

KeywordOrIdentifier

S_IDENTIFIER S_QUOTED_IDENTIFIER NAME NEXT VALUE PUBLIC STRING DATA
         ::= S_IDENTIFIER
           | S_QUOTED_IDENTIFIER
           | 'NAME'
           | 'NEXT'
           | 'VALUE'
           | 'PUBLIC'
           | 'STRING'
           | 'DATA'

Statement

IF Condition SingleStatement Block ST_SEMICOLON ELSE SingleStatement Block ST_SEMICOLON SingleStatement Block ST_SEMICOLON EOF UnsupportedStatement
         ::= 'IF' Condition ( SingleStatement | Block ) ST_SEMICOLON? ( 'ELSE' ( SingleStatement | Block ) ST_SEMICOLON? )?
           | ( SingleStatement | Block ) ( ST_SEMICOLON | EOF )
           | UnsupportedStatement
Not referenced by any.

SingleStatement

WithList SelectWithWithItems InsertWithWithItems UpdateWithWithItems DeleteWithWithItems Merge Select TableStatement Upsert Alter RenameTableStatement Create Drop Analyze Truncate Execute Set Reset Show RefreshMaterializedView Use SavepointStatement RollbackStatement COMMIT Comment Describe Explain Declare Grant PurgeStatement SessionStatement LockStatement Import Export
           | Select
           | TableStatement
           | Upsert
           | Alter
           | RenameTableStatement
           | Create
           | Drop
           | Analyze
           | Truncate
           | Execute
           | Set
           | Reset
           | Show
           | RefreshMaterializedView
           | Use
           | SavepointStatement
           | RollbackStatement
           | 'COMMIT'
           | Comment
           | Describe
           | Explain
           | Declare
           | Grant
           | PurgeStatement
           | SessionStatement
           | LockStatement
           | Import
           | Export
Referenced by:

Block

BEGIN ST_SEMICOLON SingleStatement Block ST_SEMICOLON END ST_SEMICOLON
Block    ::= 'BEGIN' ST_SEMICOLON* ( ( SingleStatement | Block ) ST_SEMICOLON )+ 'END' ST_SEMICOLON?
Referenced by:

Statements

ST_SEMICOLON IF Condition SingleStatement Block ST_SEMICOLON ELSE SingleStatement Block ST_SEMICOLON SingleStatement Block ST_SEMICOLON EOF ST_SEMICOLON IF Condition SingleStatement Block ST_SEMICOLON ELSE SingleStatement Block ST_SEMICOLON UnsupportedStatement EOF
Not referenced by any.

LockStatement

LOCK TABLE Table IN ROW SHARE EXCLUSIVE SHARE ROW EXCLUSIVE UPDATE EXCLUSIVE MODE NOWAIT WAIT S_LONG
         ::= 'LOCK' 'TABLE' Table 'IN' ( 'ROW' ( 'SHARE' | 'EXCLUSIVE' ) | 'SHARE' ( 'ROW' 'EXCLUSIVE' | 'UPDATE' )? | 'EXCLUSIVE' ) 'MODE' ( 'NOWAIT' | 'WAIT' S_LONG )?
Referenced by:

LikeClause

LIKE Table ( ColumnSelectItemsList ) INCLUDING EXCLUDING DEFAULTS INCLUDING EXCLUDING IDENTITY INCLUDING EXCLUDING COMMENTS
         ::= 'LIKE' Table ( '(' ColumnSelectItemsList ')' )? ( ( 'INCLUDING' | 'EXCLUDING' ) 'DEFAULTS' )? ( ( 'INCLUDING' | 'EXCLUDING' ) 'IDENTITY' )? ( ( 'INCLUDING' | 'EXCLUDING' ) 'COMMENTS' )?
Referenced by:

Export

EXPORT Table ParenthesedColumnList ParenthesedSelect INTO ExportIntoItem
Referenced by:

Import

IMPORT INTO Table ParenthesedColumnList ImportColumns FROM ImportFromItem
Import   ::= 'IMPORT' ( 'INTO' ( Table ParenthesedColumnList? | ImportColumns ) )? 'FROM' ImportFromItem
Referenced by:

SubImport

( IMPORT INTO ImportColumns FROM ImportFromItem )
         ::= '(' 'IMPORT' ( 'INTO' ImportColumns )? 'FROM' ImportFromItem ')'
Referenced by:

ImportColumns

( ColumnDefinition LikeClause , )
         ::= '(' ( ColumnDefinition | LikeClause ) ( ',' ( ColumnDefinition | LikeClause ) )* ')'
Referenced by:

ExportIntoItem

DBMSDestination FileDestination ScriptSourceDestination ErrorClause
Referenced by:

ImportFromItem

DBMSSource FileSource ScriptSourceDestination ErrorClause
Referenced by:

DBMSDestination

DBMSType ConnectionDefinition TABLE Table ParenthesedColumnList DBMSTableDestinationOptionList ImportExportStatement
Referenced by:

DBMSTableDestinationOption

REPLACE TRUNCATE CREATED BY S_CHAR_LITERAL
         ::= 'REPLACE'
           | 'TRUNCATE'
           | 'CREATED' 'BY' S_CHAR_LITERAL

DBMSTableDestinationOptionList

DBMSTableDestinationOption
         ::= DBMSTableDestinationOption+
Referenced by:

DBMSSource

DBMSType ConnectionDefinition TABLE Table ParenthesedColumnList ImportExportStatementsList
Referenced by:

DBMSType

EXA ORA JDBC DRIVER = S_CHAR_LITERAL
DBMSType ::= 'EXA'
           | 'ORA'
           | 'JDBC' ( 'DRIVER' '=' S_CHAR_LITERAL )?

FileType

CSV FBV
FileType ::= 'CSV'
           | 'FBV'

ImportExportStatement

STATEMENT S_CHAR_LITERAL
         ::= 'STATEMENT' S_CHAR_LITERAL

ImportExportStatementsList

ImportExportStatement
         ::= ImportExportStatement+
Referenced by:

File

FILE S_CHAR_LITERAL
File     ::= 'FILE' S_CHAR_LITERAL

FileList

File

ConnectionFileDefinition

ConnectionOrCloudConnectionDefinition FileList

ConnectionFileDefinitionList

ConnectionFileDefinition
         ::= ConnectionFileDefinition+

CSVDestinationColumn

S_LONG .. S_LONG FORMAT = S_CHAR_LITERAL DELIMIT = ALWAYS NEVER AUTO
         ::= S_LONG ( '..' S_LONG | ( 'FORMAT' '=' S_CHAR_LITERAL )? ( 'DELIMIT' '=' ( 'ALWAYS' | 'NEVER' | 'AUTO' ) )? )
Referenced by:

CSVDestinationColumnList

CSVDestinationColumn ,
         ::= CSVDestinationColumn ( ',' CSVDestinationColumn )*
Referenced by:

CSVSourceColumn

S_LONG .. S_LONG FORMAT = S_CHAR_LITERAL
         ::= S_LONG ( '..' S_LONG | 'FORMAT' '=' S_CHAR_LITERAL )?
Referenced by:

CSVSourceColumnList

CSVSourceColumn ,
         ::= CSVSourceColumn ( ',' CSVSourceColumn )*
Referenced by:

FBVDestinationColumn

SIZE = S_LONG FORMAT PADDING = S_CHAR_LITERAL ALIGN = LEFT RIGHT
         ::= 'SIZE' '=' S_LONG
           | ( 'FORMAT' | 'PADDING' ) '=' S_CHAR_LITERAL
           | 'ALIGN' '=' ( 'LEFT' | 'RIGHT' )
Referenced by:

FBVDestinationColumnList

FBVDestinationColumn ,
         ::= FBVDestinationColumn ( ','? FBVDestinationColumn )*
Referenced by:

FBVSourceColumn

SIZE START = S_LONG FORMAT PADDING = S_CHAR_LITERAL ALIGN = LEFT RIGHT
         ::= ( 'SIZE' | 'START' ) '=' S_LONG
           | ( 'FORMAT' | 'PADDING' ) '=' S_CHAR_LITERAL
           | 'ALIGN' '=' ( 'LEFT' | 'RIGHT' )
Referenced by:

FBVSourceColumnList

FBVSourceColumn ,
         ::= FBVSourceColumn ( ','? FBVSourceColumn )*
Referenced by:

FileDestinationOption

REPLACE TRUNCATE WITH COLUMN NAMES ENCODING NULL BOOLEAN ROW SEPARATOR COLUMN SEPARATOR DELIMITER = S_CHAR_LITERAL DELIMIT = ALWAYS NEVER AUTO
         ::= 'REPLACE'
           | 'TRUNCATE'
           | 'WITH' 'COLUMN' 'NAMES'
           | ( 'ENCODING' | 'NULL' | 'BOOLEAN' | 'ROW' 'SEPARATOR' | 'COLUMN' ( 'SEPARATOR' | 'DELIMITER' ) ) '=' S_CHAR_LITERAL
           | 'DELIMIT' '=' ( 'ALWAYS' | 'NEVER' | 'AUTO' )

FileDestinationOptionList

FileDestinationOption
         ::= FileDestinationOption+
Referenced by:

FileSourceOption

TRIM LTRIM RTRIM ENCODING NULL COLUMN SEPARATOR DELIMITER = S_CHAR_LITERAL SKIP = S_LONG ROW SEPARATOR = S_CHAR_LITERAL SIZE = S_LONG
         ::= 'TRIM'
           | 'LTRIM'
           | 'RTRIM'
           | ( 'ENCODING' | 'NULL' | 'COLUMN' ( 'SEPARATOR' | 'DELIMITER' ) ) '=' S_CHAR_LITERAL
           | 'SKIP' '=' S_LONG
           | 'ROW' ( 'SEPARATOR' '=' S_CHAR_LITERAL | 'SIZE' '=' S_LONG )
Referenced by:

FileSourceOptionList

FileSourceOption
         ::= FileSourceOption+
Referenced by:

FileDestination

FileType ConnectionFileDefinitionList LOCAL SECURE FileType FileList ( CSVDestinationColumnList FBVDestinationColumnList ) FileDestinationOptionList CertificateVerification
Referenced by:

FileSource

FileType ConnectionFileDefinitionList LOCAL SECURE FileType FileList ( CSVSourceColumnList FBVSourceColumnList ) FileSourceOptionList CertificateVerification
Referenced by:

CertificateVerification

IGNORE VERIFY CERTIFICATE PUBLIC KEY S_CHAR_LITERAL PUBLIC KEY S_CHAR_LITERAL
         ::= ( 'IGNORE' | 'VERIFY' ) 'CERTIFICATE' ( 'PUBLIC' 'KEY' S_CHAR_LITERAL )?
           | 'PUBLIC' 'KEY' S_CHAR_LITERAL

ScriptSourceDestination

SCRIPT Table ConnectionDefinition WITH RelObjectName = S_CHAR_LITERAL
         ::= 'SCRIPT' Table ConnectionDefinition? ( 'WITH' ( RelObjectName '=' S_CHAR_LITERAL )+ )?

UserIdentification

USER S_CHAR_LITERAL IDENTIFIED BY S_CHAR_LITERAL
         ::= 'USER' S_CHAR_LITERAL 'IDENTIFIED' 'BY' S_CHAR_LITERAL

ConnectionDefinition

AT RelObjectName S_CHAR_LITERAL UserIdentification CertificateVerification

CloudConnectionDefinition

AT CLOUD NONE AZURE BLOBSTORAGE RelObjectName S_CHAR_LITERAL UserIdentification
         ::= 'AT' 'CLOUD' ( 'NONE' | 'AZURE' 'BLOBSTORAGE' ) ( RelObjectName | S_CHAR_LITERAL ) UserIdentification?

ConnectionOrCloudConnectionDefinition

CloudConnectionDefinition ConnectionDefinition
         ::= CloudConnectionDefinition
           | ConnectionDefinition

ErrorClause

ERRORS INTO ErrorDestination ( Expression ) REPLACE TRUNCATE RejectClause RejectClause
         ::= 'ERRORS' 'INTO' ErrorDestination ( '(' Expression ')' )? ( 'REPLACE' | 'TRUNCATE' )? RejectClause?
           | RejectClause

RejectClause

REJECT LIMIT S_LONG UNLIMITED ERRORS
         ::= 'REJECT' 'LIMIT' ( S_LONG | 'UNLIMITED' ) 'ERRORS'?
Referenced by:

ErrorDestination

CSVFileDestination Table
         ::= CSVFileDestination
           | Table
Referenced by:

CSVFileDestination

CSV ConnectionOrCloudConnectionDefinition LOCAL SECURE CSV File
         ::= ( 'CSV' ConnectionOrCloudConnectionDefinition | 'LOCAL' 'SECURE'? 'CSV' ) File
Referenced by:

Declare

DECLARE UserVariable TABLE ( ColumnDefinition , ) AS RelObjectName ColDataType = Expression UserVariable ,
Declare  ::= 'DECLARE' UserVariable ( 'TABLE' '(' ColumnDefinition ( ',' ColumnDefinition )* ')' | 'AS' RelObjectName | ColDataType ( '=' Expression )? ( ',' UserVariable ColDataType ( '=' Expression )? )* )
Referenced by:

SessionStatement

SESSION BRANCH START APPLY DROP SHOW DESCRIBE S_IDENTIFIER S_QUOTED_IDENTIFIER S_CHAR_LITERAL S_LONG . S_IDENTIFIER S_QUOTED_IDENTIFIER S_CHAR_LITERAL S_LONG WITH S_IDENTIFIER KEEP = S_IDENTIFIER S_QUOTED_IDENTIFIER S_CHAR_LITERAL S_LONG TRUE FALSE ON OFF YES NO ,
         ::= ( 'SESSION' | 'BRANCH' ) ( 'START' | 'APPLY' | 'DROP' | 'SHOW' | 'DESCRIBE' ) ( ( S_IDENTIFIER | S_QUOTED_IDENTIFIER | S_CHAR_LITERAL | S_LONG ) ( '.' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER | S_CHAR_LITERAL | S_LONG ) )? )? ( 'WITH' ( S_IDENTIFIER | 'KEEP' ) '=' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER | S_CHAR_LITERAL | S_LONG | 'TRUE' | 'FALSE' | 'ON' | 'OFF' | 'YES' | 'NO' ) ( ',' ( S_IDENTIFIER | 'KEEP' ) '=' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER | S_CHAR_LITERAL | S_LONG | 'TRUE' | 'FALSE' | 'ON' | 'OFF' | 'YES' | 'NO' ) )* )?
Referenced by:

Set

SET LOCAL SESSION K_DATETIMELITERAL ZONE UserVariable IdentifierChain = Expression ZONE K_DATETIMELITERAL = RelObjectName ,
Set      ::= 'SET' ( 'LOCAL' | 'SESSION' )? ( K_DATETIMELITERAL 'ZONE' | ( UserVariable | IdentifierChain ) '='? ) Expression ( ',' ( K_DATETIMELITERAL 'ZONE' | RelObjectName '='? )? Expression )*
Referenced by:

Reset

RESET K_DATETIMELITERAL ZONE RelObjectName ALL
Reset    ::= 'RESET' ( K_DATETIMELITERAL 'ZONE' | RelObjectName | 'ALL' )
Referenced by:

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:

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:

Describe

DESCRIBE DESC Table
Describe ::= ( 'DESCRIBE' | 'DESC' ) Table
Referenced by:

Explain

EXPLAIN SUMMARIZE ExplainStatementOptions WithList SelectWithWithItems InsertWithWithItems UpdateWithWithItems DeleteWithWithItems Merge Table
Referenced by:

ExplainOptionBoolean

TRUE FALSE ON OFF
         ::= ( 'TRUE' | 'FALSE' | 'ON' | 'OFF' )?
Referenced by:

ExplainFormatOption

XML JSON YAML
         ::= ( 'XML' | 'JSON' | 'YAML' )?
Referenced by:

ExplainStatementOptions

ANALYZE BUFFERS COSTS VERBOSE ExplainOptionBoolean FORMAT PLAN FOR ExplainFormatOption
         ::= ( ( 'ANALYZE' | 'BUFFERS' | 'COSTS' | 'VERBOSE' ) ExplainOptionBoolean | ( 'FORMAT' | 'PLAN' 'FOR'? ) ExplainFormatOption )*
Referenced by:

Use

USE SCHEMA RelObjectName
Use      ::= 'USE' 'SCHEMA'? RelObjectName
Referenced by:

Show

SHOW ShowColumns ShowIndex ShowTables captureRest
Show     ::= 'SHOW' ( ShowColumns | ShowIndex | ShowTables | captureRest )
Referenced by:

ShowColumns

COLUMNS FROM RelObjectName
         ::= 'COLUMNS' 'FROM' RelObjectName
Referenced by:

ShowIndex

INDEX FROM RelObjectName
         ::= 'INDEX' 'FROM' RelObjectName
Referenced by:

RefreshMaterializedView

REFRESH MATERIALIZED VIEW CONCURRENTLY Table WITH NO DATA captureRest
         ::= 'REFRESH' 'MATERIALIZED' 'VIEW' 'CONCURRENTLY'? Table ( 'WITH' 'NO'? 'DATA' )? captureRest
Referenced by:

ShowTables

EXTENDED FULL TABLES FROM IN RelObjectName LIKE SimpleExpression WHERE Expression
         ::= 'EXTENDED'? 'FULL'? 'TABLES' ( ( 'FROM' | 'IN' ) RelObjectName )? ( 'LIKE' SimpleExpression | 'WHERE' Expression )?
Referenced by:

Values

VALUES VALUE ExpressionList
Values   ::= ( 'VALUES' | 'VALUE' ) ExpressionList

ReturningClause

RETURNING RETURN ReturningOutputAliasList SelectItemsList INTO Table UserVariable ,
         ::= ( 'RETURNING' | 'RETURN' ) ReturningOutputAliasList? SelectItemsList ( 'INTO' ( Table | UserVariable ) ( ',' ( Table | UserVariable ) )* )?
Referenced by:

ReturningReferenceKind

RelObjectName
         ::= RelObjectName

ReturningOutputAliasDefinition

ReturningReferenceKind AS RelObjectName
         ::= ReturningReferenceKind 'AS' RelObjectName
Referenced by:

ReturningOutputAliasList

WITH ( ReturningOutputAliasDefinition , )
         ::= 'WITH' '(' ReturningOutputAliasDefinition ( ',' ReturningOutputAliasDefinition )* ')'
Referenced by:

UpdateWithWithItems

Update
         ::= Update
Referenced by:

Update

UPDATE LOW_PRIORITY IGNORE TableWithAliasAndMysqlIndexHint JoinsList SET UpdateSets OutputClause FROM FromItem JoinsList WhereClause PreferringClause OrderByElements PlainLimit ReturningClause

UpdateSets

Column = Expression ParenthesedExpressionList = ParenthesedSelect ParenthesedExpressionList , Column = Expression ParenthesedExpressionList = ParenthesedSelect ParenthesedExpressionList

Partitions

Column = Expression ,
         ::= Column ( '=' Expression )? ( ',' Column ( '=' Expression )? )*
Referenced by:

InsertWithWithItems

Insert
         ::= Insert
Referenced by:

Insert

INSERT LOW_PRIORITY DELAYED HIGH_PRIORITY IGNORE ALL FIRST OracleMultiInsertClause OracleMultiInsertWhenBranch OracleMultiInsertElseBranch Select OVERWRITE TABLE INTO TABLE Table PARTITION ( Partitions ) AS RelObjectName ( ColumnList ) OVERRIDING SYSTEM VALUE OutputClause DEFAULT VALUES SET UpdateSets Select Alias ON DUPLICATE KEY UPDATE InsertDuplicateAction ON CONFLICT InsertConflictTarget InsertConflictAction ReturningClause
Insert   ::= 'INSERT' ( 'LOW_PRIORITY' | 'DELAYED' | 'HIGH_PRIORITY' )? 'IGNORE'? ( ( 'ALL' | 'FIRST' ) ( OracleMultiInsertClause+ | OracleMultiInsertWhenBranch+ OracleMultiInsertElseBranch? ) Select | ( 'OVERWRITE' 'TABLE' | 'INTO' 'TABLE'? )? Table ( 'PARTITION' '(' Partitions ')' )? ( 'AS'? RelObjectName )? ( '(' ColumnList ')' )? ( 'OVERRIDING' 'SYSTEM' 'VALUE' )? OutputClause? ( 'DEFAULT' 'VALUES' | 'SET' UpdateSets | Select ) Alias? ( 'ON' 'DUPLICATE' 'KEY' 'UPDATE' InsertDuplicateAction )? ( 'ON' 'CONFLICT' InsertConflictTarget? InsertConflictAction )? ReturningClause? )

OracleMultiInsertClause

INTO Table ( ColumnList ) Select
         ::= 'INTO' Table ( '(' ColumnList ')' )? Select

OracleMultiInsertWhenBranch

WHEN Expression THEN OracleMultiInsertClauseList
         ::= 'WHEN' Expression 'THEN' OracleMultiInsertClauseList
Referenced by:

OracleMultiInsertElseBranch

ELSE OracleMultiInsertClauseList
         ::= 'ELSE' OracleMultiInsertClauseList
Referenced by:

OracleMultiInsertClauseList

OracleMultiInsertClause
         ::= OracleMultiInsertClause+

InsertConflictTarget

( RelObjectNameExt , ) WhereClause ON CONSTRAINT RelObjectNameExt
         ::= '(' RelObjectNameExt ( ',' RelObjectNameExt )* ')' WhereClause?
           | 'ON' 'CONSTRAINT' RelObjectNameExt
Referenced by:

InsertConflictAction

DO NOTHING UPDATE SET UpdateSets WhereClause
         ::= 'DO' ( 'NOTHING' | 'UPDATE' 'SET' UpdateSets WhereClause? )
Referenced by:

InsertDuplicateAction

NOTHING UpdateSets WhereClause
         ::= 'NOTHING'
           | UpdateSets WhereClause?
Referenced by:

OutputClause

OUTPUT SelectItemsList INTO UserVariable Table ColumnsNamesList
         ::= 'OUTPUT' SelectItemsList ( 'INTO' ( UserVariable | Table ) ColumnsNamesList? )?
Referenced by:

Upsert

UPSERT INSERT OR REPLACE INTO Table ParenthesedColumnList SET UpdateSets Select ON DUPLICATE KEY UPDATE InsertDuplicateAction
Upsert   ::= ( 'UPSERT' | ( 'INSERT' 'OR' )? 'REPLACE' ) 'INTO'? Table ParenthesedColumnList? ( 'SET' UpdateSets | Select ) ( 'ON' 'DUPLICATE' 'KEY' 'UPDATE' InsertDuplicateAction )?
Referenced by:

DeleteWithWithItems

Delete
         ::= Delete
Referenced by:

Delete

DELETE LOW_PRIORITY QUICK IGNORE TableWithAlias , OutputClause FROM TableWithAlias JoinsList USING FromItem , WhereClause PreferringClause OrderByElements PlainLimit ReturningClause
Delete   ::= 'DELETE' 'LOW_PRIORITY'? 'QUICK'? 'IGNORE'? ( ( TableWithAlias ( ',' TableWithAlias )* OutputClause? )? 'FROM' )? ( TableWithAlias JoinsList? )? ( 'USING' FromItem ( ',' FromItem )* )? WhereClause? PreferringClause? OrderByElements? PlainLimit? ReturningClause?

Merge

MERGE INTO TableWithAlias USING FromItem ON Expression MergeOperations OutputClause
Merge    ::= 'MERGE' 'INTO' TableWithAlias 'USING' FromItem 'ON' Expression MergeOperations OutputClause?
Referenced by:

MergeOperations

MergeWhenMatched MergeWhenNotMatched
         ::= ( MergeWhenMatched | MergeWhenNotMatched )*
Referenced by:

MergeWhenMatched

WHEN MATCHED AND Expression THEN DELETE MergeUpdateClause
         ::= 'WHEN' 'MATCHED' ( 'AND' Expression )? 'THEN' ( 'DELETE' | MergeUpdateClause )
Referenced by:

MergeUpdateClause

UPDATE SET UpdateSets WHERE Expression DELETE WHERE Expression
         ::= 'UPDATE' 'SET' UpdateSets ( 'WHERE' Expression )? ( 'DELETE' 'WHERE' Expression )?
Referenced by:

MergeWhenNotMatched

WHEN NOT MATCHED AND Expression THEN INSERT ( ColumnList ) VALUES ( SimpleExpressionList ) WHERE Expression
         ::= 'WHEN' 'NOT' 'MATCHED' ( 'AND' Expression )? 'THEN' 'INSERT' ( '(' ColumnList ')' )? 'VALUES' '(' SimpleExpressionList ')' ( 'WHERE' Expression )?
Referenced by:

RelObjectNames

RelObjectName ... .. . : RelObjectNameExt
         ::= RelObjectName ( ( '...' | '..' | '.' | ':' ) RelObjectNameExt )*

ColumnIdentifier

RelObjectName ... .. . RelObjectNameExt
         ::= RelObjectName ( ( '...' | '..' | '.' ) RelObjectNameExt )*
Referenced by:

Column

ColumnIdentifier COMMENT S_CHAR_LITERAL . K_NEXTVAL ArrayConstructor

RelObjectName

DATA_TYPE S_IDENTIFIER S_QUOTED_IDENTIFIER K_DATETIMELITERAL K_DATE_LITERAL NonReservedWord ALL ANY CASEWHEN CONNECT CREATE DEFAULT GLOBAL GROUP GROUPING IF IIF IGNORE IN INTERVAL LEFT LIMIT K_NEXTVAL OFFSET ON OPTIMIZE ORDER PROCEDURE PUBLIC QUALIFY RIGHT SET SOME START TABLES TOP VALUE VALUES
         ::= DATA_TYPE
           | S_IDENTIFIER
           | S_QUOTED_IDENTIFIER
           | K_DATETIMELITERAL
           | K_DATE_LITERAL
           | NonReservedWord
           | 'ALL'
           | 'ANY'
           | 'CASEWHEN'
           | 'CONNECT'
           | 'CREATE'
           | 'DEFAULT'
           | 'GLOBAL'
           | 'GROUP'
           | 'GROUPING'
           | 'IF'
           | 'IIF'
           | 'IGNORE'
           | 'IN'
           | 'INTERVAL'
           | 'LEFT'
           | 'LIMIT'
           | K_NEXTVAL
           | 'OFFSET'
           | 'ON'
           | 'OPTIMIZE'
           | 'ORDER'
           | 'PROCEDURE'
           | 'PUBLIC'
           | 'QUALIFY'
           | 'RIGHT'
           | 'SET'
           | 'SOME'
           | 'START'
           | 'TABLES'
           | 'TOP'
           | 'VALUE'
           | 'VALUES'

RelObjectNameExt

RelObjectName FROM K_SELECT CURRENT
         ::= RelObjectName
           | 'FROM'
           | K_SELECT
           | 'CURRENT'

Table

RelObjectNames TimeTravelBeforeAlias S_CHAR_LITERAL
           | S_CHAR_LITERAL

TableWithAlias

Table Alias
         ::= Table Alias?
Referenced by:

TableWithAliasAndMysqlIndexHint

Table Alias MySQLIndexHint
         ::= Table Alias? MySQLIndexHint?
Referenced by:

Number

S_DOUBLE S_LONG
Number   ::= S_DOUBLE
           | S_LONG
Referenced by:

SampleClause

SAMPLE BLOCK TABLESAMPLE USING SAMPLE SYSTEM BERNOULLI ( Number % PERCENT ROWS ) REPEATABLE ( Number ) SEED ( Number ) Number OFFSET Number
         ::= ( 'SAMPLE' 'BLOCK'? | ( 'TABLESAMPLE' | 'USING' 'SAMPLE' ) ( 'SYSTEM' | 'BERNOULLI' ) ) ( '(' Number ( '%' | 'PERCENT' | 'ROWS' )? ')' ( 'REPEATABLE' '(' Number ')' )? ( 'SEED' '(' Number ')' )? | Number ( 'OFFSET' Number )? )
Referenced by:

SelectWithWithItems

Select
         ::= Select
Referenced by:

Select

WithList FromQuery PlainSelect Values ParenthesedSelect Alias FromQueryFromSelect SetOperationList OrderByElements LimitWithOffset Offset Fetch WithIsolation

FromQuery

FROM FromItem LateralViews JoinsList |> PipeOperator
         ::= 'FROM' FromItem LateralViews? JoinsList? ( '|>' PipeOperator )*
Referenced by:

FromQueryFromSelect

|> PipeOperator
         ::= ( '|>' PipeOperator )+
Referenced by:

PipeOperator

SelectPipeOperator SetPipeOperator DropPipeOperator AsPipeOperator WherePipeOperator LimitPipeOperator AggregatePipeOperator OrderByPipeOperator SetOperationPipeOperator JoinPipeOperator CallPipeOperator TableSamplePipeOperator PivotPipeOperator UnPivotPipeOperator
         ::= SelectPipeOperator
           | SetPipeOperator
           | DropPipeOperator
           | AsPipeOperator
           | WherePipeOperator
           | LimitPipeOperator
           | AggregatePipeOperator
           | OrderByPipeOperator
           | SetOperationPipeOperator
           | JoinPipeOperator
           | CallPipeOperator
           | TableSamplePipeOperator
           | PivotPipeOperator
           | UnPivotPipeOperator

SelectPipeOperator

K_SELECT DISTINCT ALL EXTEND WINDOW RENAME SelectItem ,
         ::= ( K_SELECT ( 'DISTINCT' | 'ALL' )? | 'EXTEND' | 'WINDOW' | 'RENAME' ) SelectItem ( ',' SelectItem )*
Referenced by:

WherePipeOperator

WHERE Expression
         ::= 'WHERE' Expression
Referenced by:

OrderSuffix

ASC DESC NULLS FIRST LAST
         ::= ( 'ASC' | 'DESC' ) ( 'NULLS' ( 'FIRST' | 'LAST' ) )?
Referenced by:

AggregatePipeOperator

AGGREGATE SelectItem OrderSuffix , GROUP AND ORDER BY SelectItem OrderSuffix ,
         ::= 'AGGREGATE' SelectItem OrderSuffix? ( ',' SelectItem OrderSuffix? )* ( 'GROUP' ( 'AND' 'ORDER' )? 'BY' SelectItem OrderSuffix? ( ',' SelectItem OrderSuffix? )* )?
Referenced by:

OrderByPipeOperator

OrderByElements
         ::= OrderByElements
Referenced by:

AsPipeOperator

AS Alias
         ::= 'AS' Alias
Referenced by:

JoinPipeOperator

JoinerExpression
         ::= JoinerExpression
Referenced by:

SetPipeOperator

SET UpdateSets
         ::= 'SET' UpdateSets
Referenced by:

DropPipeOperator

DROP ColumnList
         ::= 'DROP' ColumnList
Referenced by:

LimitPipeOperator

LIMIT Expression OFFSET Expression
         ::= 'LIMIT' Expression ( 'OFFSET' Expression )?
Referenced by:

SetOperationModifier

ALL DISTINCT BY NAME MATCHING ( RelObjectName , ) STRICT CORRESPONDING ALL DISTINCT BY ALL DISTINCT ( RelObjectName , ) ALL DISTINCT
         ::= ( 'ALL' | 'DISTINCT' )? 'BY' 'NAME' ( 'MATCHING' '(' RelObjectName ( ',' RelObjectName )* ')' )?
           | 'STRICT'? 'CORRESPONDING' ( 'ALL' | 'DISTINCT' )? ( 'BY' ( 'ALL' | 'DISTINCT' )? '(' RelObjectName ( ',' RelObjectName )* ')' )?
           | 'ALL'
           | 'DISTINCT'

SetOperationPipeOperator

UNION INTERSECT EXCEPT SetOperationModifier ParenthesedSelect ,
         ::= ( 'UNION' | 'INTERSECT' | 'EXCEPT' ) SetOperationModifier? ParenthesedSelect ( ',' ParenthesedSelect )*
Referenced by:

CallPipeOperator

CALL TableFunction Alias
         ::= 'CALL' TableFunction Alias?
Referenced by:

TableSamplePipeOperator

TABLESAMPLE SYSTEM ( S_DOUBLE S_LONG PERCENT )
         ::= 'TABLESAMPLE' 'SYSTEM' '(' ( S_DOUBLE | S_LONG ) 'PERCENT' ')'
Referenced by:

PivotPipeOperator

PIVOT ( Function FOR Column IN ( SelectItemsList ) ) Alias
         ::= 'PIVOT' '(' Function 'FOR' Column 'IN' '(' SelectItemsList ')' ')' Alias?
Referenced by:

UnPivotPipeOperator

UNPIVOT ( Column FOR Column IN ( SelectItemsList ) ) Alias
         ::= 'UNPIVOT' '(' Column 'FOR' Column 'IN' '(' SelectItemsList ')' ')' Alias?
Referenced by:

TableStatement

TABLE Table OrderByElements LimitWithOffset Offset
         ::= 'TABLE' Table OrderByElements? LimitWithOffset? Offset?
Referenced by:

ParenthesedSelect

( Select )
         ::= '(' Select ')'

ParenthesedInsert

( Insert )
         ::= '(' Insert ')'
Referenced by:

ParenthesedUpdate

( Update )
         ::= '(' Update ')'
Referenced by:

ParenthesedDelete

( Delete )
         ::= '(' Delete ')'
Referenced by:

LateralView

LATERAL VIEW OUTER Function RelObjectName AS RelObjectName , RelObjectName
         ::= 'LATERAL' 'VIEW' 'OUTER'? Function RelObjectName? 'AS' RelObjectName ( ',' RelObjectName )?
Referenced by:

ForClause

FOR BROWSE XML RAW ( S_CHAR_LITERAL ) AUTO , BINARY BASE64 TYPE ROOT XMLSCHEMA ( S_CHAR_LITERAL ) XMLDATA ELEMENTS XSINIL ABSENT EXPLICIT , BINARY BASE64 TYPE ROOT ( S_CHAR_LITERAL ) XMLDATA PATH ( S_CHAR_LITERAL ) , BINARY BASE64 TYPE ROOT ( S_CHAR_LITERAL ) ELEMENTS XSINIL ABSENT JSON AUTO PATH , ROOT ( S_CHAR_LITERAL ) INCLUDE_NULL_VALUES WITHOUT_ARRAY_WRAPPER
         ::= 'FOR' ( 'BROWSE' | 'XML' ( ( 'RAW' ( '(' S_CHAR_LITERAL ')' )? | 'AUTO' ) ( ',' ( 'BINARY' 'BASE64' | 'TYPE' | ( 'ROOT' | 'XMLSCHEMA' ) ( '(' S_CHAR_LITERAL ')' )? | 'XMLDATA' | 'ELEMENTS' ( 'XSINIL' | 'ABSENT' )? ) )* | 'EXPLICIT' ( ',' ( 'BINARY' 'BASE64' | 'TYPE' | 'ROOT' ( '(' S_CHAR_LITERAL ')' )? | 'XMLDATA' ) )* | 'PATH' ( '(' S_CHAR_LITERAL ')' )? ( ',' ( 'BINARY' 'BASE64' | 'TYPE' | 'ROOT' ( '(' S_CHAR_LITERAL ')' )? | 'ELEMENTS' ( 'XSINIL' | 'ABSENT' )? ) )* ) | 'JSON' ( 'AUTO' | 'PATH' ) ( ',' ( 'ROOT' ( '(' S_CHAR_LITERAL ')' )? | 'INCLUDE_NULL_VALUES' | 'WITHOUT_ARRAY_WRAPPER' ) )* )
Referenced by:

LateralViews

LateralView
         ::= LateralView+
Referenced by:

LateralSubSelect

LATERAL ( Select )
         ::= 'LATERAL' '(' Select ')'
Referenced by:

PlainSelect

K_SELECT STRAIGHT_JOIN Skip First Top ALL DISTINCT ON ( SelectItemsList ) DISTINCTROW UNIQUE SQL_CALC_FOUND_ROWS SQL_NO_CACHE SQL_CACHE AS STRUCT VALUE Top SelectItemsList IntoClause FROM FromItem LateralViews JoinsList FROM ONLY FromItem LateralViews JoinsList FINAL KSQLWindowClause PreWhereClause WhereClause OracleHierarchicalQueryClause PreferringClause PARTITION BY ComplexExpressionList ( ComplexExpressionList ) Having GroupByColumnReferences Having Qualify OrderByElements WINDOW RelObjectName AS windowDefinition , OrderByElements ForClause EMIT CHANGES LimitBy LimitWithOffset Offset LimitWithOffset Fetch WithIsolation FOR NO KEY UPDATE KEY SHARE READ FETCH ONLY OF Table Wait NOWAIT SKIP LOCKED SETTINGS UpdateSets OptimizeFor INTO TEMP Table WITH NO LOG
         ::= K_SELECT 'STRAIGHT_JOIN'? Skip? First? Top? ( 'ALL' | 'DISTINCT' ( 'ON' '(' SelectItemsList ')' )? | 'DISTINCTROW' | 'UNIQUE' | 'SQL_CALC_FOUND_ROWS' | 'SQL_NO_CACHE' | 'SQL_CACHE' )? ( 'AS' ( 'STRUCT' | 'VALUE' ) )? Top? SelectItemsList IntoClause? ( 'FROM' FromItem LateralViews? JoinsList? )? ( 'FROM' 'ONLY' FromItem LateralViews? JoinsList? )? 'FINAL'? KSQLWindowClause? PreWhereClause? WhereClause? OracleHierarchicalQueryClause? ( PreferringClause ( 'PARTITION' 'BY' ( ComplexExpressionList | '(' ComplexExpressionList ')' ) )? )? Having? GroupByColumnReferences? Having? Qualify? OrderByElements? ( 'WINDOW' RelObjectName 'AS' windowDefinition ( ',' RelObjectName 'AS' windowDefinition )* )? OrderByElements? ForClause? ( 'EMIT' 'CHANGES' )? LimitBy? LimitWithOffset? Offset? LimitWithOffset? Fetch? WithIsolation? ( 'FOR' ( ( 'NO' 'KEY' )? 'UPDATE' | 'KEY'? 'SHARE' | ( 'READ' | 'FETCH' ) 'ONLY' ) ( 'OF' Table )? Wait? ( 'NOWAIT' | 'SKIP' 'LOCKED' )? )? ( 'SETTINGS' UpdateSets )? OptimizeFor? ( 'INTO' 'TEMP' Table )? ( 'WITH' 'NO' 'LOG' )?
Referenced by:

SetOperationList

UNION INTERSECT MINUS EXCEPT SetOperationModifier PlainSelect Values ParenthesedSelect OrderByElements LimitWithOffset Offset LimitWithOffset Fetch WithIsolation
         ::= ( ( 'UNION' | 'INTERSECT' | 'MINUS' | 'EXCEPT' ) SetOperationModifier? ( PlainSelect | Values | ParenthesedSelect ) )+ OrderByElements? LimitWithOffset? Offset? LimitWithOffset? Fetch? WithIsolation?
Referenced by:

WithList

WITH WithItem ,
WithList ::= 'WITH' WithItem ( ',' WithItem )*

WithItem

FUNCTION WithFunctionDeclaration RECURSIVE RelObjectName ( SelectItemsList ) AS NOT MATERIALIZED ParenthesedSelect ParenthesedInsert ParenthesedUpdate ParenthesedDelete WithSearchClause
WithItem ::= ( 'FUNCTION' WithFunctionDeclaration | 'RECURSIVE'? RelObjectName ( '(' SelectItemsList ')' )? 'AS' ( 'NOT'? 'MATERIALIZED' )? ( ParenthesedSelect | ParenthesedInsert | ParenthesedUpdate | ParenthesedDelete ) ) WithSearchClause?
Referenced by:

WithSearchClause

SEARCH BREADTH DEPTH FIRST BY Column , SET RelObjectName
         ::= 'SEARCH' ( 'BREADTH' | 'DEPTH' ) 'FIRST' 'BY' Column ( ',' Column )* 'SET' RelObjectName
Referenced by:

WithFunctionDeclaration

RelObjectName ( WithFunctionParameter , ) RETURNS RelObjectName RETURN Expression
         ::= RelObjectName '(' ( WithFunctionParameter ( ',' WithFunctionParameter )* )? ')' 'RETURNS' RelObjectName 'RETURN' Expression
Referenced by:

WithFunctionParameter

RelObjectName ARRAY < RelObjectName > RelObjectName
         ::= RelObjectName ( 'ARRAY' '<' RelObjectName '>' | RelObjectName )
Referenced by:

ColumnSelectItemsList

SelectItem ,
         ::= SelectItem ( ',' SelectItem )*
Referenced by:

SelectItemsList

SelectItem ,
         ::= SelectItem ( ',' SelectItem )*

FunctionAllColumns

( Function ) . *
         ::= '('+ Function ')'+ '.' '*'
Not referenced by any.

SelectItem

ConnectByPriorOperator XorExpression ConcatExpression Expression Alias

AllColumns

* EXCEPT EXCLUDE ParenthesedColumnList REPLACE ( SelectItemsList )
         ::= '*' ( ( 'EXCEPT' | 'EXCLUDE' ) ParenthesedColumnList )? ( 'REPLACE' '(' SelectItemsList ')' )?

AllTableColumns

Table . AllColumns
         ::= Table '.' AllColumns

Alias

AS RelObjectName ( RelObjectName ColDataType , ) AS RelObjectName S_CHAR_LITERAL ( RelObjectName ColDataType , )
           | 'AS'? ( RelObjectName | S_CHAR_LITERAL ) ( '(' RelObjectName ColDataType? ( ',' RelObjectName ColDataType? )* ')' )?

SQLServerHint

INDEX ( RelObjectName ) NOLOCK
         ::= 'INDEX' '(' RelObjectName ')'
           | 'NOLOCK'
Referenced by:

SQLServerHints

WITH ( SQLServerHint , )
         ::= 'WITH' '(' SQLServerHint ( ',' SQLServerHint )* ')'
Referenced by:

MySQLIndexHint

USE SHOW IGNORE FORCE INDEX KEY ( RelObjectName , )
         ::= ( 'USE' | 'SHOW' | 'IGNORE' | 'FORCE' ) ( 'INDEX' | 'KEY' ) '(' RelObjectName ( ',' RelObjectName )* ')'

FunctionItem

Function Alias
         ::= Function Alias?
Referenced by:

PivotForColumns

ParenthesedColumnList Column
         ::= ParenthesedColumnList
           | Column
Referenced by:

PivotFunctionItems

FunctionItem ,
         ::= FunctionItem ( ',' FunctionItem )*
Referenced by:

ExpressionListItem

ParenthesedExpressionList Alias
         ::= ParenthesedExpressionList Alias?
Referenced by:

PivotMultiInItems

ExpressionListItem ,
         ::= ExpressionListItem ( ',' ExpressionListItem )*
Referenced by:

Pivot

PIVOT ( PivotFunctionItems FOR PivotForColumns IN ( SelectItemsList PivotMultiInItems ) ) Alias
Pivot    ::= 'PIVOT' '(' PivotFunctionItems 'FOR' PivotForColumns 'IN' '(' ( SelectItemsList | PivotMultiInItems ) ')' ')' Alias?
Referenced by:

PivotXml

PIVOT XML ( PivotFunctionItems FOR PivotForColumns IN ( ANY Select SelectItemsList PivotMultiInItems ) )
PivotXml ::= 'PIVOT' 'XML' '(' PivotFunctionItems 'FOR' PivotForColumns 'IN' '(' ( 'ANY' | Select | SelectItemsList | PivotMultiInItems ) ')' ')'
Referenced by:

UnPivot

UNPIVOT INCLUDE EXCLUDE NULLS ( PivotForColumns FOR PivotForColumns IN ( SelectItemsList ) ) Alias
UnPivot  ::= 'UNPIVOT' ( ( 'INCLUDE' | 'EXCLUDE' ) 'NULLS' )? '(' PivotForColumns 'FOR' PivotForColumns 'IN' '(' SelectItemsList ')' ')' Alias?
Referenced by:

IntoClause

INTO Table ,
         ::= 'INTO' Table ( ',' Table )*
Referenced by:

ParenthesedFromItem

( FromItem JoinsList )
         ::= '(' FromItem JoinsList? ')'
Referenced by:

FromItem

Values TableFunction Table ParenthesedFromItem ParenthesedSelect Pivot UnPivot LateralSubSelect SubImport Select Alias TimeTravelAfterAlias SampleClause UnPivot PivotXml Pivot MySQLIndexHint SQLServerHints

JoinsList

JoinerExpression
         ::= JoinerExpression+

JoinHint

LOOP HASH MERGE REMOTE
JoinHint ::= 'LOOP'
           | 'HASH'
           | 'MERGE'
           | 'REMOTE'
Referenced by:

JoinerExpression

GLOBAL ANY ALL NATURAL LEFT SEMI OUTER ANY ALL RIGHT FULL OUTER ANY ALL INNER CROSS OUTER JoinHint JOIN FETCH , OUTER STRAIGHT_JOIN APPLY FromItem WITHIN ( JoinWindow ) ON Expression USING ( Column , )
         ::= 'GLOBAL'? ( 'ANY' | 'ALL' )? 'NATURAL'? ( 'LEFT' ( 'SEMI' | 'OUTER' | 'ANY' | 'ALL' )? | ( 'RIGHT' | 'FULL' ) ( 'OUTER' | 'ANY' | 'ALL' )? | 'INNER' | 'CROSS' | 'OUTER' )? ( JoinHint? 'JOIN' 'FETCH'? | ',' 'OUTER'? | 'STRAIGHT_JOIN' | 'APPLY' ) FromItem ( ( 'WITHIN' '(' JoinWindow ')' )? ( 'ON' Expression )+ | 'USING' '(' Column ( ',' Column )* ')' )?

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:

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:

WhereClause

WHERE Expression
         ::= 'WHERE' Expression

PreWhereClause

PREWHERE Expression
         ::= 'PREWHERE' Expression
Referenced by:

OracleHierarchicalQueryClause

START WITH XorExpression CONNECT BY NOCYCLE CONNECT BY NOCYCLE XorExpression START WITH XorExpression
         ::= ( 'START' 'WITH' XorExpression 'CONNECT' 'BY' 'NOCYCLE'? | 'CONNECT' 'BY' 'NOCYCLE'? ( XorExpression 'START' 'WITH' )? ) XorExpression
Referenced by:

PreferringClause

PREFERRING PreferenceTerm
         ::= 'PREFERRING' PreferenceTerm
Referenced by:

PreferenceTerm

Plus
         ::= Plus

Plus

PriorTo PLUS
Plus     ::= PriorTo ( 'PLUS' PriorTo )*
Referenced by:

PriorTo

PreferenceTermTerminal ( PreferenceTerm ) TO PRIOR
PriorTo  ::= ( PreferenceTermTerminal | '(' PreferenceTerm ')' ) ( 'PRIOR' 'TO' ( PreferenceTermTerminal | '(' PreferenceTerm ')' ) )*
Referenced by:

PreferenceTermTerminal

HighExpression LowExpression Inverse Condition
         ::= HighExpression
           | LowExpression
           | Inverse
           | Condition
Referenced by:

HighExpression

HIGH Expression
         ::= 'HIGH' Expression
Referenced by:

LowExpression

LOW Expression
         ::= 'LOW' Expression
Referenced by:

Inverse

INVERSE ( PreferenceTerm )
Inverse  ::= 'INVERSE' '(' PreferenceTerm ')'
Referenced by:

GroupByColumnReferences

GROUP BY GROUPING SETS ( GroupingSet , ) ExpressionList GROUPING SETS ( GroupingSet , ) WITH ROLLUP
         ::= 'GROUP' 'BY' ( 'GROUPING' 'SETS' '(' GroupingSet ( ',' GroupingSet )* ')' | ExpressionList ( 'GROUPING' 'SETS' '(' GroupingSet ( ',' GroupingSet )* ')' )? ( 'WITH' 'ROLLUP' )? )
Referenced by:

GroupingSet

ParenthesedExpressionList SimpleExpression
         ::= ParenthesedExpressionList
           | SimpleExpression
Referenced by:

Having

HAVING Expression
Having   ::= 'HAVING' Expression
Referenced by:

Qualify

QUALIFY Expression
Qualify  ::= 'QUALIFY' Expression
Referenced by:

OrderByElements

ORDER SIBLINGS BY OrderByElement ,
         ::= 'ORDER' 'SIBLINGS'? 'BY' OrderByElement ( ',' OrderByElement )*

OrderByElement

Expression COLLATE S_CHAR_LITERAL S_QUOTED_IDENTIFIER ASC DESC NULLS FIRST LAST WITH ROLLUP
         ::= Expression ( 'COLLATE' ( S_CHAR_LITERAL | S_QUOTED_IDENTIFIER ) )? ( 'ASC' | 'DESC' )? ( 'NULLS' ( 'FIRST' | 'LAST' )? )? ( 'WITH' 'ROLLUP' )?
Referenced by:

JdbcParameter

? S_PARAMETER S_LONG
         ::= ( '?' | S_PARAMETER ) S_LONG?

LimitWithOffset

LIMIT ParenthesedSelect Expression , Expression
         ::= 'LIMIT' ( ParenthesedSelect | Expression ) ( ',' Expression )?

PlainLimit

LIMIT ParenthesedSelect Expression
         ::= 'LIMIT' ( ParenthesedSelect | Expression )

LimitBy

LimitWithOffset BY ExpressionList
Referenced by:

Offset

OFFSET Expression ROWS ROW
Offset   ::= 'OFFSET' Expression ( 'ROWS' | 'ROW' )?

Fetch

FETCH FIRST NEXT Expression PERCENT ROWS ROW ONLY WITH TIES
Fetch    ::= 'FETCH' ( 'FIRST' | 'NEXT' ) ( Expression 'PERCENT'? )? ( 'ROWS' | 'ROW' ) ( 'ONLY' | 'WITH TIES' )

WithIsolation

WITH K_ISOLATION
         ::= 'WITH' K_ISOLATION

OptimizeFor

OPTIMIZE FOR S_LONG ROWS
         ::= 'OPTIMIZE' 'FOR' S_LONG 'ROWS'
Referenced by:

Top

TOP S_LONG JdbcParameter : S_IDENTIFIER ( AdditiveExpression ) PERCENT WITH TIES
Top      ::= 'TOP' ( S_LONG | JdbcParameter | ':' S_IDENTIFIER? | '(' AdditiveExpression ')' ) 'PERCENT'? 'WITH TIES'?
Referenced by:

Skip

SKIP S_LONG S_IDENTIFIER JdbcParameter
Skip     ::= 'SKIP' ( S_LONG | S_IDENTIFIER | JdbcParameter )
Referenced by:

First

FIRST LIMIT S_LONG S_IDENTIFIER JdbcParameter
First    ::= ( 'FIRST' | 'LIMIT' ) ( S_LONG | S_IDENTIFIER | JdbcParameter )
Referenced by:

Expression

XorExpression
         ::= XorExpression

XorExpression

OrExpression XOR
         ::= OrExpression ( 'XOR' OrExpression )*

OrExpression

AndExpression OR
         ::= AndExpression ( 'OR' AndExpression )*
Referenced by:

AndExpression

Condition NOT ! ( XorExpression ) AND &&
         ::= ( Condition | ( 'NOT' | '!' )? '(' XorExpression ')' ) ( ( 'AND' | '&&' ) ( Condition | ( 'NOT' | '!' )? '(' XorExpression ')' ) )*
Referenced by:

Condition

NOT ! ExistsExpression PRIOR SimpleExpression ( + ) RegularConditionRHS OverlapsCondition InExpression ExcludesExpression IncludesExpression Between MemberOfExpression IsNullExpression IsBooleanExpression IsUnknownExpression LikeExpression IsDistinctExpression SimilarToExpression

RegularConditionRHS

( + ) > < = OP_GREATERTHANEQUALS OP_MINORTHANEQUALS OP_NOTEQUALSSTANDARD OP_NOTEQUALSBANG OP_NOTEQUALSHAT *= =* && &> <& @@ ~ ~* !~ !~* @> <@ ? ?| ?& OP_CONCAT - -# <-> <#> <=> PRIOR ComparisonItem ( + )
         ::= ( '(' '+' ')' )? ( '>' | '<' | '=' | OP_GREATERTHANEQUALS | OP_MINORTHANEQUALS | OP_NOTEQUALSSTANDARD | OP_NOTEQUALSBANG | OP_NOTEQUALSHAT | '*=' | '=*' | '&&' | '&>' | '<&' | '@@' | '~' | '~*' | '!~' | '!~*' | '@>' | '<@' | '?' | '?|' | '?&' | OP_CONCAT | '-' | '-#' | '<->' | '<#>' | '<=>' ) 'PRIOR'? ComparisonItem ( '(' '+' ')' )?
Referenced by:

OverlapsCondition

OVERLAPS ParenthesedExpressionList
         ::= 'OVERLAPS' ParenthesedExpressionList
Referenced by:

SQLCondition

ExistsExpression SimpleExpression OverlapsCondition InExpression ExcludesExpression IncludesExpression Between MemberOfExpression IsNullExpression IsBooleanExpression IsUnknownExpression LikeExpression IsDistinctExpression SimilarToExpression
         ::= ExistsExpression
Not referenced by any.

InExpression

( + ) GLOBAL NOT IN S_CHAR_LITERAL PrimaryExpression
         ::= ( '(' '+' ')' )? 'GLOBAL'? 'NOT'? 'IN' ( S_CHAR_LITERAL | PrimaryExpression )
Referenced by:

IncludesExpression

INCLUDES ParenthesedExpressionList
         ::= 'INCLUDES' ParenthesedExpressionList
Referenced by:

ExcludesExpression

EXCLUDES ParenthesedExpressionList
         ::= 'EXCLUDES' ParenthesedExpressionList
Referenced by:

Between

NOT BETWEEN SYMMETRIC ASYMMETRIC ParenthesedSelect SimpleExpression RegularConditionRHS AND ParenthesedSelect SimpleExpression RegularConditionRHS
Between  ::= 'NOT'? 'BETWEEN' ( 'SYMMETRIC' | 'ASYMMETRIC' )? ( ParenthesedSelect | SimpleExpression RegularConditionRHS? ) 'AND' ( ParenthesedSelect | SimpleExpression RegularConditionRHS? )
Referenced by:

LikeExpression

NOT LIKE ILIKE RLIKE REGEXP_LIKE REGEXP K_SIMILAR_TO MATCH_ANY MATCH_ALL MATCH_PHRASE MATCH_PHRASE_PREFIX MATCH_REGEXP BINARY SimpleExpression ESCAPE S_CHAR_LITERAL Expression
         ::= 'NOT'? ( 'LIKE' | 'ILIKE' | 'RLIKE' | 'REGEXP_LIKE' | 'REGEXP' | K_SIMILAR_TO | 'MATCH_ANY' | 'MATCH_ALL' | 'MATCH_PHRASE' | 'MATCH_PHRASE_PREFIX' | 'MATCH_REGEXP' ) 'BINARY'? SimpleExpression ( 'ESCAPE' ( S_CHAR_LITERAL | Expression ) )?
Referenced by:

SimilarToExpression

NOT SIMILAR TO SimpleExpression ESCAPE S_CHAR_LITERAL
         ::= 'NOT'? 'SIMILAR' 'TO' SimpleExpression ( 'ESCAPE' S_CHAR_LITERAL )?
Referenced by:

IsDistinctExpression

IS NOT DISTINCT FROM SimpleExpression
         ::= 'IS' 'NOT'? 'DISTINCT' 'FROM' SimpleExpression
Referenced by:

IsNullExpression

NOT ISNULL NOTNULL IS NOT NULL
         ::= 'NOT'? 'ISNULL'
           | 'NOTNULL'
           | 'IS' 'NOT'? 'NULL'
Referenced by:

IsBooleanExpression

IS NOT TRUE FALSE
         ::= 'IS' 'NOT'? ( 'TRUE' | 'FALSE' )
Referenced by:

IsUnknownExpression

IS NOT UNKNOWN
         ::= 'IS' 'NOT'? 'UNKNOWN'
Referenced by:

ExistsExpression

EXISTS SimpleExpression
         ::= 'EXISTS' SimpleExpression
Referenced by:

MemberOfExpression

MEMBER OF Expression
         ::= 'MEMBER' 'OF' Expression
Referenced by:

ExpressionList

ComplexExpressionList SimpleExpressionList ParenthesedExpressionList
         ::= ComplexExpressionList
           | SimpleExpressionList
           | ParenthesedExpressionList

ParenthesedExpressionList

( ComplexExpressionList SimpleExpressionList )
         ::= '(' ( ComplexExpressionList | SimpleExpressionList )? ')'

SimpleExpressionList

SimpleExpression , LambdaExpression SimpleExpression
         ::= SimpleExpression ( ',' ( LambdaExpression | SimpleExpression ) )*

ColumnList

Column ,
         ::= Column ( ',' Column )*

ParenthesedColumnList

( ColumnList )
         ::= '(' ColumnList ')'

ComplexExpressionList

OracleNamedFunctionParameter PostgresNamedFunctionParameter Expression , OracleNamedFunctionParameter PostgresNamedFunctionParameter LambdaExpression Expression

NamedExpressionListExprFirst

SimpleExpression FROM IN PLACING SimpleExpression FOR FROM SimpleExpression FOR SimpleExpression
         ::= SimpleExpression ( 'FROM' | 'IN' | 'PLACING' ) SimpleExpression ( ( 'FOR' | 'FROM' ) SimpleExpression ( 'FOR' SimpleExpression )? )?

ComparisonItem

AnyComparisonExpression SimpleExpression ParenthesedExpressionList RowConstructor PrimaryExpression
         ::= AnyComparisonExpression
           | SimpleExpression
           | ParenthesedExpressionList
           | RowConstructor
           | PrimaryExpression
Referenced by:

AnyComparisonExpression

ANY SOME ALL ParenthesedSelect
         ::= ( 'ANY' | 'SOME' | 'ALL' ) ParenthesedSelect
Referenced by:

SimpleExpression

UserVariable = := ConcatExpression
         ::= ( UserVariable ( '=' | ':=' ) )? ConcatExpression

ConcatExpression

BitwiseAndOr OP_CONCAT
         ::= BitwiseAndOr ( OP_CONCAT BitwiseAndOr )*

BitwiseAndOr

AdditiveExpression | & << >>
         ::= AdditiveExpression ( ( '|' | '&' | '<<' | '>>' ) AdditiveExpression )*
Referenced by:

AdditiveExpression

MultiplicativeExpression + -
         ::= MultiplicativeExpression ( ( '+' | '-' ) MultiplicativeExpression )*
Referenced by:

MultiplicativeExpression

BitwiseXor * / DIV %
         ::= BitwiseXor ( ( '*' | '/' | 'DIV' | '%' ) BitwiseXor )*
Referenced by:

BitwiseXor

PrimaryExpression ^
         ::= PrimaryExpression ( '^' PrimaryExpression )*
Referenced by:

ArrayExpression

[ SimpleExpression : SimpleExpression ]
         ::= ( '[' SimpleExpression? ( ':' SimpleExpression? )? ']' )+
Referenced by:

PrimaryExpression

NOT ! + - ~ NULL CaseWhenExpression CharacterPrimary ImplicitCast JdbcParameter JdbcNamedParameter UserVariable NumericBind ExtractExpression XMLSerializeExpr JsonFunction JsonAggregateFunction FullTextSearch CastExpression Function AnalyticExpression DateUnitExpression IntervalExpression S_DOUBLE S_LONG S_HEX AllColumns AllTableColumns K_TIME_KEY_EXPR CURRENT DateTimeLiteralExpression StructType ARRAY < ColDataType > ArrayConstructor NextValExpression ConnectByRootOperator ConnectByPriorOperator ALL Column ( + ) TRUE FALSE S_CHAR_LITERAL {d {t {ts S_CHAR_LITERAL } Select ParenthesedSelect ParenthesedExpressionList -> Expression . RelObjectName COLLATE S_CHAR_LITERAL S_QUOTED_IDENTIFIER S_IDENTIFIER IntervalExpressionWithoutInterval ArrayExpression :: ColDataType -> : ->> #> #>> Expression SimpleExpression JsonExpression AT K_DATETIMELITERAL ZONE PrimaryExpression
         ::= ( 'NOT' | '!' )? ( '+' | '-' | '~' )? ( 'NULL' | CaseWhenExpression | CharacterPrimary | ImplicitCast | JdbcParameter | JdbcNamedParameter | UserVariable | NumericBind | ExtractExpression | XMLSerializeExpr | JsonFunction | JsonAggregateFunction | FullTextSearch | CastExpression | Function AnalyticExpression? | DateUnitExpression | IntervalExpression | S_DOUBLE | S_LONG | S_HEX | AllColumns | AllTableColumns | K_TIME_KEY_EXPR | 'CURRENT' | DateTimeLiteralExpression | StructType | ( 'ARRAY' ( '<' ColDataType '>' )? )? ArrayConstructor | NextValExpression | ConnectByRootOperator | ConnectByPriorOperator | 'ALL' | Column ( '(' '+' ')' )? | 'TRUE' | 'FALSE' | S_CHAR_LITERAL | ( '{d' | '{t' | '{ts' ) S_CHAR_LITERAL '}' | Select | ParenthesedSelect | ParenthesedExpressionList ( '->' Expression )? ( '.' RelObjectName )* ) ( 'COLLATE' ( S_CHAR_LITERAL | S_QUOTED_IDENTIFIER | S_IDENTIFIER ) )? IntervalExpressionWithoutInterval? ArrayExpression? ( '::' ColDataType )* ( ( ( '->' | ':' | '->>' | '#>' | '#>>' ) ( Expression | SimpleExpression ) )+ JsonExpression )? ( 'AT' K_DATETIMELITERAL 'ZONE' PrimaryExpression )*

ConnectByRootOperator

CONNECT_BY_ROOT Expression
         ::= 'CONNECT_BY_ROOT' Expression
Referenced by:

ConnectByPriorOperator

PRIOR Expression
         ::= 'PRIOR' Expression

NextValExpression

K_NEXTVAL RelObjectNames
         ::= K_NEXTVAL RelObjectNames
Referenced by:

JdbcNamedParameter

: & IdentifierChain
         ::= ( ':' | '&' ) IdentifierChain

OracleNamedFunctionParameter

RelObjectNameExt OUTER => Expression
         ::= ( RelObjectNameExt | 'OUTER' ) '=>' Expression
Referenced by:

PostgresNamedFunctionParameter

RelObjectNameExt OUTER := Expression
         ::= ( RelObjectNameExt | 'OUTER' ) ':=' Expression
Referenced by:

UserVariable

S_AT_IDENTIFIER IdentifierChain2
         ::= S_AT_IDENTIFIER IdentifierChain2

NumericBind

: S_LONG
         ::= ':' S_LONG
Referenced by:

DateTimeLiteralExpression

K_DATETIMELITERAL S_CHAR_LITERAL S_QUOTED_IDENTIFIER
Referenced by:

DateUnitExpression

K_DATE_LITERAL
         ::= K_DATE_LITERAL
Referenced by:

RangeExpression

: Expression
         ::= ':' Expression
Referenced by:

ArrayConstructor

[ Expression RangeExpression ArrayConstructor , ]
         ::= '[' ( ( Expression RangeExpression? | ArrayConstructor ) ( ',' ( Expression RangeExpression? | ArrayConstructor ) )* )? ']'

StructParameters

RelObjectName ColDataType ,
         ::= RelObjectName? ColDataType ( ',' RelObjectName? ColDataType )*
Referenced by:

StructType

STRUCT < StructParameters > ( SelectItemsList ) { RelObjectNameExt S_CHAR_LITERAL : Expression , } :: STRUCT ( StructParameters )
         ::= 'STRUCT' ( '<' StructParameters '>' )? '(' SelectItemsList ')'
           | '{' ( RelObjectNameExt | S_CHAR_LITERAL ) ':' Expression ( ',' ( RelObjectNameExt | S_CHAR_LITERAL ) ':' Expression )* '}' ( '::' 'STRUCT' '(' StructParameters ')' )*
Referenced by:

JsonExpression

:: ColDataType -> : ->> #> #>> Expression SimpleExpression
         ::= ( ( '::' ColDataType )+ ( ( '->' | ':' | '->>' | '#>' | '#>>' ) ( Expression | SimpleExpression ) )* )*
Referenced by:

JsonKeyValuePair

KEY S_CHAR_LITERAL Column AllTableColumns AllColumns Expression VALUE : , Expression FORMAT JSON ENCODING JsonEncoding
         ::= ( 'KEY'? ( S_CHAR_LITERAL | Column ) | AllTableColumns | AllColumns | Expression ) ( ( 'VALUE' | ':' | ',' ) Expression )? ( 'FORMAT' 'JSON' ( 'ENCODING' JsonEncoding )? )?
Referenced by:

JsonObjectBody

( JsonKeyValuePair , NULL ABSENT ON NULL STRICT WITH WITHOUT UNIQUE KEYS RETURNING ColDataType FORMAT JSON ENCODING JsonEncoding )
         ::= '(' ( JsonKeyValuePair ( ',' JsonKeyValuePair )* )? ( ( 'NULL' | 'ABSENT' ) 'ON' 'NULL' )? 'STRICT'? ( ( 'WITH' | 'WITHOUT' ) 'UNIQUE' 'KEYS' )? ( 'RETURNING' ColDataType ( 'FORMAT' 'JSON' ( 'ENCODING' JsonEncoding )? )? )? ')'
Referenced by:

JsonArrayBody

( NULL ON NULL Expression FORMAT JSON ENCODING JsonEncoding , ABSENT ON NULL RETURNING ColDataType FORMAT JSON ENCODING JsonEncoding )
         ::= '(' ( 'NULL' 'ON' 'NULL' | Expression ( 'FORMAT' 'JSON' ( 'ENCODING' JsonEncoding )? )? ( ',' Expression ( 'FORMAT' 'JSON' ( 'ENCODING' JsonEncoding )? )? )* )* ( 'ABSENT' 'ON' 'NULL' )? ( 'RETURNING' ColDataType ( 'FORMAT' 'JSON' ( 'ENCODING' JsonEncoding )? )? )? ')'
Referenced by:

JsonKeyword

S_IDENTIFIER
         ::= S_IDENTIFIER

JsonEncoding

S_IDENTIFIER
         ::= S_IDENTIFIER

JsonValueOrQueryInputExpression

Expression FORMAT JSON ENCODING JsonEncoding
         ::= Expression ( 'FORMAT' 'JSON' ( 'ENCODING' JsonEncoding )? )?

JsonValueOnResponseBehavior

ERROR NULL DEFAULT Expression
         ::= 'ERROR'
           | 'NULL'
           | 'DEFAULT' Expression

JsonQueryOnResponseBehavior

ERROR NULL S_IDENTIFIER ARRAY JsonKeyword
         ::= 'ERROR'
           | 'NULL'
           | S_IDENTIFIER ( 'ARRAY' | JsonKeyword )
Referenced by:

JsonExistsOnResponseBehavior

TRUE FALSE UNKNOWN ERROR
         ::= 'TRUE'
           | 'FALSE'
           | 'UNKNOWN'
           | 'ERROR'
Referenced by:

JsonExistsBody

( JsonValueOrQueryInputExpression , Expression JsonKeyword Expression , JsonExistsOnResponseBehavior ON ERROR )
         ::= '(' JsonValueOrQueryInputExpression ',' Expression ( JsonKeyword Expression ( ',' Expression )* )? ( JsonExistsOnResponseBehavior 'ON' 'ERROR' )? ')'
Referenced by:

JsonValueBody

( JsonValueOrQueryInputExpression , Expression JsonKeyword Expression , RETURNING ColDataType JsonValueOnResponseBehavior ON JsonKeyword JsonValueOnResponseBehavior ON ERROR )
         ::= '(' JsonValueOrQueryInputExpression ',' Expression ( JsonKeyword Expression ( ',' Expression )* )? ( 'RETURNING' ColDataType )? ( JsonValueOnResponseBehavior 'ON' JsonKeyword )? ( JsonValueOnResponseBehavior 'ON' 'ERROR' )? ')'
Referenced by:

JsonQueryBody

( JsonValueOrQueryInputExpression , Expression JsonKeyword Expression , RETURNING ColDataType FORMAT JSON ENCODING JsonEncoding WITHOUT WITH S_IDENTIFIER ARRAY JsonKeyword KEEP JsonKeyword JsonKeyword ON JsonKeyword STRING JsonQueryOnResponseBehavior ON JsonKeyword JsonQueryOnResponseBehavior ON ERROR Expression , )
         ::= '(' JsonValueOrQueryInputExpression ',' Expression ( JsonKeyword Expression ( ',' Expression )* )? ( 'RETURNING' ColDataType ( 'FORMAT' 'JSON' ( 'ENCODING' JsonEncoding )? )? )? ( ( 'WITHOUT' | 'WITH' S_IDENTIFIER? ) 'ARRAY'? JsonKeyword )? ( ( 'KEEP' | JsonKeyword ) JsonKeyword ( 'ON' JsonKeyword 'STRING' )? )? ( JsonQueryOnResponseBehavior 'ON' JsonKeyword )? ( JsonQueryOnResponseBehavior 'ON' 'ERROR' )? ( ',' Expression ( 'RETURNING' ColDataType ( 'FORMAT' 'JSON' ( 'ENCODING' JsonEncoding )? )? )? ( ( 'WITHOUT' | 'WITH' S_IDENTIFIER? ) 'ARRAY'? JsonKeyword )? ( ( 'KEEP' | JsonKeyword ) JsonKeyword ( 'ON' JsonKeyword 'STRING' )? )? ( JsonQueryOnResponseBehavior 'ON' JsonKeyword )? ( JsonQueryOnResponseBehavior 'ON' 'ERROR' )? )* ')'
Referenced by:

JsonFunction

JSON_OBJECT JsonObjectBody JSON_ARRAY JsonArrayBody JsonKeyword JsonValueBody JsonQueryBody JsonExistsBody
         ::= 'JSON_OBJECT' JsonObjectBody
           | 'JSON_ARRAY' JsonArrayBody
           | JsonKeyword ( JsonValueBody | JsonQueryBody | JsonExistsBody )
Referenced by:

JsonAggregateFunction

JSON_OBJECTAGG ( KEY DT_ZONE S_DOUBLE S_LONG S_HEX S_CHAR_LITERAL Column : , VALUE Expression 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 | Column ) ( ':' | ',' | 'VALUE' ) Expression ( '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:

IntervalExpression

INTERVAL - S_LONG S_DOUBLE S_CHAR_LITERAL Expression S_IDENTIFIER K_DATE_LITERAL
         ::= 'INTERVAL' ( '-'? ( S_LONG | S_DOUBLE ) | S_CHAR_LITERAL | Expression ) ( S_IDENTIFIER | K_DATE_LITERAL )?
Referenced by:

IntervalExpressionWithoutInterval

K_DATE_LITERAL
         ::= K_DATE_LITERAL
Referenced by:

KeepExpression

KEEP ( S_IDENTIFIER FIRST LAST OrderByElements )
         ::= 'KEEP' '(' S_IDENTIFIER ( 'FIRST' | 'LAST' ) OrderByElements ')'
Referenced by:

windowFun

OVER WITHIN GROUP RelObjectName windowDefinition OVER ( PARTITION BY ComplexExpressionList ( ComplexExpressionList ) )
         ::= ( 'OVER' | 'WITHIN' 'GROUP' ) ( RelObjectName | windowDefinition ( 'OVER' '(' ( 'PARTITION' 'BY' ( ComplexExpressionList | '(' ComplexExpressionList ')' ) )? ')' )? )
Referenced by:

windowDefinition

( PARTITION BY ComplexExpressionList ( ComplexExpressionList ) OrderByElements WindowElement )
         ::= '(' ( 'PARTITION' 'BY' ( ComplexExpressionList | '(' ComplexExpressionList ')' ) )? OrderByElements? WindowElement? ')'
Referenced by:

AnalyticExpression

FILTER ( WHERE Expression ) windowFun windowFun
         ::= 'FILTER' '(' 'WHERE' Expression ')' windowFun?
           | windowFun
Referenced by:

WindowElement

ROWS RANGE BETWEEN WindowOffset AND WindowOffset
         ::= ( 'ROWS' | 'RANGE' ) ( 'BETWEEN' WindowOffset 'AND' )? WindowOffset

WindowOffset

UNBOUNDED SimpleExpression PRECEDING FOLLOWING CURRENT ROW
         ::= ( 'UNBOUNDED' | SimpleExpression ) ( 'PRECEDING' | 'FOLLOWING' )
           | 'CURRENT' 'ROW'
Referenced by:

ExtractExpression

EXTRACT ( RelObjectName S_CHAR_LITERAL FROM SimpleExpression )
         ::= 'EXTRACT' '(' ( RelObjectName | S_CHAR_LITERAL ) 'FROM' SimpleExpression ')'
Referenced by:

ImplicitCast

DataType S_CHAR_LITERAL S_LONG S_DOUBLE
         ::= DataType ( S_CHAR_LITERAL | S_LONG | S_DOUBLE )
Referenced by:

CastExpression

CAST SAFE_CAST TRY_CAST INTERPRET ( SimpleExpression AS ROW ( ColumnDefinition , ) ColDataType FORMAT S_CHAR_LITERAL )
         ::= ( 'CAST' | 'SAFE_CAST' | 'TRY_CAST' | 'INTERPRET' ) '(' SimpleExpression 'AS' ( 'ROW' '(' ColumnDefinition ( ',' ColumnDefinition )* ')' | ColDataType ) ( 'FORMAT' S_CHAR_LITERAL )? ')'
Referenced by:

CaseWhenExpression

CASE Expression WhenThenSearchCondition ELSE Expression SimpleExpression END
         ::= 'CASE' Expression? WhenThenSearchCondition+ ( 'ELSE' ( Expression | SimpleExpression ) )? 'END'
Referenced by:

WhenThenSearchCondition

WHEN Expression THEN Expression SimpleExpression
         ::= 'WHEN' Expression 'THEN' ( Expression | SimpleExpression )
Referenced by:

RowConstructor

ROW ParenthesedExpressionList
         ::= 'ROW' ParenthesedExpressionList
Referenced by:

VariableExpression

UserVariable = SimpleExpression
         ::= UserVariable '=' SimpleExpression
Not referenced by any.

Execute

EXEC EXECUTE CALL RelObjectNames ExpressionList
Execute  ::= ( 'EXEC' | 'EXECUTE' | 'CALL' ) RelObjectNames ExpressionList?
Referenced by:

FullTextSearch

MATCH ( ColumnList ) AGAINST ( S_CHAR_LITERAL JdbcParameter JdbcNamedParameter IN NATURAL LANGUAGE MODE IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION IN BOOLEAN MODE WITH QUERY EXPANSION )
         ::= 'MATCH' '(' ColumnList ')' 'AGAINST' '(' ( S_CHAR_LITERAL | JdbcParameter | JdbcNamedParameter ) ( 'IN NATURAL LANGUAGE MODE' | 'IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION' | 'IN BOOLEAN MODE' | 'WITH QUERY EXPANSION' )? ')'
Referenced by:

LambdaExpression

ParenthesedColumnList RelObjectName -> Expression
         ::= ( ParenthesedColumnList | RelObjectName ) '->' Expression

Function

{ FN InternalFunction } SpecialStringFunctionWithNamedParameters InternalFunction
Function ::= '{' 'FN' InternalFunction '}'
           | InternalFunction

SpecialStringFunctionWithNamedParameters

K_STRING_FUNCTION_NAME ( NamedExpressionListExprFirst ExpressionList )
Referenced by:

InternalFunction

APPROXIMATE RelObjectNames ( DISTINCT ALL UNIQUE TABLE ExpressionList OrderByElements ON OVERFLOW TRUNCATE ERROR S_CHAR_LITERAL WITH WITHOUT COUNT Select HAVING MIN MAX Expression IGNORE RESPECT NULLS PlainLimit ) ( ExpressionList ) . Function Column IGNORE RESPECT NULLS KeepExpression
         ::= 'APPROXIMATE'? RelObjectNames '(' ( ( 'DISTINCT' | 'ALL' | 'UNIQUE' )? ( 'TABLE'? ExpressionList OrderByElements? ( 'ON' 'OVERFLOW' ( 'TRUNCATE' | 'ERROR' ) ( S_CHAR_LITERAL ( ( 'WITH' | 'WITHOUT' ) 'COUNT' )? )? )? | Select ) )? ( 'HAVING' ( 'MIN' | 'MAX' ) Expression )? ( ( 'IGNORE' | 'RESPECT' ) 'NULLS' )? PlainLimit? ')' ( '(' ExpressionList ')' )? ( '.' ( Function | Column ) )? ( ( 'IGNORE' | 'RESPECT' ) 'NULLS' )? KeepExpression?
Referenced by:

XMLSerializeExpr

XMLSERIALIZE ( XMLAGG ( XMLTEXT ( SimpleExpression ) OrderByElements ) AS ColDataType )
         ::= 'XMLSERIALIZE' '(' 'XMLAGG' '(' 'XMLTEXT' '(' SimpleExpression ')' OrderByElements? ')' 'AS' ColDataType ')'
Referenced by:

JsonTablePassingClause

Expression AS RelObjectName
         ::= Expression 'AS' RelObjectName
Referenced by:

JsonTableOnEmptyBehavior

ERROR NULL DEFAULT Expression S_IDENTIFIER JsonKeyword ARRAY
         ::= 'ERROR'
           | 'NULL'
           | 'DEFAULT' Expression
           | S_IDENTIFIER ( JsonKeyword | 'ARRAY' )?

JsonTableWrapperClause

WITHOUT WITH S_IDENTIFIER ARRAY JsonKeyword
         ::= ( 'WITHOUT' | 'WITH' S_IDENTIFIER? ) 'ARRAY'? JsonKeyword

JsonTableQuotesClause

KEEP JsonKeyword JsonKeyword ON JsonKeyword STRING
         ::= ( 'KEEP' | JsonKeyword ) JsonKeyword ( 'ON' JsonKeyword 'STRING' )?

JsonTableColumnDefinition

JsonKeyword PATH Expression AS RelObjectName JsonTableColumnsClause RelObjectName FOR JsonKeyword ColDataType FORMAT JSON ENCODING JsonEncoding PATH Expression JsonTableWrapperClause JsonTableQuotesClause JsonTableOnEmptyBehavior ON JsonKeyword JsonValueOnResponseBehavior ON ERROR
         ::= JsonKeyword 'PATH'? Expression ( 'AS' RelObjectName )? JsonTableColumnsClause
           | RelObjectName ( 'FOR' JsonKeyword | ColDataType ( 'FORMAT' 'JSON' ( 'ENCODING' JsonEncoding )? )? ( 'PATH' Expression )? JsonTableWrapperClause? JsonTableQuotesClause? ( JsonTableOnEmptyBehavior 'ON' JsonKeyword )? ( JsonValueOnResponseBehavior 'ON' 'ERROR' )? )
Referenced by:

JsonTableColumnsClause

COLUMNS ( JsonTableColumnDefinition , )
         ::= 'COLUMNS' '(' ( JsonTableColumnDefinition ( ',' JsonTableColumnDefinition )* )? ')'

JsonTablePlanTerm

( JsonTablePlanExpression ) RelObjectName Expression
         ::= '(' JsonTablePlanExpression ')'
           | RelObjectName
           | Expression
Referenced by:

JsonTablePlanExpression

JsonTablePlanTerm , INNER OUTER CROSS UNION
         ::= JsonTablePlanTerm ( ( ',' | 'INNER' | 'OUTER' | 'CROSS' | 'UNION' ) JsonTablePlanTerm )*

JsonTablePlanClause

PLAN DEFAULT ( JsonTablePlanExpression )
         ::= 'PLAN' 'DEFAULT'? '(' JsonTablePlanExpression ')'
Referenced by:

JsonTableOnErrorClause

ERROR S_IDENTIFIER ON ERROR
         ::= ( 'ERROR' | S_IDENTIFIER ) 'ON' 'ERROR'
Referenced by:

JsonTableBody

( Expression , Expression AS RelObjectName JsonKeyword JsonTablePassingClause , JsonTableColumnsClause JsonTablePlanClause JsonTableOnErrorClause )
Referenced by:

TableFunction

LATERAL JsonKeyword JsonTableBody Function WITH OFFSET ORDINALITY
         ::= 'LATERAL'? ( JsonKeyword JsonTableBody | Function ) ( 'WITH' ( 'OFFSET' | 'ORDINALITY' ) )?
Referenced by:

ColumnNamesWithParamsList

( RelObjectName CreateParameter , )
         ::= '(' RelObjectName CreateParameter? ( ',' RelObjectName CreateParameter? )* ')'

IndexColumnWithParams

RelObjectName ( Expression ) CreateParameter
         ::= ( RelObjectName | '(' Expression ')' ) CreateParameter?

IndexColumnsWithParamsList

( IndexColumnWithParams , )
         ::= '(' IndexColumnWithParams ( ',' IndexColumnWithParams )* ')'

Index

RelObjectNames

CreateIndex

CreateParameter INDEX IF NOT EXISTS Index ON Table UsingIndexType UsingIndexType ON Table IndexColumnsWithParamsList CreateParameter
         ::= CreateParameter? 'INDEX' ( 'IF' 'NOT' 'EXISTS' )? Index ( 'ON' Table UsingIndexType? | UsingIndexType? 'ON' Table ) IndexColumnsWithParamsList CreateParameter*
Referenced by:

ColumnDefinition

RelObjectName ColDataType CreateParameter

CreateSchema

SCHEMA IF NOT EXISTS S_IDENTIFIER S_QUOTED_IDENTIFIER . S_IDENTIFIER S_QUOTED_IDENTIFIER AUTHORIZATION S_IDENTIFIER S_QUOTED_IDENTIFIER PathSpecification CREATE CreateTable CreateView
         ::= 'SCHEMA' ( 'IF' 'NOT' 'EXISTS' )? ( ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) ( '.' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) )? )? ( 'AUTHORIZATION' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) )? PathSpecification? ( 'CREATE' CreateTable | CreateView )*
Referenced by:

PathSpecification

PATH S_IDENTIFIER S_QUOTED_IDENTIFIER ,
         ::= 'PATH' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) ( ',' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) )*
Referenced by:

CreateTableConstraint

INDEX UNIQUE FULLTEXT SPATIAL KEY RelObjectName IndexColumnsWithParamsList CreateParameter CONSTRAINT RelObjectName PRIMARY KEY UNIQUE KEY ColumnNamesWithParamsList CreateParameter ForeignKeySpec CheckConstraintSpec EXCLUDE WHERE ( Expression )
         ::= ( 'INDEX' | 'UNIQUE'? ( 'FULLTEXT' | 'SPATIAL' )? 'KEY' ) RelObjectName IndexColumnsWithParamsList CreateParameter*
           | ( 'CONSTRAINT' RelObjectName )? ( ( 'PRIMARY' 'KEY' | 'UNIQUE' 'KEY'? ) ColumnNamesWithParamsList CreateParameter* | ForeignKeySpec | CheckConstraintSpec )
           | 'EXCLUDE' 'WHERE' ( '(' Expression ')' )*
Referenced by:

CreateTable

UNLOGGED GLOBAL CreateParameter TABLE IF NOT EXISTS Table ( RelObjectName , ColumnDefinition , CreateTableConstraint ColumnDefinition ) CreateParameter RowMovement AS Select LIKE ( Table ) Table , SpannerInterleaveIn
         ::= 'UNLOGGED'? 'GLOBAL'? CreateParameter* 'TABLE' ( 'IF' 'NOT' 'EXISTS' )? Table ( '(' ( RelObjectName ( ',' RelObjectName )* | ColumnDefinition ( ',' ( CreateTableConstraint | ColumnDefinition ) )* ) ')' )? CreateParameter* RowMovement? ( 'AS' Select )? ( 'LIKE' ( '(' Table ')' | Table ) )? ( ',' SpannerInterleaveIn )?
Referenced by:

SpannerInterleaveIn

INTERLEAVE IN PARENT Table ON DELETE NO ACTION CASCADE
         ::= 'INTERLEAVE' 'IN' 'PARENT' Table ( 'ON' 'DELETE' ( 'NO' 'ACTION' | 'CASCADE' ) )?
Referenced by:

DataType

K_DATETIMELITERAL DT_ZONE DATA_TYPE SIGNED UNSIGNED CHARACTER BIT BYTES BINARY BOOLEAN CHAR JSON STRING DATA_TYPE SIGNED UNSIGNED CHARACTER BIT BYTES BINARY BOOLEAN CHAR JSON STRING ( S_LONG MAX , S_LONG ) K_TEXT_LITERAL ARRAY < ColDataType >
           | 'ARRAY' '<' ColDataType '>'
           | ( K_DATETIMELITERAL | DT_ZONE | DATA_TYPE | 'SIGNED' | 'UNSIGNED' | 'CHARACTER' | 'BIT' | 'BYTES' | 'BINARY' | 'BOOLEAN' | 'CHAR' | 'JSON' | 'STRING' ) ( DATA_TYPE | 'SIGNED' | 'UNSIGNED' | 'CHARACTER' | 'BIT' | 'BYTES' | 'BINARY' | 'BOOLEAN' | 'CHAR' | 'JSON' | 'STRING' )* ( '(' ( S_LONG | 'MAX' ) ( ',' S_LONG )? ')' )?
Referenced by:

ColDataType

STRUCT ( RelObjectNameExt ColDataType , ) DataType S_IDENTIFIER S_QUOTED_IDENTIFIER K_DATETIMELITERAL K_DATE_LITERAL XML INTERVAL DT_ZONE CHAR SET BINARY JSON STRING PUBLIC DATA NAME . ColDataType ( S_LONG MAX BYTE CHAR S_CHAR_LITERAL S_IDENTIFIER CHAR , ) [ S_LONG ] CHARACTER SET S_IDENTIFIER BINARY
         ::= ( 'STRUCT' '(' RelObjectNameExt ColDataType ( ',' RelObjectNameExt ColDataType )* ')' | DataType | ( S_IDENTIFIER | S_QUOTED_IDENTIFIER | K_DATETIMELITERAL | K_DATE_LITERAL | 'XML' | 'INTERVAL' | DT_ZONE | 'CHAR' | 'SET' | 'BINARY' | 'JSON' | 'STRING' | 'PUBLIC' | 'DATA' | 'NAME' ) ( '.' ColDataType )? ) ( '(' ( ( ( S_LONG | 'MAX' ) ( 'BYTE' | 'CHAR' )? | S_CHAR_LITERAL | S_IDENTIFIER | 'CHAR' ) ','? )* ')' )? ( '[' S_LONG? ']' )* ( 'CHARACTER' 'SET' ( S_IDENTIFIER | 'BINARY' ) )?

Analyze

ANALYZE Table
Analyze  ::= 'ANALYZE' Table
Referenced by:

ColumnWithCommentList

( Column , )
         ::= '(' Column ( ',' Column )* ')'
Referenced by:

CreateView

NO FORCE SECURE TEMP TEMPORARY VOLATILE MATERIALIZED VIEW Table AUTO REFRESH YES NO IF NOT EXISTS ColumnWithCommentList CreateViewTailComment AS Select WITH READ ONLY
         ::= ( 'NO'? 'FORCE' )? 'SECURE'? ( 'TEMP' | 'TEMPORARY' | 'VOLATILE' )? 'MATERIALIZED'? 'VIEW' Table ( 'AUTO' 'REFRESH' ( 'YES' | 'NO' ) )? ( 'IF' 'NOT' 'EXISTS' )? ColumnWithCommentList? CreateViewTailComment? 'AS' Select ( 'WITH' 'READ' 'ONLY' )?
Referenced by:

CreateViewTailComment

COMMENT = S_CHAR_LITERAL
         ::= 'COMMENT' '='? S_CHAR_LITERAL
Referenced by:

Action

CASCADE RESTRICT NO ACTION SET NULL DEFAULT
Action   ::= 'CASCADE'
           | 'RESTRICT'
           | 'NO' 'ACTION'
           | 'SET' ( 'NULL' | 'DEFAULT' )

ReferentialActionsOnIndex

ON DELETE UPDATE Action ON DELETE UPDATE Action
         ::= ( 'ON' ( 'DELETE' | 'UPDATE' ) Action )? ( 'ON' ( 'DELETE' | 'UPDATE' ) Action )?

CheckConstraintSpec

CHECK ( Expression )
         ::= 'CHECK' ( '(' Expression ')' )*

ForeignKeySpec

FOREIGN KEY ColumnNamesWithParamsList REFERENCES Table ColumnsNamesList ReferentialActionsOnIndex
         ::= 'FOREIGN' 'KEY' ColumnNamesWithParamsList 'REFERENCES' Table ColumnsNamesList? ReferentialActionsOnIndex

AlterExpressionUsingIndex

USING INDEX RelObjectName
         ::= 'USING' 'INDEX'? RelObjectName

AlterExpressionConstraintTail

AlterExpressionConstraintState AlterExpressionUsingIndex IndexWithComment

AlterView

VIEW Table ColumnsNamesList AS Select
         ::= 'VIEW' Table ColumnsNamesList? 'AS' Select
Referenced by:

CreateParameter

K_NEXTVAL ( S_CHAR_LITERAL :: ColDataType ) S_IDENTIFIER S_QUOTED_IDENTIFIER NAME . S_IDENTIFIER S_QUOTED_IDENTIFIER NAME USING INDEX TABLESPACE RelObjectName S_CHAR_LITERAL NULL NOT AUTO_INCREMENT PRIMARY FOREIGN REFERENCES KEY STORED ON COMMIT DROP ROWS UNIQUE CASCADE DELETE UPDATE CONSTRAINT WITH EXCLUDE WHERE TEMP TEMPORARY PARTITION BY IN TYPE COMMENT USING COLLATE ASC DESC TRUE FALSE PARALLEL BINARY START ORDER K_TIME_KEY_EXPR RAW HASH FIRST LAST SIGNED UNSIGNED ENGINE IDENTITY MATERIALIZED SAMPLE ALWAYS = DEFAULT AS CHECK ( Expression ) + - S_LONG S_DOUBLE AList CHARACTER SET ARRAY ArrayConstructor :: ColDataType
         ::= K_NEXTVAL '(' S_CHAR_LITERAL '::' ColDataType ')'
           | ( S_IDENTIFIER | S_QUOTED_IDENTIFIER | 'NAME' ) ( '.' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER | 'NAME' ) )?
           | ( 'USING' 'INDEX' )? 'TABLESPACE' RelObjectName
           | S_CHAR_LITERAL
           | 'NULL'
           | 'NOT'
           | 'AUTO_INCREMENT'
           | 'PRIMARY'
           | 'FOREIGN'
           | 'REFERENCES'
           | 'KEY'
           | 'STORED'
           | 'ON'
           | 'COMMIT'
           | 'DROP'
           | 'ROWS'
           | 'UNIQUE'
           | 'CASCADE'
           | 'DELETE'
           | 'UPDATE'
           | 'CONSTRAINT'
           | 'WITH'
           | 'EXCLUDE'
           | 'WHERE'
           | 'TEMP'
           | 'TEMPORARY'
           | 'PARTITION'
           | 'BY'
           | 'IN'
           | 'TYPE'
           | 'COMMENT'
           | 'USING'
           | 'COLLATE'
           | 'ASC'
           | 'DESC'
           | 'TRUE'
           | 'FALSE'
           | 'PARALLEL'
           | 'BINARY'
           | 'START'
           | 'ORDER'
           | K_TIME_KEY_EXPR
           | 'RAW'
           | 'HASH'
           | 'FIRST'
           | 'LAST'
           | 'SIGNED'
           | 'UNSIGNED'
           | 'ENGINE'
           | 'IDENTITY'
           | 'MATERIALIZED'
           | 'SAMPLE'
           | 'ALWAYS'
           | '='
           | ( 'DEFAULT' | 'AS' | 'CHECK' ) ( '(' Expression ')' )?
           | ( '+' | '-' )? S_LONG
           | S_DOUBLE
           | AList
           | 'CHARACTER' 'SET'
           | 'ARRAY' ArrayConstructor
           | '::' ColDataType

RowMovement

ENABLE DISABLE ROW MOVEMENT
         ::= ( 'ENABLE' | 'DISABLE' ) 'ROW' 'MOVEMENT'
Referenced by:

AList

( S_LONG S_DOUBLE S_CHAR_LITERAL TRUE FALSE RelObjectName , = )
AList    ::= '(' ( ( S_LONG | S_DOUBLE | S_CHAR_LITERAL | 'TRUE' | 'FALSE' | RelObjectName ) ( ',' | '=' )? )* ')'
Referenced by:

ColumnsNamesListItem

RelObjectName ( S_LONG ) ASC DESC
         ::= RelObjectName ( '(' S_LONG ')' )? ( 'ASC' | 'DESC' )?

ColumnsNamesList

( ColumnsNamesListItem , )
         ::= '(' ColumnsNamesListItem ( ',' ColumnsNamesListItem )* ')'

FuncArgsListItem

RelObjectName RelObjectName ( S_LONG )
         ::= RelObjectName RelObjectName? ( '(' S_LONG ')' )?
Referenced by:

FuncArgsList

( FuncArgsListItem , )
         ::= '(' ( FuncArgsListItem ( ',' FuncArgsListItem )* )? ')'
Referenced by:

Drop

DROP MATERIALIZED S_IDENTIFIER TEMPORARY TABLE INDEX VIEW SCHEMA SEQUENCE FUNCTION IF EXISTS Table FuncArgsList S_IDENTIFIER CASCADE RESTRICT ON Table
Drop     ::= 'DROP' 'MATERIALIZED'? ( S_IDENTIFIER | 'TEMPORARY'? 'TABLE' | 'INDEX' | 'VIEW' | 'SCHEMA' | 'SEQUENCE' | 'FUNCTION' ) ( 'IF' 'EXISTS' )? Table FuncArgsList? ( S_IDENTIFIER | 'CASCADE' | 'RESTRICT' | 'ON' Table )*
Referenced by:

Truncate

TRUNCATE TABLE ONLY Table , CASCADE
Truncate ::= 'TRUNCATE' 'TABLE'? 'ONLY'? Table ( ',' Table )* 'CASCADE'?
Referenced by:

AlterExpressionColumnChanges

AlterExpressionColumnDropDefault AlterExpressionColumnSetDefault AlterExpressionColumnSetVisibility ( AlterExpressionColumnDataType , )
         ::= AlterExpressionColumnDropDefault
           | AlterExpressionColumnSetDefault
           | AlterExpressionColumnSetVisibility
           | '(' AlterExpressionColumnDataType ( ',' AlterExpressionColumnDataType )* ')'

AlterExpressionColumnDataType

RelObjectName TYPE ColDataType CreateParameter
         ::= RelObjectName 'TYPE'? ColDataType? CreateParameter*

AlterExpressionColumnDropNotNull

RelObjectName DROP NOT NULL
         ::= RelObjectName 'DROP' 'NOT'? 'NULL'

AlterExpressionColumnDropDefault

RelObjectName DROP DEFAULT
         ::= RelObjectName 'DROP' 'DEFAULT'

AlterExpressionColumnSetDefault

RelObjectName SET DEFAULT Expression
         ::= RelObjectName 'SET' 'DEFAULT' Expression

AlterExpressionColumnSetVisibility

RelObjectName SET VISIBLE INVISIBLE
         ::= RelObjectName 'SET' ( 'VISIBLE' | 'INVISIBLE' )

AlterExpressionConstraintState

NOT DEFERRABLE VALIDATE NOVALIDATE ENABLE DISABLE
         ::= ( 'NOT'? 'DEFERRABLE' | 'VALIDATE' | 'NOVALIDATE' | 'ENABLE' | 'DISABLE' )*

IndexWithComment

COMMENT S_CHAR_LITERAL
         ::= 'COMMENT' S_CHAR_LITERAL

IndexOptionList

IndexOption
         ::= IndexOption*

UsingIndexType

USING RelObjectName
         ::= 'USING' RelObjectName

IndexOption

KEY_BLOCK_SIZE = S_LONG WITH PARSER S_IDENTIFIER COMMENT S_CHAR_LITERAL VISIBLE INVISIBLE UsingIndexType
         ::= 'KEY_BLOCK_SIZE' '='? S_LONG
           | 'WITH' 'PARSER' S_IDENTIFIER
           | 'COMMENT' S_CHAR_LITERAL
           | 'VISIBLE'
           | 'INVISIBLE'
           | UsingIndexType
Referenced by:

PartitionDefinitions

( PARTITION RelObjectName VALUES LESS THAN ( Expression ) MAXVALUE ENGINE = S_IDENTIFIER , )
         ::= '(' ( 'PARTITION' RelObjectName 'VALUES' 'LESS' 'THAN' ( '(' Expression ')' | 'MAXVALUE' ) ( 'ENGINE' '=' S_IDENTIFIER )? ','? )* ')'

PartitionNamesList

ALL S_IDENTIFIER ,
         ::= 'ALL'
           | S_IDENTIFIER ( ',' S_IDENTIFIER )*

AlterExpressionDiscardOrImport

DISCARD IMPORT PARTITION PartitionNamesList TABLESPACE
         ::= ( 'DISCARD' | 'IMPORT' ) ( 'PARTITION' PartitionNamesList )? 'TABLESPACE'
Referenced by:

AlterExpressionAddConstraint

CONSTRAINT UNIQUE KEY INDEX RelObjectName ColumnsNamesList RelObjectName FOREIGN KEY ColumnsNamesList REFERENCES Table ColumnsNamesList ReferentialActionsOnIndex KEY ColumnsNamesList AlterExpressionConstraintState PRIMARY KEY UNIQUE KEY INDEX ColumnsNamesList AlterExpressionConstraintTail NOT ENFORCED CheckConstraintSpec
         ::= 'CONSTRAINT' ( 'UNIQUE' ( 'KEY' | 'INDEX' )? RelObjectName ColumnsNamesList | RelObjectName ( ( 'FOREIGN' 'KEY' ColumnsNamesList 'REFERENCES' Table ColumnsNamesList? ReferentialActionsOnIndex | 'KEY' ColumnsNamesList ) AlterExpressionConstraintState | ( 'PRIMARY' 'KEY' | 'UNIQUE' ( 'KEY' | 'INDEX' )? ) ColumnsNamesList AlterExpressionConstraintTail | 'NOT'? 'ENFORCED' | CheckConstraintSpec ) )

AlterExpressionDrop

DROP PARTITION PartitionNamesList ColumnsNamesList COLUMN IF EXISTS KeywordOrIdentifier INVALIDATE CASCADE CONSTRAINTS INDEX KEY S_IDENTIFIER S_QUOTED_IDENTIFIER UNIQUE FOREIGN KEY ColumnsNamesList PRIMARY KEY CONSTRAINT IF EXISTS S_IDENTIFIER S_QUOTED_IDENTIFIER CASCADE RESTRICT
         ::= 'DROP' ( 'PARTITION' PartitionNamesList | ( ColumnsNamesList | 'COLUMN'? ( 'IF' 'EXISTS' )? KeywordOrIdentifier ) 'INVALIDATE'? ( 'CASCADE' 'CONSTRAINTS'? )? | ( 'INDEX' | 'KEY' ) ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) | ( ( 'UNIQUE' | 'FOREIGN' 'KEY' ) ColumnsNamesList | 'PRIMARY' 'KEY' | 'CONSTRAINT' ( 'IF' 'EXISTS' )? ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) ) ( 'CASCADE' | 'RESTRICT' )? )
Referenced by:

AlterExpressionPartitionOp

TRUNCATE ANALYZE CHECK OPTIMIZE REBUILD REPAIR PARTITION PartitionNamesList COALESCE PARTITION S_LONG REORGANIZE PARTITION PartitionNamesList INTO PARTITION BY RANGE ( Expression ) COLUMNS ColumnsNamesList PartitionDefinitions EXCHANGE PARTITION PartitionNamesList WITH TABLE S_IDENTIFIER WITH WITHOUT VALIDATION REMOVE PARTITIONING
         ::= ( 'TRUNCATE' | 'ANALYZE' | 'CHECK' | 'OPTIMIZE' | 'REBUILD' | 'REPAIR' ) 'PARTITION' PartitionNamesList
           | 'COALESCE' 'PARTITION' S_LONG
           | ( 'REORGANIZE' 'PARTITION' PartitionNamesList 'INTO' | 'PARTITION' 'BY' 'RANGE' ( '(' Expression ')' | 'COLUMNS' ColumnsNamesList ) ) PartitionDefinitions
           | 'EXCHANGE' 'PARTITION' PartitionNamesList 'WITH' 'TABLE' S_IDENTIFIER ( ( 'WITH' | 'WITHOUT' ) 'VALIDATION' )?
           | 'REMOVE' 'PARTITIONING'
Referenced by:

AlterExpressionAddAlterModify

ADD ALTER MODIFY PRIMARY KEY ColumnsNamesList AlterExpressionConstraintState AlterExpressionUsingIndex KEY INDEX RelObjectName UsingIndexType IndexColumnsWithParamsList IndexOptionList AlterExpressionConstraintState SPATIAL FULLTEXT INDEX KEY RelObjectName ColumnsNamesList IndexOptionList RelObjectName COMMENT S_CHAR_LITERAL PARTITION PartitionDefinitions COLUMN COLUMNS IF NOT EXISTS AlterExpressionColumnChanges AlterExpressionColumnDataType AlterExpressionColumnDropNotNull AlterExpressionColumnChanges UNIQUE KEY INDEX S_IDENTIFIER S_QUOTED_IDENTIFIER ColumnsNamesList AlterExpressionUsingIndex IndexWithComment ForeignKeySpec CHECK RelObjectName NOT ENFORCED AlterExpressionAddConstraint
         ::= ( 'ADD' | 'ALTER' | 'MODIFY' ) ( 'PRIMARY' 'KEY' ColumnsNamesList AlterExpressionConstraintState AlterExpressionUsingIndex? | ( 'KEY' | 'INDEX' ) RelObjectName? UsingIndexType? IndexColumnsWithParamsList? IndexOptionList AlterExpressionConstraintState | ( 'SPATIAL' | 'FULLTEXT' ) ( 'INDEX' | 'KEY' )? RelObjectName? ColumnsNamesList IndexOptionList | RelObjectName 'COMMENT' S_CHAR_LITERAL | 'PARTITION' PartitionDefinitions | ( 'COLUMN' | 'COLUMNS' )? ( 'IF' 'NOT' 'EXISTS' )? ( AlterExpressionColumnChanges | AlterExpressionColumnDataType | AlterExpressionColumnDropNotNull ) | AlterExpressionColumnChanges | 'UNIQUE' ( 'KEY' | 'INDEX' )? ( S_IDENTIFIER | S_QUOTED_IDENTIFIER )? ColumnsNamesList AlterExpressionUsingIndex? IndexWithComment? | ForeignKeySpec | 'CHECK' RelObjectName 'NOT'? 'ENFORCED' | AlterExpressionAddConstraint )
Referenced by:

AlterExpressionRenameOp

RENAME INDEX KEY CONSTRAINT S_IDENTIFIER S_QUOTED_IDENTIFIER TO S_IDENTIFIER S_QUOTED_IDENTIFIER COLUMN KeywordOrIdentifier TO KeywordOrIdentifier
         ::= 'RENAME' ( ( ( 'INDEX' | 'KEY' | 'CONSTRAINT' ) ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) )? 'TO' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) | 'COLUMN'? KeywordOrIdentifier 'TO' KeywordOrIdentifier )
Referenced by:

AlterExpression

AlterExpressionAddAlterModify CHANGE COLUMN KeywordOrIdentifier AlterExpressionColumnDataType AlterExpressionDrop FORCE ROW LEVEL SECURITY NO FORCE ROW LEVEL SECURITY ALGORITHM LOCK ENGINE = RelObjectName KEY_BLOCK_SIZE AUTO_INCREMENT = S_LONG AlterExpressionRenameOp CONVERT TO CHARACTER SET S_IDENTIFIER COLLATE DEFAULT CHARACTER SET = S_IDENTIFIER COLLATE COLLATE = S_IDENTIFIER COMMENT ENCRYPTION = S_CHAR_LITERAL AlterExpressionDiscardOrImport DISABLE ENABLE ROW LEVEL SECURITY KEYS AlterExpressionPartitionOp captureRest
         ::= AlterExpressionAddAlterModify
           | 'CHANGE' 'COLUMN'? KeywordOrIdentifier AlterExpressionColumnDataType
           | AlterExpressionDrop
           | 'FORCE' ( 'ROW' 'LEVEL' 'SECURITY' )?
           | 'NO' 'FORCE' 'ROW' 'LEVEL' 'SECURITY'
           | ( 'ALGORITHM' | 'LOCK' | 'ENGINE' ) '='? RelObjectName
           | ( 'KEY_BLOCK_SIZE' | 'AUTO_INCREMENT' ) '='? S_LONG
           | AlterExpressionRenameOp
           | ( 'CONVERT' 'TO' 'CHARACTER' 'SET' ( S_IDENTIFIER 'COLLATE' )? | 'DEFAULT'? ( 'CHARACTER' 'SET' ( '='? S_IDENTIFIER 'COLLATE' )? | 'COLLATE' ) '='? ) S_IDENTIFIER
           | ( 'COMMENT' | 'ENCRYPTION' ) '='? S_CHAR_LITERAL
           | AlterExpressionDiscardOrImport
           | ( 'DISABLE' | 'ENABLE' ) ( 'ROW' 'LEVEL' 'SECURITY' | 'KEYS' )
           | AlterExpressionPartitionOp
           | captureRest
Referenced by:

Alter

ALTER AlterTable AlterSession AlterView AlterSystemStatement AlterSequence captureRest REPLACE AlterView captureRest
           | 'REPLACE' ( AlterView | captureRest )
Referenced by:

AlterTable

TABLE ONLY IF EXISTS Table AlterExpression ,
         ::= 'TABLE' 'ONLY'? ( 'IF' 'EXISTS' )? Table AlterExpression ( ',' AlterExpression )*
Referenced by:

AlterSession

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
         ::= '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:

AlterSystemStatement

SYSTEM ARCHIVE LOG CHECKPOINT DUMP ACTIVE SESSION HISTORY ENABLE DISABLE DISTRIBUTED RECOVERY RESTRICTED SESSION FLUSH DISCONNECT KILL SESSION SWITCH SUSPEND RESUME QUIESCE RESTRICTED UNQIESCE SHUTDOWN REGISTER SET RESET captureRest
         ::= 'SYSTEM' ( 'ARCHIVE' 'LOG' | 'CHECKPOINT' | 'DUMP' 'ACTIVE' 'SESSION' 'HISTORY' | ( 'ENABLE' | 'DISABLE' ) ( 'DISTRIBUTED' 'RECOVERY' | 'RESTRICTED' 'SESSION' ) | 'FLUSH' | ( 'DISCONNECT' | 'KILL' ) 'SESSION' | 'SWITCH' | 'SUSPEND' | 'RESUME' | 'QUIESCE' 'RESTRICTED' | 'UNQIESCE' | 'SHUTDOWN' | 'REGISTER' | 'SET' | 'RESET' ) captureRest
Referenced by:

Wait

WAIT S_LONG
Wait     ::= 'WAIT' S_LONG
Referenced by:

SavepointStatement

SAVEPOINT S_IDENTIFIER
         ::= 'SAVEPOINT' S_IDENTIFIER
Referenced by:

RollbackStatement

ROLLBACK WORK TO SAVEPOINT S_IDENTIFIER FORCE S_CHAR_LITERAL
         ::= 'ROLLBACK' 'WORK'? ( 'TO' 'SAVEPOINT'? S_IDENTIFIER | 'FORCE' S_CHAR_LITERAL )?
Referenced by:

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:

Grant

GRANT readGrantTypes , ON RelObjectNames S_IDENTIFIER TO UsersList
Grant    ::= 'GRANT' ( ( readGrantTypes ( ',' readGrantTypes )* )? 'ON' RelObjectNames | S_IDENTIFIER ) 'TO' UsersList
Referenced by:

UsersList

RelObjectName , ColumnsNamesListItem
         ::= RelObjectName ( ',' ColumnsNamesListItem )*
Referenced by:

readGrantTypes

K_SELECT INSERT UPDATE DELETE EXECUTE ALTER DROP
         ::= K_SELECT
           | 'INSERT'
           | 'UPDATE'
           | 'DELETE'
           | 'EXECUTE'
           | 'ALTER'
           | 'DROP'
Referenced by:

Sequence

RelObjectNames

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' )*

CreateSequence

SEQUENCE Sequence AS S_IDENTIFIER DATA_TYPE SequenceParameters
         ::= 'SEQUENCE' Sequence ( 'AS' ( S_IDENTIFIER | DATA_TYPE ) )? SequenceParameters
Referenced by:

AlterSequence

SEQUENCE Sequence SequenceParameters
         ::= 'SEQUENCE' Sequence SequenceParameters
Referenced by:

Create

CREATE OR REPLACE CreateFunctionStatement CreateSchema CreateSequence CreateSynonym CreateTable CreateView CreatePolicy TRIGGER DOMAIN captureRest CreateIndex
Create   ::= 'CREATE' ( 'OR' 'REPLACE' )? ( CreateFunctionStatement | CreateSchema | CreateSequence | CreateSynonym | CreateTable | CreateView | CreatePolicy | ( 'TRIGGER' | 'DOMAIN' )? captureRest | CreateIndex )
Referenced by:

CreateFunctionStatement

FUNCTION PROCEDURE captureFunctionBody
         ::= ( 'FUNCTION' | 'PROCEDURE' ) captureFunctionBody
Referenced by:

CreateSynonym

PUBLIC SYNONYM Synonym FOR RelObjectNames
         ::= 'PUBLIC'? 'SYNONYM' Synonym 'FOR' RelObjectNames
Referenced by:

Synonym

RelObjectNames
Referenced by:

CreatePolicy

POLICY RelObjectName ON Table FOR ALL K_SELECT INSERT UPDATE DELETE TO RelObjectName , USING ( Expression ) WITH CHECK ( Expression )
         ::= 'POLICY' RelObjectName 'ON' Table ( 'FOR' ( 'ALL' | K_SELECT | 'INSERT' | 'UPDATE' | 'DELETE' ) )? ( 'TO' RelObjectName ( ',' RelObjectName )* )? ( 'USING' '(' Expression ')' )? ( 'WITH' 'CHECK' '(' Expression ')' )?
Referenced by:

UnsupportedStatement

captureUnsupportedStatementDeclaration
Referenced by:

IdentifierChain

RelObjectNameExt .
         ::= RelObjectNameExt ( '.' RelObjectNameExt )*

IdentifierChain2

. RelObjectNameExt
         ::= ( '.' RelObjectNameExt )*
Referenced by:

CharacterPrimary

TranscodingFunction TrimFunction
         ::= TranscodingFunction
           | TrimFunction
Referenced by:

TranscodingFunction

TRY_CONVERT SAFE_CONVERT CONVERT ( ColDataType , Expression , S_LONG Expression USING IdentifierChain )
         ::= ( 'TRY_CONVERT' | 'SAFE_CONVERT' | 'CONVERT' ) '(' ( ColDataType ',' Expression ( ',' S_LONG )? | Expression 'USING' IdentifierChain ) ')'
Referenced by:

TrimFunction

TRIM ( LEADING TRAILING BOTH Expression , FROM Expression )
         ::= 'TRIM' '(' ( 'LEADING' | 'TRAILING' | 'BOTH' )? Expression? ( ( ',' | 'FROM' ) Expression )? ')'
Referenced by:

SnowflakeTimeTravelAt

AT ( K_DATETIMELITERAL OFFSET => Expression STATEMENT => S_CHAR_LITERAL S_IDENTIFIER S_QUOTED_IDENTIFIER STREAM => S_CHAR_LITERAL )
         ::= 'AT' '(' ( ( K_DATETIMELITERAL | 'OFFSET' ) '=>' Expression | 'STATEMENT' '=>' ( S_CHAR_LITERAL | S_IDENTIFIER | S_QUOTED_IDENTIFIER ) | 'STREAM' '=>' S_CHAR_LITERAL ) ')'

SnowflakeTimeTravelBefore

BEFORE ( STATEMENT => S_CHAR_LITERAL S_IDENTIFIER S_QUOTED_IDENTIFIER )
         ::= 'BEFORE' '(' 'STATEMENT' '=>' ( S_CHAR_LITERAL | S_IDENTIFIER | S_QUOTED_IDENTIFIER ) ')'

SnowflakeTimeTravelChange

CHANGES ( INFORMATION => DEFAULT APPEND_ONLY ) SnowflakeTimeTravelAt SnowflakeTimeTravelBefore END ( K_DATETIMELITERAL OFFSET => Expression STATEMENT => S_CHAR_LITERAL S_IDENTIFIER S_QUOTED_IDENTIFIER )
         ::= 'CHANGES' '(' 'INFORMATION' '=>' ( 'DEFAULT' | 'APPEND_ONLY' ) ')' ( SnowflakeTimeTravelAt | SnowflakeTimeTravelBefore ) ( 'END' '(' ( ( K_DATETIMELITERAL | 'OFFSET' ) '=>' Expression | 'STATEMENT' '=>' ( S_CHAR_LITERAL | S_IDENTIFIER | S_QUOTED_IDENTIFIER ) ) ')' )?
Referenced by:

DataBricksTemporalSpec

@ @V S_CHAR_LITERAL S_LONG FOR SYSTEM_TIMESTAMP K_DATETIMELITERAL AS OF Expression SYSTEM_VERSION VERSION AS OF S_LONG S_CHAR_LITERAL
         ::= ( '@' | '@V' ) ( S_CHAR_LITERAL | S_LONG )
           | 'FOR'? ( 'SYSTEM_TIMESTAMP' | K_DATETIMELITERAL ) 'AS' 'OF' Expression
           | ( 'SYSTEM_VERSION' | 'VERSION' ) 'AS' 'OF' ( S_LONG | S_CHAR_LITERAL )
Referenced by:

BigQueryHistoricalVersion

FOR SYSTEM_TIME AS OF Expression
         ::= 'FOR' 'SYSTEM_TIME' 'AS' 'OF' Expression
Referenced by:

TimeTravelBeforeAlias

SnowflakeTimeTravelAt SnowflakeTimeTravelBefore SnowflakeTimeTravelChange DataBricksTemporalSpec
         ::= SnowflakeTimeTravelAt
           | SnowflakeTimeTravelBefore
           | SnowflakeTimeTravelChange
           | DataBricksTemporalSpec
Referenced by:

TimeTravelAfterAlias

BigQueryHistoricalVersion
         ::= BigQueryHistoricalVersion
Referenced by:

WHITESPACE

[#x9] [#xD] [#xA]
         ::= [ #x9#xD#xA]

K_ISOLATION

UR RS RR CS
         ::= 'UR'
           | 'RS'
           | 'RR'
           | 'CS'

K_NEXTVAL

NEXTVAL FOR NEXT VALUE FOR
         ::= 'NEXTVAL' ( ' '+ 'FOR' )?
           | 'NEXT' ' '+ 'VALUE' ' '+ 'FOR'

K_TEXT_LITERAL

TEXT TINYTEXT MEDIUMTEXT LONGTEXT
         ::= 'TEXT'
           | 'TINYTEXT'
           | 'MEDIUMTEXT'
           | 'LONGTEXT'
Referenced by:

K_TIME_KEY_EXPR

CURRENT _ TIMESTAMP TIME DATE TIMEZONE ()
         ::= 'CURRENT' ( '_' | ' '+ ) ( 'TIMESTAMP' | 'TIME' | 'DATE' | 'TIMEZONE' ) '()'?

K_STRING_FUNCTION_NAME

SUBSTR SUBSTRING TRIM POSITION OVERLAY
         ::= 'SUBSTR'
           | 'SUBSTRING'
           | 'TRIM'
           | 'POSITION'
           | 'OVERLAY'

K_DATETIMELITERAL

DATE DATETIME TIME TIMESTAMP TIMESTAMPTZ
         ::= 'DATE'
           | 'DATETIME'
           | 'TIME'
           | 'TIMESTAMP'
           | 'TIMESTAMPTZ'

K_DATE_LITERAL

YEAR MONTH DAY HOUR MINUTE SECOND
         ::= 'YEAR'
           | 'MONTH'
           | 'DAY'
           | 'HOUR'
           | 'MINUTE'
           | 'SECOND'

K_SELECT

SELECT SEL
K_SELECT ::= 'SELECT'
           | 'SEL'

K_SIMILAR_TO

SIMILAR TO
         ::= 'SIMILAR' ' '+ 'TO'
Referenced by:

ST_SEMICOLON

; [#xA] / [#xA] go [#xA]
         ::= ';'
           | #xA ( [/#xA] | 'go' ) #xA
Referenced by:

OP_GREATERTHANEQUALS

> WHITESPACE =
         ::= '>' WHITESPACE* '='
Referenced by:

OP_MINORTHANEQUALS

< WHITESPACE =
         ::= '<' WHITESPACE* '='
Referenced by:

OP_NOTEQUALSSTANDARD

< WHITESPACE >
         ::= '<' WHITESPACE* '>'
Referenced by:

OP_NOTEQUALSBANG

! WHITESPACE =
         ::= '!' WHITESPACE* '='
Referenced by:

OP_NOTEQUALSHAT

^ WHITESPACE =
         ::= '^' WHITESPACE* '='
Referenced by:

OP_CONCAT

| WHITESPACE |
         ::= '|' WHITESPACE* '|'

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'

DATA_TYPE

BISTRING TYPE_BLOB TYPE_BOOLEAN ENUM TYPE_REAL TYPE_DOUBLE UUID MAP TYPE_TINYINT TYPE_SMALLINT TYPE_INTEGER TYPE_BIGINT HUGEINT UTINYINT USMALLINT UINTEGER UBIGINT UHUGEINT TYPE_DECIMAL TYPE_VARCHAR TIMETZ TYPE_TIMESTAMP
         ::= 'BISTRING'
           | TYPE_BLOB
           | TYPE_BOOLEAN
           | 'ENUM'
           | TYPE_REAL
           | TYPE_DOUBLE
           | 'UUID'
           | 'MAP'
           | TYPE_TINYINT
           | TYPE_SMALLINT
           | TYPE_INTEGER
           | TYPE_BIGINT
           | 'HUGEINT'
           | 'UTINYINT'
           | 'USMALLINT'
           | 'UINTEGER'
           | 'UBIGINT'
           | 'UHUGEINT'
           | TYPE_DECIMAL
           | TYPE_VARCHAR
           | 'TIMETZ'
           | TYPE_TIMESTAMP

TYPE_BLOB

BLOB BYTEA BINARY VARBINARY BYTES
         ::= 'BLOB'
           | 'BYTEA'
           | 'BINARY'
           | 'VARBINARY'
           | 'BYTES'
Referenced by:

TYPE_BOOLEAN

BOOLEAN BOOL
         ::= 'BOOLEAN'
           | 'BOOL'
Referenced by:

TYPE_DECIMAL

DECIMAL NUMBER NUMERIC
         ::= 'DECIMAL'
           | 'NUMBER'
           | 'NUMERIC'
Referenced by:

TYPE_TINYINT

TINYINT INT1
         ::= 'TINYINT'
           | 'INT1'
Referenced by:

TYPE_SMALLINT

SMALLINT INT2 SHORT
         ::= 'SMALLINT'
           | 'INT2'
           | 'SHORT'
Referenced by:

TYPE_INTEGER

INTEGER INT INT4 SIGNED UNSIGNED
         ::= 'INTEGER'
           | 'INT'
           | 'INT4'
           | 'SIGNED'
           | 'UNSIGNED'
Referenced by:

TYPE_BIGINT

BIGINT INT8 LONG
         ::= 'BIGINT'
           | 'INT8'
           | 'LONG'
Referenced by:

TYPE_REAL

REAL FLOAT4 FLOAT
         ::= 'REAL'
           | 'FLOAT4'
           | 'FLOAT'
Referenced by:

TYPE_DOUBLE

DOUBLE PRECISION FLOAT8 FLOAT64
         ::= 'DOUBLE'
           | 'PRECISION'
           | 'FLOAT8'
           | 'FLOAT64'
Referenced by:

TYPE_VARCHAR

NVARCHAR VARCHAR NCHAR CHAR BPCHAR TEXT STRING CHARACTER VARYING
         ::= 'NVARCHAR'
           | 'VARCHAR'
           | 'NCHAR'
           | 'CHAR'
           | 'BPCHAR'
           | 'TEXT'
           | 'STRING'
           | 'CHARACTER'
           | 'VARYING'
Referenced by:

TYPE_TIMESTAMP

TIMESTAMP_NS TIMESTAMP_MS TIMESTAMP_S
         ::= 'TIMESTAMP_NS'
           | 'TIMESTAMP_MS'
           | 'TIMESTAMP_S'
Referenced by:

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 )

S_LONG

DIGIT
S_LONG   ::= DIGIT+

DIGIT

[0-9]
DIGIT    ::= [0-9]
Referenced by:

S_HEX

X ' HEX_VALUE ' 0x HEX_VALUE
S_HEX    ::= 'X' ( "'" HEX_VALUE* "'" ' '* )+
           | '0x' HEX_VALUE+

HEX_VALUE

[0-9] [A-F]
         ::= [0-9A-F ]
Referenced by:

LINE_COMMENT

-- // [^#xD#xA]
         ::= ( '--' | '//' ) [^#xD#xA]*
Not referenced by any.

MULTI_LINE_COMMENT

.
         ::= .
Not referenced by any.

S_PARAMETER

$ [0-9]
         ::= '$' [0-9]+
Referenced by:

S_IDENTIFIER

LETTER PART_LETTER
         ::= LETTER PART_LETTER*

LETTER

UnicodeIdentifierStart Nd $ _ [#x23]
           | Nd
           | [$_#x23]
Referenced by:

PART_LETTER

UnicodeIdentifierStart UnicodeIdentifierExtend $ _ @ [#x23]
         ::= UnicodeIdentifierStart
           | UnicodeIdentifierExtend
           | [$_@#x23]
Referenced by:

S_AT_IDENTIFIER

@ @ S_IDENTIFIER
         ::= '@' '@'? S_IDENTIFIER
Referenced by:

UnicodeIdentifierStart

[#xB7] Ll Lm Lo Lt Lu Nl CJK
         ::= #xB7
           | Ll
           | Lm
           | Lo
           | Lt
           | Lu
           | Nl
           | CJK
Referenced by:

Ll

[a-z] [#xB5] [#xDF-#xF6] [#xF8-#xFF] [#x101] [#x103] [#x105] [#x107] [#x109] [#x10B] [#x10D] [#x10F] [#x111] [#x113] [#x115] [#x117] [#x119] [#x11B] [#x11D] [#x11F] [#x121] [#x123] [#x125] [#x127] [#x129] [#x12B] [#x12D] [#x12F] [#x131] [#x133] [#x135] [#x137-#x138] [#x13A] [#x13C] [#x13E] [#x140] [#x142] [#x144] [#x146] [#x148-#x149] [#x14B] [#x14D] [#x14F] [#x151] [#x153] [#x155] [#x157] [#x159] [#x15B] [#x15D] [#x15F] [#x161] [#x163] [#x165] [#x167] [#x169] [#x16B] [#x16D] [#x16F] [#x171] [#x173] [#x175] [#x177] [#x17A] [#x17C] [#x17E-#x180] [#x183] [#x185] [#x188] [#x18C-#x18D] [#x192] [#x195] [#x199-#x19B] [#x19E] [#x1A1] [#x1A3] [#x1A5] [#x1A8] [#x1AA-#x1AB] [#x1AD] [#x1B0] [#x1B4] [#x1B6] [#x1B9-#x1BA] [#x1BD-#x1BF] [#x1C6] [#x1C9] [#x1CC] [#x1CE] [#x1D0] [#x1D2] [#x1D4] [#x1D6] [#x1D8] [#x1DA] [#x1DC-#x1DD] [#x1DF] [#x1E1] [#x1E3] [#x1E5] [#x1E7] [#x1E9] [#x1EB] [#x1ED] [#x1EF-#x1F0] [#x1F3] [#x1F5] [#x1F9] [#x1FB] [#x1FD] [#x1FF] [#x201] [#x203] [#x205] [#x207] [#x209] [#x20B] [#x20D] [#x20F] [#x211] [#x213] [#x215] [#x217] [#x219] [#x21B] [#x21D] [#x21F] [#x221] [#x223] [#x225] [#x227] [#x229] [#x22B] [#x22D] [#x22F] [#x231] [#x233-#x239] [#x23C] [#x23F-#x240] [#x242] [#x247] [#x249] [#x24B] [#x24D] [#x24F-#x293] [#x295-#x2AF] [#x371] [#x373] [#x377] [#x37B-#x37D] [#x390] [#x3AC-#x3CE] [#x3D0-#x3D1] [#x3D5-#x3D7] [#x3D9] [#x3DB] [#x3DD] [#x3DF] [#x3E1] [#x3E3] [#x3E5] [#x3E7] [#x3E9] [#x3EB] [#x3ED] [#x3EF-#x3F3] [#x3F5] [#x3F8] [#x3FB-#x3FC] [#x430-#x45F] [#x461] [#x463] [#x465] [#x467] [#x469] [#x46B] [#x46D] [#x46F] [#x471] [#x473] [#x475] [#x477] [#x479] [#x47B] [#x47D] [#x47F] [#x481] [#x48B] [#x48D] [#x48F] [#x491] [#x493] [#x495] [#x497] [#x499] [#x49B] [#x49D] [#x49F] [#x4A1] [#x4A3] [#x4A5] [#x4A7] [#x4A9] [#x4AB] [#x4AD] [#x4AF] [#x4B1] [#x4B3] [#x4B5] [#x4B7] [#x4B9] [#x4BB] [#x4BD] [#x4BF] [#x4C2] [#x4C4] [#x4C6] [#x4C8] [#x4CA] [#x4CC] [#x4CE-#x4CF] [#x4D1] [#x4D3] [#x4D5] [#x4D7] [#x4D9] [#x4DB] [#x4DD] [#x4DF] [#x4E1] [#x4E3] [#x4E5] [#x4E7] [#x4E9] [#x4EB] [#x4ED] [#x4EF] [#x4F1] [#x4F3] [#x4F5] [#x4F7] [#x4F9] [#x4FB] [#x4FD] [#x4FF] [#x501] [#x503] [#x505] [#x507] [#x509] [#x50B] [#x50D] [#x50F] [#x511] [#x513] [#x515] [#x517] [#x519] [#x51B] [#x51D] [#x51F] [#x521] [#x523] [#x525] [#x527] [#x529] [#x52B] [#x52D] [#x52F] [#x560-#x588] [#x10D0-#x10FA] [#x10FD-#x10FF] [#x13F8-#x13FD] [#x1C80-#x1C88] [#x1D00-#x1D2B] [#x1D6B-#x1D77] [#x1D79-#x1D9A] [#x1E01] [#x1E03] [#x1E05] [#x1E07] [#x1E09] [#x1E0B] [#x1E0D] [#x1E0F] [#x1E11] [#x1E13] [#x1E15] [#x1E17] [#x1E19] [#x1E1B] [#x1E1D] [#x1E1F] [#x1E21] [#x1E23] [#x1E25] [#x1E27] [#x1E29] [#x1E2B] [#x1E2D] [#x1E2F] [#x1E31] [#x1E33] [#x1E35] [#x1E37] [#x1E39] [#x1E3B] [#x1E3D] [#x1E3F] [#x1E41] [#x1E43] [#x1E45] [#x1E47] [#x1E49] [#x1E4B] [#x1E4D] [#x1E4F] [#x1E51] [#x1E53] [#x1E55] [#x1E57] [#x1E59] [#x1E5B] [#x1E5D] [#x1E5F] [#x1E61] [#x1E63] [#x1E65] [#x1E67] [#x1E69] [#x1E6B] [#x1E6D] [#x1E6F] [#x1E71] [#x1E73] [#x1E75] [#x1E77] [#x1E79] [#x1E7B] [#x1E7D] [#x1E7F] [#x1E81] [#x1E83] [#x1E85] [#x1E87] [#x1E89] [#x1E8B] [#x1E8D] [#x1E8F] [#x1E91] [#x1E93] [#x1E95-#x1E9D] [#x1E9F] [#x1EA1] [#x1EA3] [#x1EA5] [#x1EA7] [#x1EA9] [#x1EAB] [#x1EAD] [#x1EAF] [#x1EB1] [#x1EB3] [#x1EB5] [#x1EB7] [#x1EB9] [#x1EBB] [#x1EBD] [#x1EBF] [#x1EC1] [#x1EC3] [#x1EC5] [#x1EC7] [#x1EC9] [#x1ECB] [#x1ECD] [#x1ECF] [#x1ED1] [#x1ED3] [#x1ED5] [#x1ED7] [#x1ED9] [#x1EDB] [#x1EDD] [#x1EDF] [#x1EE1] [#x1EE3] [#x1EE5] [#x1EE7] [#x1EE9] [#x1EEB] [#x1EED] [#x1EEF] [#x1EF1] [#x1EF3] [#x1EF5] [#x1EF7] [#x1EF9] [#x1EFB] [#x1EFD] [#x1EFF-#x1F07] [#x1F10-#x1F15] [#x1F20-#x1F27] [#x1F30-#x1F37] [#x1F40-#x1F45] [#x1F50-#x1F57] [#x1F60-#x1F67] [#x1F70-#x1F7D] [#x1F80-#x1F87] [#x1F90-#x1F97] [#x1FA0-#x1FA7] [#x1FB0-#x1FB4] [#x1FB6-#x1FB7] [#x1FBE] [#x1FC2-#x1FC4] [#x1FC6-#x1FC7] [#x1FD0-#x1FD3] [#x1FD6-#x1FD7] [#x1FE0-#x1FE7] [#x1FF2-#x1FF4] [#x1FF6-#x1FF7] [#x210A] [#x210E-#x210F] [#x2113] [#x212F] [#x2134] [#x2139] [#x213C-#x213D] [#x2146-#x2149] [#x214E] [#x2184] [#x2C30-#x2C5F] [#x2C61] [#x2C65-#x2C66] [#x2C68] [#x2C6A] [#x2C6C] [#x2C71] [#x2C73-#x2C74] [#x2C76-#x2C7B] [#x2C81] [#x2C83] [#x2C85] [#x2C87] [#x2C89] [#x2C8B] [#x2C8D] [#x2C8F] [#x2C91] [#x2C93] [#x2C95] [#x2C97] [#x2C99] [#x2C9B] [#x2C9D] [#x2C9F] [#x2CA1] [#x2CA3] [#x2CA5] [#x2CA7] [#x2CA9] [#x2CAB] [#x2CAD] [#x2CAF] [#x2CB1] [#x2CB3] [#x2CB5] [#x2CB7] [#x2CB9] [#x2CBB] [#x2CBD] [#x2CBF] [#x2CC1] [#x2CC3] [#x2CC5] [#x2CC7] [#x2CC9] [#x2CCB] [#x2CCD] [#x2CCF] [#x2CD1] [#x2CD3] [#x2CD5] [#x2CD7] [#x2CD9] [#x2CDB] [#x2CDD] [#x2CDF] [#x2CE1] [#x2CE3-#x2CE4] [#x2CEC] [#x2CEE] [#x2CF3] [#x2D00-#x2D25] [#x2D27] [#x2D2D] [#xA641] [#xA643] [#xA645] [#xA647] [#xA649] [#xA64B] [#xA64D] [#xA64F] [#xA651] [#xA653] [#xA655] [#xA657] [#xA659] [#xA65B] [#xA65D] [#xA65F] [#xA661] [#xA663] [#xA665] [#xA667] [#xA669] [#xA66B] [#xA66D] [#xA681] [#xA683] [#xA685] [#xA687] [#xA689] [#xA68B] [#xA68D] [#xA68F] [#xA691] [#xA693] [#xA695] [#xA697] [#xA699] [#xA69B] [#xA723] [#xA725] [#xA727] [#xA729] [#xA72B] [#xA72D] [#xA72F-#xA731] [#xA733] [#xA735] [#xA737] [#xA739] [#xA73B] [#xA73D] [#xA73F] [#xA741] [#xA743] [#xA745] [#xA747] [#xA749] [#xA74B] [#xA74D] [#xA74F] [#xA751] [#xA753] [#xA755] [#xA757] [#xA759] [#xA75B] [#xA75D] [#xA75F] [#xA761] [#xA763] [#xA765] [#xA767] [#xA769] [#xA76B] [#xA76D] [#xA76F] [#xA771-#xA778] [#xA77A] [#xA77C] [#xA77F] [#xA781] [#xA783] [#xA785] [#xA787] [#xA78C] [#xA78E] [#xA791] [#xA793-#xA795] [#xA797] [#xA799] [#xA79B] [#xA79D] [#xA79F] [#xA7A1] [#xA7A3] [#xA7A5] [#xA7A7] [#xA7A9] [#xA7AF] [#xA7B5] [#xA7B7] [#xA7B9] [#xA7BB] [#xA7BD] [#xA7BF] [#xA7C1] [#xA7C3] [#xA7C8] [#xA7CA] [#xA7D1] [#xA7D3] [#xA7D5] [#xA7D7] [#xA7D9] [#xA7F6] [#xA7FA] [#xAB30-#xAB5A] [#xAB60-#xAB68] [#xAB70-#xABBF] [#xFB00-#xFB06] [#xFB13-#xFB17] [#xFF41-#xFF5A]
Ll       ::= [a-z#xB5#xDF-#xF6#xF8-#xFF#x101#x103#x105#x107#x109#x10B#x10D#x10F#x111#x113#x115#x117#x119#x11B#x11D#x11F#x121#x123#x125#x127#x129#x12B#x12D#x12F#x131#x133#x135#x137-#x138#x13A#x13C#x13E#x140#x142#x144#x146#x148-#x149#x14B#x14D#x14F#x151#x153#x155#x157#x159#x15B#x15D#x15F#x161#x163#x165#x167#x169#x16B#x16D#x16F#x171#x173#x175#x177#x17A#x17C#x17E-#x180#x183#x185#x188#x18C-#x18D#x192#x195#x199-#x19B#x19E#x1A1#x1A3#x1A5#x1A8#x1AA-#x1AB#x1AD#x1B0#x1B4#x1B6#x1B9-#x1BA#x1BD-#x1BF#x1C6#x1C9#x1CC#x1CE#x1D0#x1D2#x1D4#x1D6#x1D8#x1DA#x1DC-#x1DD#x1DF#x1E1#x1E3#x1E5#x1E7#x1E9#x1EB#x1ED#x1EF-#x1F0#x1F3#x1F5#x1F9#x1FB#x1FD#x1FF#x201#x203#x205#x207#x209#x20B#x20D#x20F#x211#x213#x215#x217#x219#x21B#x21D#x21F#x221#x223#x225#x227#x229#x22B#x22D#x22F#x231#x233-#x239#x23C#x23F-#x240#x242#x247#x249#x24B#x24D#x24F-#x293#x295-#x2AF#x371#x373#x377#x37B-#x37D#x390#x3AC-#x3CE#x3D0-#x3D1#x3D5-#x3D7#x3D9#x3DB#x3DD#x3DF#x3E1#x3E3#x3E5#x3E7#x3E9#x3EB#x3ED#x3EF-#x3F3#x3F5#x3F8#x3FB-#x3FC#x430-#x45F#x461#x463#x465#x467#x469#x46B#x46D#x46F#x471#x473#x475#x477#x479#x47B#x47D#x47F#x481#x48B#x48D#x48F#x491#x493#x495#x497#x499#x49B#x49D#x49F#x4A1#x4A3#x4A5#x4A7#x4A9#x4AB#x4AD#x4AF#x4B1#x4B3#x4B5#x4B7#x4B9#x4BB#x4BD#x4BF#x4C2#x4C4#x4C6#x4C8#x4CA#x4CC#x4CE-#x4CF#x4D1#x4D3#x4D5#x4D7#x4D9#x4DB#x4DD#x4DF#x4E1#x4E3#x4E5#x4E7#x4E9#x4EB#x4ED#x4EF#x4F1#x4F3#x4F5#x4F7#x4F9#x4FB#x4FD#x4FF#x501#x503#x505#x507#x509#x50B#x50D#x50F#x511#x513#x515#x517#x519#x51B#x51D#x51F#x521#x523#x525#x527#x529#x52B#x52D#x52F#x560-#x588#x10D0-#x10FA#x10FD-#x10FF#x13F8-#x13FD#x1C80-#x1C88#x1D00-#x1D2B#x1D6B-#x1D77#x1D79-#x1D9A#x1E01#x1E03#x1E05#x1E07#x1E09#x1E0B#x1E0D#x1E0F#x1E11#x1E13#x1E15#x1E17#x1E19#x1E1B#x1E1D#x1E1F#x1E21#x1E23#x1E25#x1E27#x1E29#x1E2B#x1E2D#x1E2F#x1E31#x1E33#x1E35#x1E37#x1E39#x1E3B#x1E3D#x1E3F#x1E41#x1E43#x1E45#x1E47#x1E49#x1E4B#x1E4D#x1E4F#x1E51#x1E53#x1E55#x1E57#x1E59#x1E5B#x1E5D#x1E5F#x1E61#x1E63#x1E65#x1E67#x1E69#x1E6B#x1E6D#x1E6F#x1E71#x1E73#x1E75#x1E77#x1E79#x1E7B#x1E7D#x1E7F#x1E81#x1E83#x1E85#x1E87#x1E89#x1E8B#x1E8D#x1E8F#x1E91#x1E93#x1E95-#x1E9D#x1E9F#x1EA1#x1EA3#x1EA5#x1EA7#x1EA9#x1EAB#x1EAD#x1EAF#x1EB1#x1EB3#x1EB5#x1EB7#x1EB9#x1EBB#x1EBD#x1EBF#x1EC1#x1EC3#x1EC5#x1EC7#x1EC9#x1ECB#x1ECD#x1ECF#x1ED1#x1ED3#x1ED5#x1ED7#x1ED9#x1EDB#x1EDD#x1EDF#x1EE1#x1EE3#x1EE5#x1EE7#x1EE9#x1EEB#x1EED#x1EEF#x1EF1#x1EF3#x1EF5#x1EF7#x1EF9#x1EFB#x1EFD#x1EFF-#x1F07#x1F10-#x1F15#x1F20-#x1F27#x1F30-#x1F37#x1F40-#x1F45#x1F50-#x1F57#x1F60-#x1F67#x1F70-#x1F7D#x1F80-#x1F87#x1F90-#x1F97#x1FA0-#x1FA7#x1FB0-#x1FB4#x1FB6-#x1FB7#x1FBE#x1FC2-#x1FC4#x1FC6-#x1FC7#x1FD0-#x1FD3#x1FD6-#x1FD7#x1FE0-#x1FE7#x1FF2-#x1FF4#x1FF6-#x1FF7#x210A#x210E-#x210F#x2113#x212F#x2134#x2139#x213C-#x213D#x2146-#x2149#x214E#x2184#x2C30-#x2C5F#x2C61#x2C65-#x2C66#x2C68#x2C6A#x2C6C#x2C71#x2C73-#x2C74#x2C76-#x2C7B#x2C81#x2C83#x2C85#x2C87#x2C89#x2C8B#x2C8D#x2C8F#x2C91#x2C93#x2C95#x2C97#x2C99#x2C9B#x2C9D#x2C9F#x2CA1#x2CA3#x2CA5#x2CA7#x2CA9#x2CAB#x2CAD#x2CAF#x2CB1#x2CB3#x2CB5#x2CB7#x2CB9#x2CBB#x2CBD#x2CBF#x2CC1#x2CC3#x2CC5#x2CC7#x2CC9#x2CCB#x2CCD#x2CCF#x2CD1#x2CD3#x2CD5#x2CD7#x2CD9#x2CDB#x2CDD#x2CDF#x2CE1#x2CE3-#x2CE4#x2CEC#x2CEE#x2CF3#x2D00-#x2D25#x2D27#x2D2D#xA641#xA643#xA645#xA647#xA649#xA64B#xA64D#xA64F#xA651#xA653#xA655#xA657#xA659#xA65B#xA65D#xA65F#xA661#xA663#xA665#xA667#xA669#xA66B#xA66D#xA681#xA683#xA685#xA687#xA689#xA68B#xA68D#xA68F#xA691#xA693#xA695#xA697#xA699#xA69B#xA723#xA725#xA727#xA729#xA72B#xA72D#xA72F-#xA731#xA733#xA735#xA737#xA739#xA73B#xA73D#xA73F#xA741#xA743#xA745#xA747#xA749#xA74B#xA74D#xA74F#xA751#xA753#xA755#xA757#xA759#xA75B#xA75D#xA75F#xA761#xA763#xA765#xA767#xA769#xA76B#xA76D#xA76F#xA771-#xA778#xA77A#xA77C#xA77F#xA781#xA783#xA785#xA787#xA78C#xA78E#xA791#xA793-#xA795#xA797#xA799#xA79B#xA79D#xA79F#xA7A1#xA7A3#xA7A5#xA7A7#xA7A9#xA7AF#xA7B5#xA7B7#xA7B9#xA7BB#xA7BD#xA7BF#xA7C1#xA7C3#xA7C8#xA7CA#xA7D1#xA7D3#xA7D5#xA7D7#xA7D9#xA7F6#xA7FA#xAB30-#xAB5A#xAB60-#xAB68#xAB70-#xABBF#xFB00-#xFB06#xFB13-#xFB17#xFF41-#xFF5A]
Referenced by:

Lm

[#x2B0-#x2C1] [#x2C6-#x2D1] [#x2E0-#x2E4] [#x2EC] [#x2EE] [#x374] [#x37A] [#x559] [#x640] [#x6E5-#x6E6] [#x7F4-#x7F5] [#x7FA] [#x81A] [#x824] [#x828] [#x8C9] [#x971] [#xE46] [#xEC6] [#x10FC] [#x17D7] [#x1843] [#x1AA7] [#x1C78-#x1C7D] [#x1D2C-#x1D6A] [#x1D78] [#x1D9B-#x1DBF] [#x2071] [#x207F] [#x2090-#x209C] [#x2C7C-#x2C7D] [#x2D6F] [#x2E2F] [#x3005] [#x3031-#x3035] [#x303B] [#x309D-#x309E] [#x30FC-#x30FE] [#xA015] [#xA4F8-#xA4FD] [#xA60C] [#xA67F] [#xA69C-#xA69D] [#xA717-#xA71F] [#xA770] [#xA788] [#xA7F2-#xA7F4] [#xA7F8-#xA7F9] [#xA9CF] [#xA9E6] [#xAA70] [#xAADD] [#xAAF3-#xAAF4] [#xAB5C-#xAB5F] [#xAB69] [#xFF70] [#xFF9E-#xFF9F]
Lm       ::= [#x2B0-#x2C1#x2C6-#x2D1#x2E0-#x2E4#x2EC#x2EE#x374#x37A#x559#x640#x6E5-#x6E6#x7F4-#x7F5#x7FA#x81A#x824#x828#x8C9#x971#xE46#xEC6#x10FC#x17D7#x1843#x1AA7#x1C78-#x1C7D#x1D2C-#x1D6A#x1D78#x1D9B-#x1DBF#x2071#x207F#x2090-#x209C#x2C7C-#x2C7D#x2D6F#x2E2F#x3005#x3031-#x3035#x303B#x309D-#x309E#x30FC-#x30FE#xA015#xA4F8-#xA4FD#xA60C#xA67F#xA69C-#xA69D#xA717-#xA71F#xA770#xA788#xA7F2-#xA7F4#xA7F8-#xA7F9#xA9CF#xA9E6#xAA70#xAADD#xAAF3-#xAAF4#xAB5C-#xAB5F#xAB69#xFF70#xFF9E-#xFF9F]
Referenced by:

Lo

[#xAA] [#xBA] [#x1BB] [#x1C0-#x1C3] [#x294] [#x5D0-#x5EA] [#x5EF-#x5F2] [#x620-#x63F] [#x641-#x64A] [#x66E-#x66F] [#x671-#x6D3] [#x6D5] [#x6EE-#x6EF] [#x6FA-#x6FC] [#x6FF] [#x710] [#x712-#x72F] [#x74D-#x7A5] [#x7B1] [#x7CA-#x7EA] [#x800-#x815] [#x840-#x858] [#x860-#x86A] [#x870-#x887] [#x889-#x88E] [#x8A0-#x8C8] [#x904-#x939] [#x93D] [#x950] [#x958-#x961] [#x972-#x980] [#x985-#x98C] [#x98F-#x990] [#x993-#x9A8] [#x9AA-#x9B0] [#x9B2] [#x9B6-#x9B9] [#x9BD] [#x9CE] [#x9DC-#x9DD] [#x9DF-#x9E1] [#x9F0-#x9F1] [#x9FC] [#xA05-#xA0A] [#xA0F-#xA10] [#xA13-#xA28] [#xA2A-#xA30] [#xA32-#xA33] [#xA35-#xA36] [#xA38-#xA39] [#xA59-#xA5C] [#xA5E] [#xA72-#xA74] [#xA85-#xA8D] [#xA8F-#xA91] [#xA93-#xAA8] [#xAAA-#xAB0] [#xAB2-#xAB3] [#xAB5-#xAB9] [#xABD] [#xAD0] [#xAE0-#xAE1] [#xAF9] [#xB05-#xB0C] [#xB0F-#xB10] [#xB13-#xB28] [#xB2A-#xB30] [#xB32-#xB33] [#xB35-#xB39] [#xB3D] [#xB5C-#xB5D] [#xB5F-#xB61] [#xB71] [#xB83] [#xB85-#xB8A] [#xB8E-#xB90] [#xB92-#xB95] [#xB99-#xB9A] [#xB9C] [#xB9E-#xB9F] [#xBA3-#xBA4] [#xBA8-#xBAA] [#xBAE-#xBB9] [#xBD0] [#xC05-#xC0C] [#xC0E-#xC10] [#xC12-#xC28] [#xC2A-#xC39] [#xC3D] [#xC58-#xC5A] [#xC5D] [#xC60-#xC61] [#xC80] [#xC85-#xC8C] [#xC8E-#xC90] [#xC92-#xCA8] [#xCAA-#xCB3] [#xCB5-#xCB9] [#xCBD] [#xCDD-#xCDE] [#xCE0-#xCE1] [#xCF1-#xCF2] [#xD04-#xD0C] [#xD0E-#xD10] [#xD12-#xD3A] [#xD3D] [#xD4E] [#xD54-#xD56] [#xD5F-#xD61] [#xD7A-#xD7F] [#xD85-#xD96] [#xD9A-#xDB1] [#xDB3-#xDBB] [#xDBD] [#xDC0-#xDC6] [#xE01-#xE30] [#xE32-#xE33] [#xE40-#xE45] [#xE81-#xE82] [#xE84] [#xE86-#xE8A] [#xE8C-#xEA3] [#xEA5] [#xEA7-#xEB0] [#xEB2-#xEB3] [#xEBD] [#xEC0-#xEC4] [#xEDC-#xEDF] [#xF00] [#xF40-#xF47] [#xF49-#xF6C] [#xF88-#xF8C] [#x1000-#x102A] [#x103F] [#x1050-#x1055] [#x105A-#x105D] [#x1061] [#x1065-#x1066] [#x106E-#x1070] [#x1075-#x1081] [#x108E] [#x1100-#x1248] [#x124A-#x124D] [#x1250-#x1256] [#x1258] [#x125A-#x125D] [#x1260-#x1288] [#x128A-#x128D] [#x1290-#x12B0] [#x12B2-#x12B5] [#x12B8-#x12BE] [#x12C0] [#x12C2-#x12C5] [#x12C8-#x12D6] [#x12D8-#x1310] [#x1312-#x1315] [#x1318-#x135A] [#x1380-#x138F] [#x1401-#x166C] [#x166F-#x167F] [#x1681-#x169A] [#x16A0-#x16EA] [#x16F1-#x16F8] [#x1700-#x1711] [#x171F-#x1731] [#x1740-#x1751] [#x1760-#x176C] [#x176E-#x1770] [#x1780-#x17B3] [#x17DC] [#x1820-#x1842] [#x1844-#x1878] [#x1880-#x1884] [#x1887-#x18A8] [#x18AA] [#x18B0-#x18F5] [#x1900-#x191E] [#x1950-#x196D] [#x1970-#x1974] [#x1980-#x19AB] [#x19B0-#x19C9] [#x1A00-#x1A16] [#x1A20-#x1A54] [#x1B05-#x1B33] [#x1B45-#x1B4C] [#x1B83-#x1BA0] [#x1BAE-#x1BAF] [#x1BBA-#x1BE5] [#x1C00-#x1C23] [#x1C4D-#x1C4F] [#x1C5A-#x1C77] [#x1CE9-#x1CEC] [#x1CEE-#x1CF3] [#x1CF5-#x1CF6] [#x1CFA] [#x2135-#x2138] [#x2D30-#x2D67] [#x2D80-#x2D96] [#x2DA0-#x2DA6] [#x2DA8-#x2DAE] [#x2DB0-#x2DB6] [#x2DB8-#x2DBE] [#x2DC0-#x2DC6] [#x2DC8-#x2DCE] [#x2DD0-#x2DD6] [#x2DD8-#x2DDE] [#x3006] [#x303C] [#x3041-#x3096] [#x309F] [#x30A1-#x30FA] [#x30FF] [#x3105-#x312F] [#x3131-#x318E] [#x31A0-#x31BF] [#x31F0-#x31FF] [#x4DBF] [#x9FFF-#xA014] [#xA016-#xA48C] [#xA4D0-#xA4F7] [#xA500-#xA60B] [#xA610-#xA61F] [#xA62A-#xA62B] [#xA66E] [#xA6A0-#xA6E5] [#xA78F] [#xA7F7] [#xA7FB-#xA801] [#xA803-#xA805] [#xA807-#xA80A] [#xA80C-#xA822] [#xA840-#xA873] [#xA882-#xA8B3] [#xA8F2-#xA8F7] [#xA8FB] [#xA8FD-#xA8FE] [#xA90A-#xA925] [#xA930-#xA946] [#xA960-#xA97C] [#xA984-#xA9B2] [#xA9E0-#xA9E4] [#xA9E7-#xA9EF] [#xA9FA-#xA9FE] [#xAA00-#xAA28] [#xAA40-#xAA42] [#xAA44-#xAA4B] [#xAA60-#xAA6F] [#xAA71-#xAA76] [#xAA7A] [#xAA7E-#xAAAF] [#xAAB1] [#xAAB5-#xAAB6] [#xAAB9-#xAABD] [#xAAC0] [#xAAC2] [#xAADB-#xAADC] [#xAAE0-#xAAEA] [#xAAF2] [#xAB01-#xAB06] [#xAB09-#xAB0E] [#xAB11-#xAB16] [#xAB20-#xAB26] [#xAB28-#xAB2E] [#xABC0-#xABE2] [#xD7A3] [#xD7B0-#xD7C6] [#xD7CB-#xD7FB] [#xF900-#xFA6D] [#xFA70-#xFAD9] [#xFB1D] [#xFB1F-#xFB28] [#xFB2A-#xFB36] [#xFB38-#xFB3C] [#xFB3E] [#xFB40-#xFB41] [#xFB43-#xFB44] [#xFB46-#xFBB1] [#xFBD3-#xFD3D] [#xFD50-#xFD8F] [#xFD92-#xFDC7] [#xFDF0-#xFDFB] [#xFE70-#xFE74] [#xFE76-#xFEFC] [#xFF66-#xFF6F] [#xFF71-#xFF9D] [#xFFA0-#xFFBE] [#xFFC2-#xFFC7] [#xFFCA-#xFFCF] [#xFFD2-#xFFD7] [#xFFDA-#xFFDC]
Lo       ::= [#xAA#xBA#x1BB#x1C0-#x1C3#x294#x5D0-#x5EA#x5EF-#x5F2#x620-#x63F#x641-#x64A#x66E-#x66F#x671-#x6D3#x6D5#x6EE-#x6EF#x6FA-#x6FC#x6FF#x710#x712-#x72F#x74D-#x7A5#x7B1#x7CA-#x7EA#x800-#x815#x840-#x858#x860-#x86A#x870-#x887#x889-#x88E#x8A0-#x8C8#x904-#x939#x93D#x950#x958-#x961#x972-#x980#x985-#x98C#x98F-#x990#x993-#x9A8#x9AA-#x9B0#x9B2#x9B6-#x9B9#x9BD#x9CE#x9DC-#x9DD#x9DF-#x9E1#x9F0-#x9F1#x9FC#xA05-#xA0A#xA0F-#xA10#xA13-#xA28#xA2A-#xA30#xA32-#xA33#xA35-#xA36#xA38-#xA39#xA59-#xA5C#xA5E#xA72-#xA74#xA85-#xA8D#xA8F-#xA91#xA93-#xAA8#xAAA-#xAB0#xAB2-#xAB3#xAB5-#xAB9#xABD#xAD0#xAE0-#xAE1#xAF9#xB05-#xB0C#xB0F-#xB10#xB13-#xB28#xB2A-#xB30#xB32-#xB33#xB35-#xB39#xB3D#xB5C-#xB5D#xB5F-#xB61#xB71#xB83#xB85-#xB8A#xB8E-#xB90#xB92-#xB95#xB99-#xB9A#xB9C#xB9E-#xB9F#xBA3-#xBA4#xBA8-#xBAA#xBAE-#xBB9#xBD0#xC05-#xC0C#xC0E-#xC10#xC12-#xC28#xC2A-#xC39#xC3D#xC58-#xC5A#xC5D#xC60-#xC61#xC80#xC85-#xC8C#xC8E-#xC90#xC92-#xCA8#xCAA-#xCB3#xCB5-#xCB9#xCBD#xCDD-#xCDE#xCE0-#xCE1#xCF1-#xCF2#xD04-#xD0C#xD0E-#xD10#xD12-#xD3A#xD3D#xD4E#xD54-#xD56#xD5F-#xD61#xD7A-#xD7F#xD85-#xD96#xD9A-#xDB1#xDB3-#xDBB#xDBD#xDC0-#xDC6#xE01-#xE30#xE32-#xE33#xE40-#xE45#xE81-#xE82#xE84#xE86-#xE8A#xE8C-#xEA3#xEA5#xEA7-#xEB0#xEB2-#xEB3#xEBD#xEC0-#xEC4#xEDC-#xEDF#xF00#xF40-#xF47#xF49-#xF6C#xF88-#xF8C#x1000-#x102A#x103F#x1050-#x1055#x105A-#x105D#x1061#x1065-#x1066#x106E-#x1070#x1075-#x1081#x108E#x1100-#x1248#x124A-#x124D#x1250-#x1256#x1258#x125A-#x125D#x1260-#x1288#x128A-#x128D#x1290-#x12B0#x12B2-#x12B5#x12B8-#x12BE#x12C0#x12C2-#x12C5#x12C8-#x12D6#x12D8-#x1310#x1312-#x1315#x1318-#x135A#x1380-#x138F#x1401-#x166C#x166F-#x167F#x1681-#x169A#x16A0-#x16EA#x16F1-#x16F8#x1700-#x1711#x171F-#x1731#x1740-#x1751#x1760-#x176C#x176E-#x1770#x1780-#x17B3#x17DC#x1820-#x1842#x1844-#x1878#x1880-#x1884#x1887-#x18A8#x18AA#x18B0-#x18F5#x1900-#x191E#x1950-#x196D#x1970-#x1974#x1980-#x19AB#x19B0-#x19C9#x1A00-#x1A16#x1A20-#x1A54#x1B05-#x1B33#x1B45-#x1B4C#x1B83-#x1BA0#x1BAE-#x1BAF#x1BBA-#x1BE5#x1C00-#x1C23#x1C4D-#x1C4F#x1C5A-#x1C77#x1CE9-#x1CEC#x1CEE-#x1CF3#x1CF5-#x1CF6#x1CFA#x2135-#x2138#x2D30-#x2D67#x2D80-#x2D96#x2DA0-#x2DA6#x2DA8-#x2DAE#x2DB0-#x2DB6#x2DB8-#x2DBE#x2DC0-#x2DC6#x2DC8-#x2DCE#x2DD0-#x2DD6#x2DD8-#x2DDE#x3006#x303C#x3041-#x3096#x309F#x30A1-#x30FA#x30FF#x3105-#x312F#x3131-#x318E#x31A0-#x31BF#x31F0-#x31FF#x4DBF#x9FFF-#xA014#xA016-#xA48C#xA4D0-#xA4F7#xA500-#xA60B#xA610-#xA61F#xA62A-#xA62B#xA66E#xA6A0-#xA6E5#xA78F#xA7F7#xA7FB-#xA801#xA803-#xA805#xA807-#xA80A#xA80C-#xA822#xA840-#xA873#xA882-#xA8B3#xA8F2-#xA8F7#xA8FB#xA8FD-#xA8FE#xA90A-#xA925#xA930-#xA946#xA960-#xA97C#xA984-#xA9B2#xA9E0-#xA9E4#xA9E7-#xA9EF#xA9FA-#xA9FE#xAA00-#xAA28#xAA40-#xAA42#xAA44-#xAA4B#xAA60-#xAA6F#xAA71-#xAA76#xAA7A#xAA7E-#xAAAF#xAAB1#xAAB5-#xAAB6#xAAB9-#xAABD#xAAC0#xAAC2#xAADB-#xAADC#xAAE0-#xAAEA#xAAF2#xAB01-#xAB06#xAB09-#xAB0E#xAB11-#xAB16#xAB20-#xAB26#xAB28-#xAB2E#xABC0-#xABE2#xD7A3#xD7B0-#xD7C6#xD7CB-#xD7FB#xF900-#xFA6D#xFA70-#xFAD9#xFB1D#xFB1F-#xFB28#xFB2A-#xFB36#xFB38-#xFB3C#xFB3E#xFB40-#xFB41#xFB43-#xFB44#xFB46-#xFBB1#xFBD3-#xFD3D#xFD50-#xFD8F#xFD92-#xFDC7#xFDF0-#xFDFB#xFE70-#xFE74#xFE76-#xFEFC#xFF66-#xFF6F#xFF71-#xFF9D#xFFA0-#xFFBE#xFFC2-#xFFC7#xFFCA-#xFFCF#xFFD2-#xFFD7#xFFDA-#xFFDC]
Referenced by:

Lt

[#x1C5] [#x1C8] [#x1CB] [#x1F2] [#x1F88-#x1F8F] [#x1F98-#x1F9F] [#x1FA8-#x1FAF] [#x1FBC] [#x1FCC] [#x1FFC]
Lt       ::= [#x1C5#x1C8#x1CB#x1F2#x1F88-#x1F8F#x1F98-#x1F9F#x1FA8-#x1FAF#x1FBC#x1FCC#x1FFC]
Referenced by:

Lu

[A-Z] [#xC0-#xD6] [#xD8-#xDE] [#x100] [#x102] [#x104] [#x106] [#x108] [#x10A] [#x10C] [#x10E] [#x110] [#x112] [#x114] [#x116] [#x118] [#x11A] [#x11C] [#x11E] [#x120] [#x122] [#x124] [#x126] [#x128] [#x12A] [#x12C] [#x12E] [#x130] [#x132] [#x134] [#x136] [#x139] [#x13B] [#x13D] [#x13F] [#x141] [#x143] [#x145] [#x147] [#x14A] [#x14C] [#x14E] [#x150] [#x152] [#x154] [#x156] [#x158] [#x15A] [#x15C] [#x15E] [#x160] [#x162] [#x164] [#x166] [#x168] [#x16A] [#x16C] [#x16E] [#x170] [#x172] [#x174] [#x176] [#x178-#x179] [#x17B] [#x17D] [#x181-#x182] [#x184] [#x186-#x187] [#x189-#x18B] [#x18E-#x191] [#x193-#x194] [#x196-#x198] [#x19C-#x19D] [#x19F-#x1A0] [#x1A2] [#x1A4] [#x1A6-#x1A7] [#x1A9] [#x1AC] [#x1AE-#x1AF] [#x1B1-#x1B3] [#x1B5] [#x1B7-#x1B8] [#x1BC] [#x1C4] [#x1C7] [#x1CA] [#x1CD] [#x1CF] [#x1D1] [#x1D3] [#x1D5] [#x1D7] [#x1D9] [#x1DB] [#x1DE] [#x1E0] [#x1E2] [#x1E4] [#x1E6] [#x1E8] [#x1EA] [#x1EC] [#x1EE] [#x1F1] [#x1F4] [#x1F6-#x1F8] [#x1FA] [#x1FC] [#x1FE] [#x200] [#x202] [#x204] [#x206] [#x208] [#x20A] [#x20C] [#x20E] [#x210] [#x212] [#x214] [#x216] [#x218] [#x21A] [#x21C] [#x21E] [#x220] [#x222] [#x224] [#x226] [#x228] [#x22A] [#x22C] [#x22E] [#x230] [#x232] [#x23A-#x23B] [#x23D-#x23E] [#x241] [#x243-#x246] [#x248] [#x24A] [#x24C] [#x24E] [#x370] [#x372] [#x376] [#x37F] [#x386] [#x388-#x38A] [#x38C] [#x38E-#x38F] [#x391-#x3A1] [#x3A3-#x3AB] [#x3CF] [#x3D2-#x3D4] [#x3D8] [#x3DA] [#x3DC] [#x3DE] [#x3E0] [#x3E2] [#x3E4] [#x3E6] [#x3E8] [#x3EA] [#x3EC] [#x3EE] [#x3F4] [#x3F7] [#x3F9-#x3FA] [#x3FD-#x42F] [#x460] [#x462] [#x464] [#x466] [#x468] [#x46A] [#x46C] [#x46E] [#x470] [#x472] [#x474] [#x476] [#x478] [#x47A] [#x47C] [#x47E] [#x480] [#x48A] [#x48C] [#x48E] [#x490] [#x492] [#x494] [#x496] [#x498] [#x49A] [#x49C] [#x49E] [#x4A0] [#x4A2] [#x4A4] [#x4A6] [#x4A8] [#x4AA] [#x4AC] [#x4AE] [#x4B0] [#x4B2] [#x4B4] [#x4B6] [#x4B8] [#x4BA] [#x4BC] [#x4BE] [#x4C0-#x4C1] [#x4C3] [#x4C5] [#x4C7] [#x4C9] [#x4CB] [#x4CD] [#x4D0] [#x4D2] [#x4D4] [#x4D6] [#x4D8] [#x4DA] [#x4DC] [#x4DE] [#x4E0] [#x4E2] [#x4E4] [#x4E6] [#x4E8] [#x4EA] [#x4EC] [#x4EE] [#x4F0] [#x4F2] [#x4F4] [#x4F6] [#x4F8] [#x4FA] [#x4FC] [#x4FE] [#x500] [#x502] [#x504] [#x506] [#x508] [#x50A] [#x50C] [#x50E] [#x510] [#x512] [#x514] [#x516] [#x518] [#x51A] [#x51C] [#x51E] [#x520] [#x522] [#x524] [#x526] [#x528] [#x52A] [#x52C] [#x52E] [#x531-#x556] [#x10A0-#x10C5] [#x10C7] [#x10CD] [#x13A0-#x13F5] [#x1C90-#x1CBA] [#x1CBD-#x1CBF] [#x1E00] [#x1E02] [#x1E04] [#x1E06] [#x1E08] [#x1E0A] [#x1E0C] [#x1E0E] [#x1E10] [#x1E12] [#x1E14] [#x1E16] [#x1E18] [#x1E1A] [#x1E1C] [#x1E1E] [#x1E20] [#x1E22] [#x1E24] [#x1E26] [#x1E28] [#x1E2A] [#x1E2C] [#x1E2E] [#x1E30] [#x1E32] [#x1E34] [#x1E36] [#x1E38] [#x1E3A] [#x1E3C] [#x1E3E] [#x1E40] [#x1E42] [#x1E44] [#x1E46] [#x1E48] [#x1E4A] [#x1E4C] [#x1E4E] [#x1E50] [#x1E52] [#x1E54] [#x1E56] [#x1E58] [#x1E5A] [#x1E5C] [#x1E5E] [#x1E60] [#x1E62] [#x1E64] [#x1E66] [#x1E68] [#x1E6A] [#x1E6C] [#x1E6E] [#x1E70] [#x1E72] [#x1E74] [#x1E76] [#x1E78] [#x1E7A] [#x1E7C] [#x1E7E] [#x1E80] [#x1E82] [#x1E84] [#x1E86] [#x1E88] [#x1E8A] [#x1E8C] [#x1E8E] [#x1E90] [#x1E92] [#x1E94] [#x1E9E] [#x1EA0] [#x1EA2] [#x1EA4] [#x1EA6] [#x1EA8] [#x1EAA] [#x1EAC] [#x1EAE] [#x1EB0] [#x1EB2] [#x1EB4] [#x1EB6] [#x1EB8] [#x1EBA] [#x1EBC] [#x1EBE] [#x1EC0] [#x1EC2] [#x1EC4] [#x1EC6] [#x1EC8] [#x1ECA] [#x1ECC] [#x1ECE] [#x1ED0] [#x1ED2] [#x1ED4] [#x1ED6] [#x1ED8] [#x1EDA] [#x1EDC] [#x1EDE] [#x1EE0] [#x1EE2] [#x1EE4] [#x1EE6] [#x1EE8] [#x1EEA] [#x1EEC] [#x1EEE] [#x1EF0] [#x1EF2] [#x1EF4] [#x1EF6] [#x1EF8] [#x1EFA] [#x1EFC] [#x1EFE] [#x1F08-#x1F0F] [#x1F18-#x1F1D] [#x1F28-#x1F2F] [#x1F38-#x1F3F] [#x1F48-#x1F4D] [#x1F59] [#x1F5B] [#x1F5D] [#x1F5F] [#x1F68-#x1F6F] [#x1FB8-#x1FBB] [#x1FC8-#x1FCB] [#x1FD8-#x1FDB] [#x1FE8-#x1FEC] [#x1FF8-#x1FFB] [#x2102] [#x2107] [#x210B-#x210D] [#x2110-#x2112] [#x2115] [#x2119-#x211D] [#x2124] [#x2126] [#x2128] [#x212A-#x212D] [#x2130-#x2133] [#x213E-#x213F] [#x2145] [#x2183] [#x2C00-#x2C2F] [#x2C60] [#x2C62-#x2C64] [#x2C67] [#x2C69] [#x2C6B] [#x2C6D-#x2C70] [#x2C72] [#x2C75] [#x2C7E-#x2C80] [#x2C82] [#x2C84] [#x2C86] [#x2C88] [#x2C8A] [#x2C8C] [#x2C8E] [#x2C90] [#x2C92] [#x2C94] [#x2C96] [#x2C98] [#x2C9A] [#x2C9C] [#x2C9E] [#x2CA0] [#x2CA2] [#x2CA4] [#x2CA6] [#x2CA8] [#x2CAA] [#x2CAC] [#x2CAE] [#x2CB0] [#x2CB2] [#x2CB4] [#x2CB6] [#x2CB8] [#x2CBA] [#x2CBC] [#x2CBE] [#x2CC0] [#x2CC2] [#x2CC4] [#x2CC6] [#x2CC8] [#x2CCA] [#x2CCC] [#x2CCE] [#x2CD0] [#x2CD2] [#x2CD4] [#x2CD6] [#x2CD8] [#x2CDA] [#x2CDC] [#x2CDE] [#x2CE0] [#x2CE2] [#x2CEB] [#x2CED] [#x2CF2] [#xA640] [#xA642] [#xA644] [#xA646] [#xA648] [#xA64A] [#xA64C] [#xA64E] [#xA650] [#xA652] [#xA654] [#xA656] [#xA658] [#xA65A] [#xA65C] [#xA65E] [#xA660] [#xA662] [#xA664] [#xA666] [#xA668] [#xA66A] [#xA66C] [#xA680] [#xA682] [#xA684] [#xA686] [#xA688] [#xA68A] [#xA68C] [#xA68E] [#xA690] [#xA692] [#xA694] [#xA696] [#xA698] [#xA69A] [#xA722] [#xA724] [#xA726] [#xA728] [#xA72A] [#xA72C] [#xA72E] [#xA732] [#xA734] [#xA736] [#xA738] [#xA73A] [#xA73C] [#xA73E] [#xA740] [#xA742] [#xA744] [#xA746] [#xA748] [#xA74A] [#xA74C] [#xA74E] [#xA750] [#xA752] [#xA754] [#xA756] [#xA758] [#xA75A] [#xA75C] [#xA75E] [#xA760] [#xA762] [#xA764] [#xA766] [#xA768] [#xA76A] [#xA76C] [#xA76E] [#xA779] [#xA77B] [#xA77D-#xA77E] [#xA780] [#xA782] [#xA784] [#xA786] [#xA78B] [#xA78D] [#xA790] [#xA792] [#xA796] [#xA798] [#xA79A] [#xA79C] [#xA79E] [#xA7A0] [#xA7A2] [#xA7A4] [#xA7A6] [#xA7A8] [#xA7AA-#xA7AE] [#xA7B0-#xA7B4] [#xA7B6] [#xA7B8] [#xA7BA] [#xA7BC] [#xA7BE] [#xA7C0] [#xA7C2] [#xA7C4-#xA7C7] [#xA7C9] [#xA7D0] [#xA7D6] [#xA7D8] [#xA7F5] [#xFF21-#xFF3A]
Lu       ::= [A-Z#xC0-#xD6#xD8-#xDE#x100#x102#x104#x106#x108#x10A#x10C#x10E#x110#x112#x114#x116#x118#x11A#x11C#x11E#x120#x122#x124#x126#x128#x12A#x12C#x12E#x130#x132#x134#x136#x139#x13B#x13D#x13F#x141#x143#x145#x147#x14A#x14C#x14E#x150#x152#x154#x156#x158#x15A#x15C#x15E#x160#x162#x164#x166#x168#x16A#x16C#x16E#x170#x172#x174#x176#x178-#x179#x17B#x17D#x181-#x182#x184#x186-#x187#x189-#x18B#x18E-#x191#x193-#x194#x196-#x198#x19C-#x19D#x19F-#x1A0#x1A2#x1A4#x1A6-#x1A7#x1A9#x1AC#x1AE-#x1AF#x1B1-#x1B3#x1B5#x1B7-#x1B8#x1BC#x1C4#x1C7#x1CA#x1CD#x1CF#x1D1#x1D3#x1D5#x1D7#x1D9#x1DB#x1DE#x1E0#x1E2#x1E4#x1E6#x1E8#x1EA#x1EC#x1EE#x1F1#x1F4#x1F6-#x1F8#x1FA#x1FC#x1FE#x200#x202#x204#x206#x208#x20A#x20C#x20E#x210#x212#x214#x216#x218#x21A#x21C#x21E#x220#x222#x224#x226#x228#x22A#x22C#x22E#x230#x232#x23A-#x23B#x23D-#x23E#x241#x243-#x246#x248#x24A#x24C#x24E#x370#x372#x376#x37F#x386#x388-#x38A#x38C#x38E-#x38F#x391-#x3A1#x3A3-#x3AB#x3CF#x3D2-#x3D4#x3D8#x3DA#x3DC#x3DE#x3E0#x3E2#x3E4#x3E6#x3E8#x3EA#x3EC#x3EE#x3F4#x3F7#x3F9-#x3FA#x3FD-#x42F#x460#x462#x464#x466#x468#x46A#x46C#x46E#x470#x472#x474#x476#x478#x47A#x47C#x47E#x480#x48A#x48C#x48E#x490#x492#x494#x496#x498#x49A#x49C#x49E#x4A0#x4A2#x4A4#x4A6#x4A8#x4AA#x4AC#x4AE#x4B0#x4B2#x4B4#x4B6#x4B8#x4BA#x4BC#x4BE#x4C0-#x4C1#x4C3#x4C5#x4C7#x4C9#x4CB#x4CD#x4D0#x4D2#x4D4#x4D6#x4D8#x4DA#x4DC#x4DE#x4E0#x4E2#x4E4#x4E6#x4E8#x4EA#x4EC#x4EE#x4F0#x4F2#x4F4#x4F6#x4F8#x4FA#x4FC#x4FE#x500#x502#x504#x506#x508#x50A#x50C#x50E#x510#x512#x514#x516#x518#x51A#x51C#x51E#x520#x522#x524#x526#x528#x52A#x52C#x52E#x531-#x556#x10A0-#x10C5#x10C7#x10CD#x13A0-#x13F5#x1C90-#x1CBA#x1CBD-#x1CBF#x1E00#x1E02#x1E04#x1E06#x1E08#x1E0A#x1E0C#x1E0E#x1E10#x1E12#x1E14#x1E16#x1E18#x1E1A#x1E1C#x1E1E#x1E20#x1E22#x1E24#x1E26#x1E28#x1E2A#x1E2C#x1E2E#x1E30#x1E32#x1E34#x1E36#x1E38#x1E3A#x1E3C#x1E3E#x1E40#x1E42#x1E44#x1E46#x1E48#x1E4A#x1E4C#x1E4E#x1E50#x1E52#x1E54#x1E56#x1E58#x1E5A#x1E5C#x1E5E#x1E60#x1E62#x1E64#x1E66#x1E68#x1E6A#x1E6C#x1E6E#x1E70#x1E72#x1E74#x1E76#x1E78#x1E7A#x1E7C#x1E7E#x1E80#x1E82#x1E84#x1E86#x1E88#x1E8A#x1E8C#x1E8E#x1E90#x1E92#x1E94#x1E9E#x1EA0#x1EA2#x1EA4#x1EA6#x1EA8#x1EAA#x1EAC#x1EAE#x1EB0#x1EB2#x1EB4#x1EB6#x1EB8#x1EBA#x1EBC#x1EBE#x1EC0#x1EC2#x1EC4#x1EC6#x1EC8#x1ECA#x1ECC#x1ECE#x1ED0#x1ED2#x1ED4#x1ED6#x1ED8#x1EDA#x1EDC#x1EDE#x1EE0#x1EE2#x1EE4#x1EE6#x1EE8#x1EEA#x1EEC#x1EEE#x1EF0#x1EF2#x1EF4#x1EF6#x1EF8#x1EFA#x1EFC#x1EFE#x1F08-#x1F0F#x1F18-#x1F1D#x1F28-#x1F2F#x1F38-#x1F3F#x1F48-#x1F4D#x1F59#x1F5B#x1F5D#x1F5F#x1F68-#x1F6F#x1FB8-#x1FBB#x1FC8-#x1FCB#x1FD8-#x1FDB#x1FE8-#x1FEC#x1FF8-#x1FFB#x2102#x2107#x210B-#x210D#x2110-#x2112#x2115#x2119-#x211D#x2124#x2126#x2128#x212A-#x212D#x2130-#x2133#x213E-#x213F#x2145#x2183#x2C00-#x2C2F#x2C60#x2C62-#x2C64#x2C67#x2C69#x2C6B#x2C6D-#x2C70#x2C72#x2C75#x2C7E-#x2C80#x2C82#x2C84#x2C86#x2C88#x2C8A#x2C8C#x2C8E#x2C90#x2C92#x2C94#x2C96#x2C98#x2C9A#x2C9C#x2C9E#x2CA0#x2CA2#x2CA4#x2CA6#x2CA8#x2CAA#x2CAC#x2CAE#x2CB0#x2CB2#x2CB4#x2CB6#x2CB8#x2CBA#x2CBC#x2CBE#x2CC0#x2CC2#x2CC4#x2CC6#x2CC8#x2CCA#x2CCC#x2CCE#x2CD0#x2CD2#x2CD4#x2CD6#x2CD8#x2CDA#x2CDC#x2CDE#x2CE0#x2CE2#x2CEB#x2CED#x2CF2#xA640#xA642#xA644#xA646#xA648#xA64A#xA64C#xA64E#xA650#xA652#xA654#xA656#xA658#xA65A#xA65C#xA65E#xA660#xA662#xA664#xA666#xA668#xA66A#xA66C#xA680#xA682#xA684#xA686#xA688#xA68A#xA68C#xA68E#xA690#xA692#xA694#xA696#xA698#xA69A#xA722#xA724#xA726#xA728#xA72A#xA72C#xA72E#xA732#xA734#xA736#xA738#xA73A#xA73C#xA73E#xA740#xA742#xA744#xA746#xA748#xA74A#xA74C#xA74E#xA750#xA752#xA754#xA756#xA758#xA75A#xA75C#xA75E#xA760#xA762#xA764#xA766#xA768#xA76A#xA76C#xA76E#xA779#xA77B#xA77D-#xA77E#xA780#xA782#xA784#xA786#xA78B#xA78D#xA790#xA792#xA796#xA798#xA79A#xA79C#xA79E#xA7A0#xA7A2#xA7A4#xA7A6#xA7A8#xA7AA-#xA7AE#xA7B0-#xA7B4#xA7B6#xA7B8#xA7BA#xA7BC#xA7BE#xA7C0#xA7C2#xA7C4-#xA7C7#xA7C9#xA7D0#xA7D6#xA7D8#xA7F5#xFF21-#xFF3A]
Referenced by:

Nl

[#x16EE-#x16F0] [#x2160-#x2182] [#x2185-#x2188] [#x3007] [#x3021-#x3029] [#x3038-#x303A] [#xA6E6-#xA6EF]
Nl       ::= [#x16EE-#x16F0#x2160-#x2182#x2185-#x2188#x3007#x3021-#x3029#x3038-#x303A#xA6E6-#xA6EF]
Referenced by:

UnicodeIdentifierExtend

Mn Mc Nd Pc Cf CJK
         ::= Mn
           | Mc
           | Nd
           | Pc
           | Cf
           | CJK
Referenced by:

Cf

[#xAD] [#x600-#x605] [#x61C] [#x6DD] [#x70F] [#x890-#x891] [#x8E2] [#x180E] [#x200B-#x200F] [#x202A-#x202E] [#x2060-#x2064] [#x2066-#x206F] [#xFEFF] [#xFFF9-#xFFFB]
Cf       ::= [#xAD#x600-#x605#x61C#x6DD#x70F#x890-#x891#x8E2#x180E#x200B-#x200F#x202A-#x202E#x2060-#x2064#x2066-#x206F#xFEFF#xFFF9-#xFFFB]
Referenced by:

Mc

[#x903] [#x93B] [#x93E-#x940] [#x949-#x94C] [#x94E-#x94F] [#x982-#x983] [#x9BE-#x9C0] [#x9C7-#x9C8] [#x9CB-#x9CC] [#x9D7] [#xA03] [#xA3E-#xA40] [#xA83] [#xABE-#xAC0] [#xAC9] [#xACB-#xACC] [#xB02-#xB03] [#xB3E] [#xB40] [#xB47-#xB48] [#xB4B-#xB4C] [#xB57] [#xBBE-#xBBF] [#xBC1-#xBC2] [#xBC6-#xBC8] [#xBCA-#xBCC] [#xBD7] [#xC01-#xC03] [#xC41-#xC44] [#xC82-#xC83] [#xCBE] [#xCC0-#xCC4] [#xCC7-#xCC8] [#xCCA-#xCCB] [#xCD5-#xCD6] [#xCF3] [#xD02-#xD03] [#xD3E-#xD40] [#xD46-#xD48] [#xD4A-#xD4C] [#xD57] [#xD82-#xD83] [#xDCF-#xDD1] [#xDD8-#xDDF] [#xDF2-#xDF3] [#xF3E-#xF3F] [#xF7F] [#x102B-#x102C] [#x1031] [#x1038] [#x103B-#x103C] [#x1056-#x1057] [#x1062-#x1064] [#x1067-#x106D] [#x1083-#x1084] [#x1087-#x108C] [#x108F] [#x109A-#x109C] [#x1715] [#x1734] [#x17B6] [#x17BE-#x17C5] [#x17C7-#x17C8] [#x1923-#x1926] [#x1929-#x192B] [#x1930-#x1931] [#x1933-#x1938] [#x1A19-#x1A1A] [#x1A55] [#x1A57] [#x1A61] [#x1A63-#x1A64] [#x1A6D-#x1A72] [#x1B04] [#x1B35] [#x1B3B] [#x1B3D-#x1B41] [#x1B43-#x1B44] [#x1B82] [#x1BA1] [#x1BA6-#x1BA7] [#x1BAA] [#x1BE7] [#x1BEA-#x1BEC] [#x1BEE] [#x1BF2-#x1BF3] [#x1C24-#x1C2B] [#x1C34-#x1C35] [#x1CE1] [#x1CF7] [#x302E-#x302F] [#xA823-#xA824] [#xA827] [#xA880-#xA881] [#xA8B4-#xA8C3] [#xA952-#xA953] [#xA983] [#xA9B4-#xA9B5] [#xA9BA-#xA9BB] [#xA9BE-#xA9C0] [#xAA2F-#xAA30] [#xAA33-#xAA34] [#xAA4D] [#xAA7B] [#xAA7D] [#xAAEB] [#xAAEE-#xAAEF] [#xAAF5] [#xABE3-#xABE4] [#xABE6-#xABE7] [#xABE9-#xABEA] [#xABEC]
Mc       ::= [#x903#x93B#x93E-#x940#x949-#x94C#x94E-#x94F#x982-#x983#x9BE-#x9C0#x9C7-#x9C8#x9CB-#x9CC#x9D7#xA03#xA3E-#xA40#xA83#xABE-#xAC0#xAC9#xACB-#xACC#xB02-#xB03#xB3E#xB40#xB47-#xB48#xB4B-#xB4C#xB57#xBBE-#xBBF#xBC1-#xBC2#xBC6-#xBC8#xBCA-#xBCC#xBD7#xC01-#xC03#xC41-#xC44#xC82-#xC83#xCBE#xCC0-#xCC4#xCC7-#xCC8#xCCA-#xCCB#xCD5-#xCD6#xCF3#xD02-#xD03#xD3E-#xD40#xD46-#xD48#xD4A-#xD4C#xD57#xD82-#xD83#xDCF-#xDD1#xDD8-#xDDF#xDF2-#xDF3#xF3E-#xF3F#xF7F#x102B-#x102C#x1031#x1038#x103B-#x103C#x1056-#x1057#x1062-#x1064#x1067-#x106D#x1083-#x1084#x1087-#x108C#x108F#x109A-#x109C#x1715#x1734#x17B6#x17BE-#x17C5#x17C7-#x17C8#x1923-#x1926#x1929-#x192B#x1930-#x1931#x1933-#x1938#x1A19-#x1A1A#x1A55#x1A57#x1A61#x1A63-#x1A64#x1A6D-#x1A72#x1B04#x1B35#x1B3B#x1B3D-#x1B41#x1B43-#x1B44#x1B82#x1BA1#x1BA6-#x1BA7#x1BAA#x1BE7#x1BEA-#x1BEC#x1BEE#x1BF2-#x1BF3#x1C24-#x1C2B#x1C34-#x1C35#x1CE1#x1CF7#x302E-#x302F#xA823-#xA824#xA827#xA880-#xA881#xA8B4-#xA8C3#xA952-#xA953#xA983#xA9B4-#xA9B5#xA9BA-#xA9BB#xA9BE-#xA9C0#xAA2F-#xAA30#xAA33-#xAA34#xAA4D#xAA7B#xAA7D#xAAEB#xAAEE-#xAAEF#xAAF5#xABE3-#xABE4#xABE6-#xABE7#xABE9-#xABEA#xABEC]
Referenced by:

Mn

[#x300-#x36F] [#x483-#x487] [#x591-#x5BD] [#x5BF] [#x5C1-#x5C2] [#x5C4-#x5C5] [#x5C7] [#x610-#x61A] [#x64B-#x65F] [#x670] [#x6D6-#x6DC] [#x6DF-#x6E4] [#x6E7-#x6E8] [#x6EA-#x6ED] [#x711] [#x730-#x74A] [#x7A6-#x7B0] [#x7EB-#x7F3] [#x7FD] [#x816-#x819] [#x81B-#x823] [#x825-#x827] [#x829-#x82D] [#x859-#x85B] [#x898-#x89F] [#x8CA-#x8E1] [#x8E3-#x902] [#x93A] [#x93C] [#x941-#x948] [#x94D] [#x951-#x957] [#x962-#x963] [#x981] [#x9BC] [#x9C1-#x9C4] [#x9CD] [#x9E2-#x9E3] [#x9FE] [#xA01-#xA02] [#xA3C] [#xA41-#xA42] [#xA47-#xA48] [#xA4B-#xA4D] [#xA51] [#xA70-#xA71] [#xA75] [#xA81-#xA82] [#xABC] [#xAC1-#xAC5] [#xAC7-#xAC8] [#xACD] [#xAE2-#xAE3] [#xAFA-#xAFF] [#xB01] [#xB3C] [#xB3F] [#xB41-#xB44] [#xB4D] [#xB55-#xB56] [#xB62-#xB63] [#xB82] [#xBC0] [#xBCD] [#xC00] [#xC04] [#xC3C] [#xC3E-#xC40] [#xC46-#xC48] [#xC4A-#xC4D] [#xC55-#xC56] [#xC62-#xC63] [#xC81] [#xCBC] [#xCBF] [#xCC6] [#xCCC-#xCCD] [#xCE2-#xCE3] [#xD00-#xD01] [#xD3B-#xD3C] [#xD41-#xD44] [#xD4D] [#xD62-#xD63] [#xD81] [#xDCA] [#xDD2-#xDD4] [#xDD6] [#xE31] [#xE34-#xE3A] [#xE47-#xE4E] [#xEB1] [#xEB4-#xEBC] [#xEC8-#xECE] [#xF18-#xF19] [#xF35] [#xF37] [#xF39] [#xF71-#xF7E] [#xF80-#xF84] [#xF86-#xF87] [#xF8D-#xF97] [#xF99-#xFBC] [#xFC6] [#x102D-#x1030] [#x1032-#x1037] [#x1039-#x103A] [#x103D-#x103E] [#x1058-#x1059] [#x105E-#x1060] [#x1071-#x1074] [#x1082] [#x1085-#x1086] [#x108D] [#x109D] [#x135D-#x135F] [#x1712-#x1714] [#x1732-#x1733] [#x1752-#x1753] [#x1772-#x1773] [#x17B4-#x17B5] [#x17B7-#x17BD] [#x17C6] [#x17C9-#x17D3] [#x17DD] [#x180B-#x180D] [#x180F] [#x1885-#x1886] [#x18A9] [#x1920-#x1922] [#x1927-#x1928] [#x1932] [#x1939-#x193B] [#x1A17-#x1A18] [#x1A1B] [#x1A56] [#x1A58-#x1A5E] [#x1A60] [#x1A62] [#x1A65-#x1A6C] [#x1A73-#x1A7C] [#x1A7F] [#x1AB0-#x1ABD] [#x1ABF-#x1ACE] [#x1B00-#x1B03] [#x1B34] [#x1B36-#x1B3A] [#x1B3C] [#x1B42] [#x1B6B-#x1B73] [#x1B80-#x1B81] [#x1BA2-#x1BA5] [#x1BA8-#x1BA9] [#x1BAB-#x1BAD] [#x1BE6] [#x1BE8-#x1BE9] [#x1BED] [#x1BEF-#x1BF1] [#x1C2C-#x1C33] [#x1C36-#x1C37] [#x1CD0-#x1CD2] [#x1CD4-#x1CE0] [#x1CE2-#x1CE8] [#x1CED] [#x1CF4] [#x1CF8-#x1CF9] [#x1DC0-#x1DFF] [#x20D0-#x20DC] [#x20E1] [#x20E5-#x20F0] [#x2CEF-#x2CF1] [#x2D7F] [#x2DE0-#x2DFF] [#x302A-#x302D] [#x3099-#x309A] [#xA66F] [#xA674-#xA67D] [#xA69E-#xA69F] [#xA6F0-#xA6F1] [#xA802] [#xA806] [#xA80B] [#xA825-#xA826] [#xA82C] [#xA8C4-#xA8C5] [#xA8E0-#xA8F1] [#xA8FF] [#xA926-#xA92D] [#xA947-#xA951] [#xA980-#xA982] [#xA9B3] [#xA9B6-#xA9B9] [#xA9BC-#xA9BD] [#xA9E5] [#xAA29-#xAA2E] [#xAA31-#xAA32] [#xAA35-#xAA36] [#xAA43] [#xAA4C] [#xAA7C] [#xAAB0] [#xAAB2-#xAAB4] [#xAAB7-#xAAB8] [#xAABE-#xAABF] [#xAAC1] [#xAAEC-#xAAED] [#xAAF6] [#xABE5] [#xABE8] [#xABED] [#xFB1E] [#xFE00-#xFE0F] [#xFE20-#xFE2F]
Mn       ::= [#x300-#x36F#x483-#x487#x591-#x5BD#x5BF#x5C1-#x5C2#x5C4-#x5C5#x5C7#x610-#x61A#x64B-#x65F#x670#x6D6-#x6DC#x6DF-#x6E4#x6E7-#x6E8#x6EA-#x6ED#x711#x730-#x74A#x7A6-#x7B0#x7EB-#x7F3#x7FD#x816-#x819#x81B-#x823#x825-#x827#x829-#x82D#x859-#x85B#x898-#x89F#x8CA-#x8E1#x8E3-#x902#x93A#x93C#x941-#x948#x94D#x951-#x957#x962-#x963#x981#x9BC#x9C1-#x9C4#x9CD#x9E2-#x9E3#x9FE#xA01-#xA02#xA3C#xA41-#xA42#xA47-#xA48#xA4B-#xA4D#xA51#xA70-#xA71#xA75#xA81-#xA82#xABC#xAC1-#xAC5#xAC7-#xAC8#xACD#xAE2-#xAE3#xAFA-#xAFF#xB01#xB3C#xB3F#xB41-#xB44#xB4D#xB55-#xB56#xB62-#xB63#xB82#xBC0#xBCD#xC00#xC04#xC3C#xC3E-#xC40#xC46-#xC48#xC4A-#xC4D#xC55-#xC56#xC62-#xC63#xC81#xCBC#xCBF#xCC6#xCCC-#xCCD#xCE2-#xCE3#xD00-#xD01#xD3B-#xD3C#xD41-#xD44#xD4D#xD62-#xD63#xD81#xDCA#xDD2-#xDD4#xDD6#xE31#xE34-#xE3A#xE47-#xE4E#xEB1#xEB4-#xEBC#xEC8-#xECE#xF18-#xF19#xF35#xF37#xF39#xF71-#xF7E#xF80-#xF84#xF86-#xF87#xF8D-#xF97#xF99-#xFBC#xFC6#x102D-#x1030#x1032-#x1037#x1039-#x103A#x103D-#x103E#x1058-#x1059#x105E-#x1060#x1071-#x1074#x1082#x1085-#x1086#x108D#x109D#x135D-#x135F#x1712-#x1714#x1732-#x1733#x1752-#x1753#x1772-#x1773#x17B4-#x17B5#x17B7-#x17BD#x17C6#x17C9-#x17D3#x17DD#x180B-#x180D#x180F#x1885-#x1886#x18A9#x1920-#x1922#x1927-#x1928#x1932#x1939-#x193B#x1A17-#x1A18#x1A1B#x1A56#x1A58-#x1A5E#x1A60#x1A62#x1A65-#x1A6C#x1A73-#x1A7C#x1A7F#x1AB0-#x1ABD#x1ABF-#x1ACE#x1B00-#x1B03#x1B34#x1B36-#x1B3A#x1B3C#x1B42#x1B6B-#x1B73#x1B80-#x1B81#x1BA2-#x1BA5#x1BA8-#x1BA9#x1BAB-#x1BAD#x1BE6#x1BE8-#x1BE9#x1BED#x1BEF-#x1BF1#x1C2C-#x1C33#x1C36-#x1C37#x1CD0-#x1CD2#x1CD4-#x1CE0#x1CE2-#x1CE8#x1CED#x1CF4#x1CF8-#x1CF9#x1DC0-#x1DFF#x20D0-#x20DC#x20E1#x20E5-#x20F0#x2CEF-#x2CF1#x2D7F#x2DE0-#x2DFF#x302A-#x302D#x3099-#x309A#xA66F#xA674-#xA67D#xA69E-#xA69F#xA6F0-#xA6F1#xA802#xA806#xA80B#xA825-#xA826#xA82C#xA8C4-#xA8C5#xA8E0-#xA8F1#xA8FF#xA926-#xA92D#xA947-#xA951#xA980-#xA982#xA9B3#xA9B6-#xA9B9#xA9BC-#xA9BD#xA9E5#xAA29-#xAA2E#xAA31-#xAA32#xAA35-#xAA36#xAA43#xAA4C#xAA7C#xAAB0#xAAB2-#xAAB4#xAAB7-#xAAB8#xAABE-#xAABF#xAAC1#xAAEC-#xAAED#xAAF6#xABE5#xABE8#xABED#xFB1E#xFE00-#xFE0F#xFE20-#xFE2F]
Referenced by:

Nd

[0-9] [#x660-#x669] [#x6F0-#x6F9] [#x7C0-#x7C9] [#x966-#x96F] [#x9E6-#x9EF] [#xA66-#xA6F] [#xAE6-#xAEF] [#xB66-#xB6F] [#xBE6-#xBEF] [#xC66-#xC6F] [#xCE6-#xCEF] [#xD66-#xD6F] [#xDE6-#xDEF] [#xE50-#xE59] [#xED0-#xED9] [#xF20-#xF29] [#x1040-#x1049] [#x1090-#x1099] [#x17E0-#x17E9] [#x1810-#x1819] [#x1946-#x194F] [#x19D0-#x19D9] [#x1A80-#x1A89] [#x1A90-#x1A99] [#x1B50-#x1B59] [#x1BB0-#x1BB9] [#x1C40-#x1C49] [#x1C50-#x1C59] [#xA620-#xA629] [#xA8D0-#xA8D9] [#xA900-#xA909] [#xA9D0-#xA9D9] [#xA9F0-#xA9F9] [#xAA50-#xAA59] [#xABF0-#xABF9] [#xFF10-#xFF19]
Nd       ::= [0-9#x660-#x669#x6F0-#x6F9#x7C0-#x7C9#x966-#x96F#x9E6-#x9EF#xA66-#xA6F#xAE6-#xAEF#xB66-#xB6F#xBE6-#xBEF#xC66-#xC6F#xCE6-#xCEF#xD66-#xD6F#xDE6-#xDEF#xE50-#xE59#xED0-#xED9#xF20-#xF29#x1040-#x1049#x1090-#x1099#x17E0-#x17E9#x1810-#x1819#x1946-#x194F#x19D0-#x19D9#x1A80-#x1A89#x1A90-#x1A99#x1B50-#x1B59#x1BB0-#x1BB9#x1C40-#x1C49#x1C50-#x1C59#xA620-#xA629#xA8D0-#xA8D9#xA900-#xA909#xA9D0-#xA9D9#xA9F0-#xA9F9#xAA50-#xAA59#xABF0-#xABF9#xFF10-#xFF19]

Pc

[#x203F-#x2040] [#x2054] [#xFE33-#xFE34] [#xFE4D-#xFE4F] [#xFF3F]
Pc       ::= [#x203F-#x2040#x2054#xFE33-#xFE34#xFE4D-#xFE4F#xFF3F]
Referenced by:

CJK

[#xAC00-#xD7A3] [#x4E00-#x9FFF]
CJK      ::= [#xAC00-#xD7A3#x4E00-#x9FFF]

ESC

\ n t b r f \ "
ESC      ::= '\' [ntbrf\"]
Referenced by:

S_CHAR_LITERAL

U E N R B RB _utf8 q'{ . }' ' ESC \' [^'\] '' [^'] ' $$ [^$] $$ q'( . )' q'[ . ]' q'' . ''
         ::= ( [UENRB] | 'RB' | '_utf8' )? ( "'" ( ( ESC | "\'" | [^'\] )* | ( "''" | [^'] )+ ) "'" | '$$' [^$]* '$$' | "q'{" .* "}'" | "q'(" .* ")'" | "q'[" .* "]'" | "q''" .* "''" )

S_QUOTED_IDENTIFIER

" "" [^"#xA#xD] " ` [^`#xA#xD] ` [ [^#x5D#xA#xD] ]
         ::= '"' ( '""' | [^"#xA#xD] )* '"'
           | '`' [^`#xA#xD]+ '`'
           | '[' [^#x5D#xA#xD]* ']'

EOF

$
EOF      ::= $
Referenced by: