{
"name": "sql_bigquery",
"word": "_unquoted_identifier",
"rules": {
"source_file": {
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_statement"
}
},
"keyword_if_not_exists": {
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[iI][fF]"
},
{
"type": "PATTERN",
"value": "[nN][oO][tT]"
},
{
"type": "PATTERN",
"value": "[eE][xX][iI][sS][tT][sS]"
}
]
},
"named": false,
"value": "IF_NOT_EXISTS"
},
"keyword_if_exists": {
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[iI][fF]"
},
{
"type": "PATTERN",
"value": "[eE][xX][iI][sS][tT][sS]"
}
]
},
"named": false,
"value": "IF_EXISTS"
},
"keyword_temporary": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][eE][mM][pP]"
},
"named": false,
"value": "TEMP"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][eE][mM][pP][oO][rR][aA][rR][yY]"
},
"named": false,
"value": "TEMPORARY"
}
]
},
"keyword_replace": {
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[oO][rR]"
},
{
"type": "PATTERN",
"value": "[rR][eE][pP][lL][aA][cC][eE]"
}
]
},
"named": false,
"value": "OR_REPLACE"
},
"_keyword_schema": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[sS][cC][hH][eE][mM][aA]"
},
"named": false,
"value": "SCHEMA"
},
"_keyword_column": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[cC][oO][lL][uU][mM][nN]"
},
"named": false,
"value": "COLUMN"
},
"_keyword_alter": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][lL][tT][eE][rR]"
},
"named": false,
"value": "ALTER"
},
"_keyword_rename": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][eE][nN][aA][mM][eE]"
},
"named": false,
"value": "RENAME"
},
"_keyword_create": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[cC][rR][eE][aA][tT][eE]"
},
"named": false,
"value": "CREATE"
},
"_keyword_add": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][dD][dD]"
},
"named": false,
"value": "ADD"
},
"_keyword_drop": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[dD][rR][oO][pP]"
},
"named": false,
"value": "DROP"
},
"_keyword_from": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[fF][rR][oO][mM]"
},
"named": false,
"value": "FROM"
},
"_keyword_replica": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][eE][pP][lL][iI][cC][aA]"
},
"named": false,
"value": "REPLICA"
},
"_keyword_distinct": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[dD][iI][sS][tT][iI][nN][cC][tT]"
},
"named": false,
"value": "DISTINCT"
},
"_keyword_format": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[fF][oO][rR][mM][aA][tT]"
},
"named": false,
"value": "FORMAT"
},
"_keyword_delete": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[dD][eE][lL][eE][tT][eE]"
},
"named": false,
"value": "DELETE"
},
"_keyword_tablesuffix": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[__][tT][aA][bB][lL][eE][__][sS][uU][fF][fF][iI][xX]"
},
"named": false,
"value": "_TABLE_SUFFIX"
},
"_keyword_begin": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[bB][eE][gG][iI][nN]"
},
"named": false,
"value": "BEGIN"
},
"_keyword_end": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
},
"named": false,
"value": "END"
},
"_keyword_struct": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[sS][tT][rR][uU][cC][tT]"
},
"named": false,
"value": "STRUCT"
},
"_keyword_range": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][aA][nN][gG][eE]"
},
"named": false,
"value": "RANGE"
},
"_keyword_array": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][rR][rR][aA][yY]"
},
"named": false,
"value": "ARRAY"
},
"_keyword_returns": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][eE][tT][uU][rR][nN][sS]"
},
"named": false,
"value": "RETURNS"
},
"_keyword_between": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[bB][eE][tT][wW][eE][eE][nN]"
},
"named": false,
"value": "BETWEEN"
},
"_keyword_case": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[cC][aA][sS][eE]"
},
"named": false,
"value": "CASE"
},
"_keyword_when": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[wW][hH][eE][nN]"
},
"named": false,
"value": "WHEN"
},
"_keyword_then": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][hH][eE][nN]"
},
"named": false,
"value": "THEN"
},
"_keyword_else": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[eE][lL][sS][eE]"
},
"named": false,
"value": "ELSE"
},
"_keyword_is": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
},
"named": false,
"value": "IS"
},
"_keyword_in": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][nN]"
},
"named": false,
"value": "IN"
},
"_keyword_not": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[nN][oO][tT]"
},
"named": false,
"value": "NOT"
},
"_keyword_and": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][nN][dD]"
},
"named": false,
"value": "AND"
},
"_keyword_or": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[oO][rR]"
},
"named": false,
"value": "OR"
},
"_keyword_like": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[lL][iI][kK][eE]"
},
"named": false,
"value": "LIKE"
},
"_keyword_repeat": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][eE][pP][eE][aA][tT]"
},
"named": false,
"value": "REPEAT"
},
"_keyword_as": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][sS]"
},
"named": false,
"value": "AS"
},
"_keyword_cast": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[cC][aA][sS][tT]"
},
"named": false,
"value": "CAST"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[sS][aA][fF][eE][__][cC][aA][sS][tT]"
},
"named": false,
"value": "SAFE_CAST"
}
]
},
"_keyword_window": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[wW][iI][nN][dD][oO][wW]"
},
"named": false,
"value": "WINDOW"
},
"_keyword_partition_by": {
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[pP][aA][rR][tT][iI][tT][iI][oO][nN]"
},
{
"type": "PATTERN",
"value": "[bB][yY]"
}
]
},
"named": false,
"value": "PARTITION_BY"
},
"_keyword_date": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[dD][aA][tT][eE]"
},
"named": false,
"value": "DATE"
},
"_keyword_datetime": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[dD][aA][tT][eE][tT][iI][mM][eE]"
},
"named": false,
"value": "DATETIME"
},
"_keyword_time": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][iI][mM][eE]"
},
"named": false,
"value": "TIME"
},
"_keyword_timestamp": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][iI][mM][eE][sS][tT][aA][mM][pP]"
},
"named": false,
"value": "TIMESTAMP"
},
"_keyword_for": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[fF][oO][rR]"
},
"named": false,
"value": "FOR"
},
"_keyword_partitiontime": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[__][pP][aA][rR][tT][iI][tT][iI][oO][nN][tT][iI][mM][eE]"
},
"named": false,
"value": "_PARTITIONTIME"
},
"_keyword_system_as_of": {
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[fF][oO][rR]"
},
{
"type": "PATTERN",
"value": "[sS][yY][sS][tT][eE][mM][__][tT][iI][mM][eE]"
},
{
"type": "PATTERN",
"value": "[aA][sS]"
},
{
"type": "PATTERN",
"value": "[oO][fF]"
}
]
},
"named": false,
"value": "FOR_SYSTEM_TIME_AS_OF"
},
"_statement": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "create_schema_statement"
},
{
"type": "SYMBOL",
"name": "alter_schema_statement"
},
{
"type": "SYMBOL",
"name": "alter_schema_add_replica_statement"
},
{
"type": "SYMBOL",
"name": "alter_schema_drop_replica_statement"
},
{
"type": "SYMBOL",
"name": "drop_schema_statement"
},
{
"type": "SYMBOL",
"name": "create_table_statement"
},
{
"type": "SYMBOL",
"name": "create_table_like_statement"
},
{
"type": "SYMBOL",
"name": "create_table_clone_statement"
},
{
"type": "SYMBOL",
"name": "create_table_copy_statement"
},
{
"type": "SYMBOL",
"name": "create_snapshot_table_statement"
},
{
"type": "SYMBOL",
"name": "create_external_table_statement"
},
{
"type": "SYMBOL",
"name": "alter_table_statement"
},
{
"type": "SYMBOL",
"name": "alter_table_rename_statement"
},
{
"type": "SYMBOL",
"name": "alter_table_column_statement"
},
{
"type": "SYMBOL",
"name": "drop_table_statement"
},
{
"type": "SYMBOL",
"name": "create_function_statement"
},
{
"type": "SYMBOL",
"name": "create_remote_function_statement"
},
{
"type": "SYMBOL",
"name": "drop_function_statement"
},
{
"type": "SYMBOL",
"name": "create_table_function_statement"
},
{
"type": "SYMBOL",
"name": "drop_table_function_statement"
},
{
"type": "SYMBOL",
"name": "create_procedure_statement"
},
{
"type": "SYMBOL",
"name": "drop_procedure_statement"
},
{
"type": "SYMBOL",
"name": "create_model_statement"
},
{
"type": "SYMBOL",
"name": "drop_model_statement"
},
{
"type": "SYMBOL",
"name": "query_statement"
},
{
"type": "SYMBOL",
"name": "insert_statement"
},
{
"type": "SYMBOL",
"name": "delete_statement"
},
{
"type": "SYMBOL",
"name": "truncate_statement"
},
{
"type": "SYMBOL",
"name": "update_statement"
},
{
"type": "SYMBOL",
"name": "merge_statement"
},
{
"type": "SYMBOL",
"name": "declare_statement"
},
{
"type": "SYMBOL",
"name": "set_statement"
},
{
"type": "SYMBOL",
"name": "execute_immediate_statement"
},
{
"type": "SYMBOL",
"name": "begin_end_statement"
},
{
"type": "SYMBOL",
"name": "begin_exception_end_statement"
},
{
"type": "SYMBOL",
"name": "if_statement"
},
{
"type": "SYMBOL",
"name": "loop_statement"
},
{
"type": "SYMBOL",
"name": "repeat_statement"
},
{
"type": "SYMBOL",
"name": "while_statement"
},
{
"type": "SYMBOL",
"name": "for_in_statement"
},
{
"type": "SYMBOL",
"name": "break_statement"
},
{
"type": "SYMBOL",
"name": "continue_statement"
},
{
"type": "SYMBOL",
"name": "iterate_statement"
},
{
"type": "SYMBOL",
"name": "leave_statement"
},
{
"type": "SYMBOL",
"name": "call_statement"
},
{
"type": "SYMBOL",
"name": "return_statement"
},
{
"type": "SYMBOL",
"name": "raise_statement"
},
{
"type": "SYMBOL",
"name": "assert_statement"
},
{
"type": "SYMBOL",
"name": "grant_statement"
},
{
"type": "SYMBOL",
"name": "revoke_statement"
},
{
"type": "SYMBOL",
"name": "export_data_statement"
},
{
"type": "SYMBOL",
"name": "load_data_statement"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "BLANK"
}
]
}
]
},
"_statement_list": {
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_statement"
}
},
"declare_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[dD][eE][cC][lL][aA][rR][eE]"
},
"named": false,
"value": "DECLARE"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
}
}
]
},
{
"type": "FIELD",
"name": "variable_type",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "type"
},
"named": true,
"value": "variable_type"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "default_clause"
},
{
"type": "BLANK"
}
]
}
]
},
"default_clause": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[dD][eE][fF][aA][uU][lL][tT]"
},
"named": false,
"value": "DEFAULT"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
"set_statement": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[sS][eE][tT]"
},
"named": false,
"value": "SET"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[==]"
},
"named": false,
"value": "="
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[sS][eE][tT]"
},
"named": false,
"value": "SET"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[==]"
},
"named": false,
"value": "="
},
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
}
]
},
"execute_immediate_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[eE][xX][eE][cC][uU][tT][eE]"
},
{
"type": "PATTERN",
"value": "[iI][mM][mM][eE][dD][iI][aA][tT][eE]"
}
]
},
"named": false,
"value": "EXECUTE_IMMEDIATE"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "into_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "using_clause"
},
{
"type": "BLANK"
}
]
}
]
},
"into_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][nN][tT][oO]"
},
"named": false,
"value": "INTO"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
}
}
]
}
]
},
"using_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[uU][sS][iI][nN][gG]"
},
"named": false,
"value": "USING"
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_aliasable_expression"
},
"named": true,
"value": "using_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_aliasable_expression"
},
"named": true,
"value": "using_expression"
}
]
}
}
]
}
]
},
"return_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][eE][tT][uU][rR][nN]"
},
"named": false,
"value": "RETURN"
}
]
},
"call_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[cC][aA][lL][lL]"
},
"named": false,
"value": "CALL"
},
{
"type": "FIELD",
"name": "routine_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "SYMBOL",
"name": "asterisk_expression"
}
]
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "SYMBOL",
"name": "asterisk_expression"
}
]
}
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"begin_end_statement": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[bB][eE][gG][iI][nN]"
},
"named": false,
"value": "BEGIN"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_statement_list"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
},
"named": false,
"value": "END"
}
]
},
"begin_exception_end_statement": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[bB][eE][gG][iI][nN]"
},
"named": false,
"value": "BEGIN"
}
]
},
{
"type": "SYMBOL",
"name": "_statement_list"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[eE][xX][cC][eE][pP][tT][iI][oO][nN]"
},
{
"type": "PATTERN",
"value": "[wW][hH][eE][nN]"
},
{
"type": "PATTERN",
"value": "[eE][rR][rR][oO][rR]"
},
{
"type": "PATTERN",
"value": "[tT][hH][eE][nN]"
}
]
},
"named": false,
"value": "EXCEPTION_WHEN_ERROR_THEN"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_statement_list"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
},
"named": false,
"value": "END"
}
]
},
"if_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][fF]"
},
"named": false,
"value": "IF"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][hH][eE][nN]"
},
"named": false,
"value": "THEN"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_statement_list"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[eE][lL][sS][eE][iI][fF]"
},
"named": false,
"value": "ELSEIF"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][hH][eE][nN]"
},
"named": false,
"value": "THEN"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_statement_list"
},
{
"type": "BLANK"
}
]
}
]
},
"named": true,
"value": "elseif_statement"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[eE][lL][sS][eE]"
},
"named": false,
"value": "ELSE"
},
{
"type": "SYMBOL",
"name": "_statement_list"
}
]
},
"named": true,
"value": "else_statement"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[eE][nN][dD]"
},
{
"type": "PATTERN",
"value": "[iI][fF]"
}
]
},
"named": false,
"value": "END_IF"
}
]
},
"loop_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[lL][oO][oO][pP]"
},
"named": false,
"value": "LOOP"
},
{
"type": "SYMBOL",
"name": "_statement_list"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[eE][nN][dD]"
},
{
"type": "PATTERN",
"value": "[lL][oO][oO][pP]"
}
]
},
"named": false,
"value": "END_LOOP"
}
]
},
"repeat_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_repeat"
},
{
"type": "SYMBOL",
"name": "_statement_list"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[uU][nN][tT][iI][lL]"
},
"named": false,
"value": "UNTIL"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
"named": true,
"value": "until_clause"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[eE][nN][dD]"
},
{
"type": "PATTERN",
"value": "[rR][eE][pP][eE][aA][tT]"
}
]
},
"named": false,
"value": "END_REPEAT"
}
]
},
"while_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[wW][hH][iI][lL][eE]"
},
"named": false,
"value": "WHILE"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[dD][oO]"
},
"named": false,
"value": "DO"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_statement_list"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[eE][nN][dD]"
},
{
"type": "PATTERN",
"value": "[wW][hH][iI][lL][eE]"
}
]
},
"named": false,
"value": "END_WHILE"
}
]
},
"for_in_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_for"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "_keyword_in"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "query_statement"
},
{
"type": "STRING",
"value": ")"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[dD][oO]"
},
"named": false,
"value": "DO"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_statement_list"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[eE][nN][dD]"
},
{
"type": "PATTERN",
"value": "[fF][oO][rR]"
}
]
},
"named": false,
"value": "END_FOR"
}
]
},
"break_statement": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[bB][rR][eE][aA][kK]"
},
"named": false,
"value": "BREAK"
},
"leave_statement": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[lL][eE][aA][vV][eE]"
},
"named": false,
"value": "LEAVE"
},
"continue_statement": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[cC][oO][nN][tT][iI][nN][uU][eE]"
},
"named": false,
"value": "CONTINUE"
},
"iterate_statement": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][tT][eE][rR][aA][tT][eE]"
},
"named": false,
"value": "ITERATE"
},
"raise_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][aA][iI][sS][eE]"
},
"named": false,
"value": "RAISE"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[uU][sS][iI][nN][gG]"
},
{
"type": "PATTERN",
"value": "[mM][eE][sS][sS][aA][gG][eE]"
}
]
},
"named": false,
"value": "USING_MESSAGE"
},
{
"type": "STRING",
"value": "="
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"assert_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][sS][sS][eE][rR][tT]"
},
"named": false,
"value": "ASSERT"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_as"
},
{
"type": "SYMBOL",
"name": "string"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"create_schema_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_create"
},
{
"type": "SYMBOL",
"name": "_keyword_schema"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_not_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "schema_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "default_collate_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "option_clause"
},
{
"type": "BLANK"
}
]
}
]
},
"_alter_schema_clause": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_alter"
},
{
"type": "SYMBOL",
"name": "_keyword_schema"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "schema_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
"alter_schema_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_alter_schema_clause"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[sS][eE][tT]"
},
"named": false,
"value": "SET"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "option_clause"
},
{
"type": "BLANK"
}
]
}
]
},
"alter_schema_add_replica_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_alter_schema_clause"
},
{
"type": "SYMBOL",
"name": "_keyword_add"
},
{
"type": "SYMBOL",
"name": "_keyword_replica"
},
{
"type": "FIELD",
"name": "replica_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "option_clause"
},
{
"type": "BLANK"
}
]
}
]
},
"alter_schema_drop_replica_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_alter_schema_clause"
},
{
"type": "SYMBOL",
"name": "_keyword_drop"
},
{
"type": "SYMBOL",
"name": "_keyword_replica"
},
{
"type": "FIELD",
"name": "replica_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
"drop_schema_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_drop"
},
{
"type": "SYMBOL",
"name": "_keyword_schema"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "schema_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "drop_schema_option"
},
{
"type": "BLANK"
}
]
}
]
},
"drop_schema_option": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[cC][aA][sS][cC][aA][dD][eE]"
},
"named": false,
"value": "CASCADE"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][eE][sS][tT][rR][iI][cC][tT]"
},
"named": false,
"value": "RESTRICT"
}
]
},
"create_table_statement": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_create"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_replace"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_temporary"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
},
"named": false,
"value": "TABLE"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[vV][iI][eE][wW]"
},
"named": false,
"value": "VIEW"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[mM][aA][tT][eE][rR][iI][aA][lL][iI][zZ][eE][dD]"
},
{
"type": "PATTERN",
"value": "[vV][iI][eE][wW]"
}
]
},
"named": false,
"value": "MATERIALIZED_VIEW"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_not_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "create_table_parameters"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "default_collate_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "table_partition_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "table_cluster_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "option_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_as"
},
{
"type": "SYMBOL",
"name": "query_statement"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
},
"create_table_like_statement": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_create"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_replace"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_temporary"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
},
"named": false,
"value": "TABLE"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[vV][iI][eE][wW]"
},
"named": false,
"value": "VIEW"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[mM][aA][tT][eE][rR][iI][aA][lL][iI][zZ][eE][dD]"
},
{
"type": "PATTERN",
"value": "[vV][iI][eE][wW]"
}
]
},
"named": false,
"value": "MATERIALIZED_VIEW"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_not_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "SYMBOL",
"name": "like_clause"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "create_table_parameters"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "table_partition_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "table_cluster_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "option_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_as"
},
{
"type": "SYMBOL",
"name": "query_statement"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
},
"like_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[lL][iI][kK][eE]"
},
"named": false,
"value": "LIKE"
},
{
"type": "FIELD",
"name": "source_table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
"create_table_clone_statement": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_create"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_replace"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
},
"named": false,
"value": "TABLE"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_not_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "SYMBOL",
"name": "clone_clause"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "system_time_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "option_clause"
},
{
"type": "BLANK"
}
]
}
]
}
},
"clone_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[cC][lL][oO][nN][eE]"
},
"named": false,
"value": "CLONE"
},
{
"type": "FIELD",
"name": "source_table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
"create_table_copy_statement": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_create"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_replace"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
},
"named": false,
"value": "TABLE"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_not_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "SYMBOL",
"name": "copy_clause"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "option_clause"
},
{
"type": "BLANK"
}
]
}
]
}
},
"default_collate_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[dD][eE][fF][aA][uU][lL][tT]"
},
{
"type": "PATTERN",
"value": "[cC][oO][lL][lL][aA][tT][eE]"
}
]
},
"named": false,
"value": "DEFAULT_COLLATE"
},
{
"type": "SYMBOL",
"name": "string"
}
]
},
"copy_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[cC][oO][pP][yY]"
},
"named": false,
"value": "COPY"
},
{
"type": "FIELD",
"name": "source_table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
"create_snapshot_table_statement": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_create"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[sS][nN][aA][pP][sS][hH][oO][tT]"
},
{
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
}
]
},
"named": false,
"value": "SNAPSHOT_TABLE"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_not_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "SYMBOL",
"name": "clone_clause"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "system_time_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "option_clause"
},
{
"type": "BLANK"
}
]
}
]
}
},
"create_external_table_statement": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_create"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_replace"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[eE][xX][tT][eE][rR][nN][aA][lL]"
},
{
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
}
]
},
"named": false,
"value": "EXTERNAL_TABLE"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_not_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "with_connection_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "partition_columns_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "option_clause"
},
{
"type": "BLANK"
}
]
}
]
}
},
"partition_columns_clause": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
},
"named": false,
"value": "WITH"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[pP][aA][rR][tT][iI][tT][iI][oO][nN]"
},
{
"type": "PATTERN",
"value": "[cC][oO][lL][uU][mM][nN][sS]"
}
]
},
"named": false,
"value": "PARTITION_COLUMNS"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "create_table_parameters"
},
"named": true,
"value": "partition_columns"
},
{
"type": "BLANK"
}
]
}
]
}
},
"system_time_clause": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_system_as_of"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
"alter_table_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_alter"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
},
"named": false,
"value": "TABLE"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[vV][iI][eE][wW]"
},
"named": false,
"value": "VIEW"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[mM][aA][tT][eE][rR][iI][aA][lL][iI][zZ][eE][dD]"
},
{
"type": "PATTERN",
"value": "[vV][iI][eE][wW]"
}
]
},
"named": false,
"value": "MATERIALIZED_VIEW"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[sS][eE][tT]"
},
"named": false,
"value": "SET"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "option_clause"
},
{
"type": "BLANK"
}
]
}
]
},
"alter_table_rename_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_alter"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
},
"named": false,
"value": "TABLE"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[rR][eE][nN][aA][mM][eE]"
},
{
"type": "PATTERN",
"value": "[tT][oO]"
}
]
},
"named": false,
"value": "RENAME_TO"
},
{
"type": "FIELD",
"name": "new_table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
"alter_table_column_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_alter"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
},
"named": false,
"value": "TABLE"
},
{
"type": "FIELD",
"name": "table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "FIELD",
"name": "actions",
"content": {
"type": "SYMBOL",
"name": "alter_column_actions_list"
}
}
]
},
"alter_column_actions_list": {
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "add_column_action"
},
{
"type": "SYMBOL",
"name": "rename_column_action"
},
{
"type": "SYMBOL",
"name": "drop_column_action"
},
{
"type": "SYMBOL",
"name": "alter_column_action"
},
{
"type": "SYMBOL",
"name": "add_primary_key_action"
},
{
"type": "SYMBOL",
"name": "drop_primary_key_action"
},
{
"type": "SYMBOL",
"name": "add_foreign_key_action"
},
{
"type": "SYMBOL",
"name": "drop_constraint_action"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "add_column_action"
},
{
"type": "SYMBOL",
"name": "rename_column_action"
},
{
"type": "SYMBOL",
"name": "drop_column_action"
},
{
"type": "SYMBOL",
"name": "alter_column_action"
},
{
"type": "SYMBOL",
"name": "add_primary_key_action"
},
{
"type": "SYMBOL",
"name": "drop_primary_key_action"
},
{
"type": "SYMBOL",
"name": "add_foreign_key_action"
},
{
"type": "SYMBOL",
"name": "drop_constraint_action"
}
]
}
]
}
}
]
}
]
},
"add_column_action": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_add"
},
{
"type": "SYMBOL",
"name": "_keyword_column"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_not_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "column_definition"
}
]
},
"rename_column_action": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_rename"
},
{
"type": "SYMBOL",
"name": "_keyword_column"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "column_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][oO]"
},
"named": false,
"value": "TO"
},
{
"type": "FIELD",
"name": "new_column_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
"drop_column_action": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_drop"
},
{
"type": "SYMBOL",
"name": "_keyword_column"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "column_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
"alter_column_action": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_alter"
},
{
"type": "SYMBOL",
"name": "_keyword_column"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "column_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "set_option"
},
{
"type": "SYMBOL",
"name": "drop_notnull"
},
{
"type": "SYMBOL",
"name": "set_data_type"
},
{
"type": "SYMBOL",
"name": "set_default"
},
{
"type": "SYMBOL",
"name": "drop_default"
}
]
}
]
},
"set_option": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[sS][eE][tT]"
},
"named": false,
"value": "SET"
},
{
"type": "SYMBOL",
"name": "option_clause"
}
]
},
"set_data_type": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[sS][eE][tT]"
},
{
"type": "PATTERN",
"value": "[dD][aA][tT][aA]"
},
{
"type": "PATTERN",
"value": "[tT][yY][pP][eE]"
}
]
},
"named": false,
"value": "SET_DATA_TYPE"
},
{
"type": "FIELD",
"name": "column_schema",
"content": {
"type": "SYMBOL",
"name": "column_type"
}
}
]
},
"set_default": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[sS][eE][tT]"
},
{
"type": "PATTERN",
"value": "[dD][eE][fF][aA][uU][lL][tT]"
}
]
},
"named": false,
"value": "SET_DEFAULT"
},
{
"type": "FIELD",
"name": "default_value",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
},
"drop_notnull": {
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[dD][rR][oO][pP]"
},
{
"type": "PATTERN",
"value": "[nN][oO][tT]"
},
{
"type": "PATTERN",
"value": "[nN][uU][lL][lL]"
}
]
},
"named": false,
"value": "DROP_NOT_NULL"
},
"drop_default": {
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[dD][rR][oO][pP]"
},
{
"type": "PATTERN",
"value": "[dD][eE][fF][aA][uU][lL][tT]"
}
]
},
"named": false,
"value": "DROP_DEFAULT"
},
"column_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
}
}
]
},
"constraint_enfoce_option": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[eE][nN][fF][oO][rR][cC][eE][dD]"
},
"named": false,
"value": "ENFORCED"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[nN][oO][tT]"
},
{
"type": "PATTERN",
"value": "[eE][nN][fF][oO][rR][cC][eE][dD]"
}
]
},
"named": false,
"value": "NOT_ENFORCED"
}
]
},
"primary_key": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[pP][rR][iI][mM][aA][rR][yY]"
},
{
"type": "PATTERN",
"value": "[kK][eE][yY]"
}
]
},
"named": false,
"value": "PRIMARY_KEY"
},
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "column_list",
"content": {
"type": "SYMBOL",
"name": "column_list"
}
},
{
"type": "STRING",
"value": ")"
},
{
"type": "SYMBOL",
"name": "constraint_enfoce_option"
}
]
},
"add_primary_key_action": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][dD][dD]"
},
"named": false,
"value": "ADD"
},
{
"type": "SYMBOL",
"name": "primary_key"
}
]
},
"drop_primary_key_action": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[dD][rR][oO][pP]"
},
{
"type": "PATTERN",
"value": "[pP][rR][iI][mM][aA][rR][yY]"
},
{
"type": "PATTERN",
"value": "[kK][eE][yY]"
}
]
},
"named": false,
"value": "DROP_PRIMARY_KEY"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_exists"
},
{
"type": "BLANK"
}
]
}
]
}
},
"foreign_key": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[fF][oO][rR][eE][iI][gG][nN]"
},
{
"type": "PATTERN",
"value": "[kK][eE][yY]"
}
]
},
"named": false,
"value": "FOREIGN_KEY"
},
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "column_list",
"content": {
"type": "SYMBOL",
"name": "column_list"
}
},
{
"type": "STRING",
"value": ")"
},
{
"type": "SYMBOL",
"name": "foreign_key_references"
}
]
},
"foreign_key_references": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][eE][fF][eE][rR][eE][nN][cC][eE][sS]"
},
"named": false,
"value": "REFERENCES"
},
{
"type": "FIELD",
"name": "referenced_table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "referenced_column_list",
"content": {
"type": "SYMBOL",
"name": "column_list"
}
},
{
"type": "STRING",
"value": ")"
},
{
"type": "SYMBOL",
"name": "constraint_enfoce_option"
}
]
},
"add_foreign_key_action": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][dD][dD]"
},
"named": false,
"value": "ADD"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[cC][oO][nN][sS][tT][rR][aA][iI][nN][tT]"
},
"named": false,
"value": "CONSTRAINT"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_not_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "constraint_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "foreign_key"
}
]
},
"drop_constraint_action": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[dD][rR][oO][pP]"
},
{
"type": "PATTERN",
"value": "[cC][oO][nN][sS][tT][rR][aA][iI][nN][tT]"
}
]
},
"named": false,
"value": "DROP_CONSTRAINT"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "constraint_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
"drop_table_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_drop"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
},
"named": false,
"value": "TABLE"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[sS][nN][aA][pP][sS][hH][oO][tT]"
},
{
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
}
]
},
"named": false,
"value": "SNAPSHOT_TABLE"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[vV][iI][eE][wW]"
},
"named": false,
"value": "VIEW"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[mM][aA][tT][eE][rR][iI][aA][lL][iI][zZ][eE][dD]"
},
{
"type": "PATTERN",
"value": "[vV][iI][eE][wW]"
}
]
},
"named": false,
"value": "MATERIALIZED_VIEW"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[sS][nN][aA][pP][sS][hH][oO][sS][tT]"
},
{
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
}
]
},
"named": false,
"value": "SNAPSHOST_TABLE"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[eE][xX][tT][eE][rR][nN][aA][lL]"
},
{
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
}
]
},
"named": false,
"value": "EXTERNAL_TABLE"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
"create_table_parameters": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "column_definition"
},
{
"type": "SYMBOL",
"name": "constraint_definition"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "column_definition"
},
{
"type": "SYMBOL",
"name": "constraint_definition"
}
]
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"option_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[oO][pP][tT][iI][oO][nN][sS]"
},
"named": false,
"value": "OPTIONS"
},
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "option_item"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "option_item"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"option_item": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "key",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "STRING",
"value": "="
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
},
"column_definition": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "column_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "FIELD",
"name": "column_type",
"content": {
"type": "SYMBOL",
"name": "column_type"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "collate_clause",
"content": {
"type": "SYMBOL",
"name": "collate_clause"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "constraint_clause",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[pP][rR][iI][mM][aA][rR][yY]"
},
{
"type": "PATTERN",
"value": "[kK][eE][yY]"
}
]
},
"named": false,
"value": "PRIMARY_KEY"
},
{
"type": "SYMBOL",
"name": "constraint_enfoce_option"
}
]
},
{
"type": "SYMBOL",
"name": "foreign_key_references"
}
]
}
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "default",
"content": {
"type": "SYMBOL",
"name": "default_clause"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "not_null",
"content": {
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[nN][oO][tT]"
},
{
"type": "PATTERN",
"value": "[nN][uU][lL][lL]"
}
]
},
"named": false,
"value": "NOT_NULL"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "option",
"content": {
"type": "SYMBOL",
"name": "option_clause"
}
},
{
"type": "BLANK"
}
]
}
]
},
"constraint_definition": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "primary_key"
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[cC][oO][nN][sS][tT][rR][aA][iI][nN][tT]"
},
"named": false,
"value": "CONSTRAINT"
},
{
"type": "FIELD",
"name": "constraint_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "foreign_key"
}
]
}
]
},
"collate_clause": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[cC][oO][lL][lL][aA][tT][eE]"
},
"named": false,
"value": "COLLATE"
},
{
"type": "SYMBOL",
"name": "string"
}
]
}
},
"column_type": {
"type": "CHOICE",
"members": [
{
"type": "PREC",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_unquoted_identifier"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "number"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "number"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
}
},
{
"type": "SYMBOL",
"name": "_column_definition_type_array"
},
{
"type": "SYMBOL",
"name": "_unquoted_identifier"
},
{
"type": "SYMBOL",
"name": "_column_definition_type_struct"
}
]
},
"_column_definition_type_array": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_array"
},
{
"type": "STRING",
"value": "<"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_unquoted_identifier"
},
{
"type": "SYMBOL",
"name": "_column_definition_type_struct"
}
]
},
{
"type": "STRING",
"value": ">"
}
]
},
"_column_definition_type_struct": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_struct"
},
{
"type": "STRING",
"value": "<"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "column_definition"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "column_definition"
}
]
}
}
]
},
{
"type": "STRING",
"value": ">"
}
]
},
"partition_expression": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[__][pP][aA][rR][tT][iI][tT][iI][oO][nN][dD][aA][tT][eE]"
},
"named": false,
"value": "_PARTITIONDATE"
},
{
"type": "SYMBOL",
"name": "function_call"
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[dD][aA][tT][eE][tT][iI][mM][eE][__][tT][rR][uU][nN][cC]"
},
"named": false,
"value": "DATETIME_TRUNC"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][iI][mM][eE][sS][tT][aA][mM][pP][__][tT][rR][uU][nN][cC]"
},
"named": false,
"value": "TIMESTAMP_TRUNC"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[dD][aA][tT][eE][__][tT][rR][uU][nN][cC]"
},
"named": false,
"value": "DATE_TRUNC"
}
]
},
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[dD][aA][yY]"
},
"named": false,
"value": "DAY"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[hH][oO][uU][rR]"
},
"named": false,
"value": "HOUR"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[hH][oO][uU][rR]"
},
"named": false,
"value": "HOUR"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[mM][oO][nN][tT][hH]"
},
"named": false,
"value": "MONTH"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[yY][eE][aA][rR]"
},
"named": false,
"value": "YEAR"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][aA][nN][gG][eE][__][bB][uU][cC][kK][eE][tT]"
},
"named": false,
"value": "RANGE_BUCKET"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[gG][eE][nN][eE][rR][aA][tT][eE][__][aA][rR][rR][aA][yY]"
},
"named": false,
"value": "GENERATE_ARRAY"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
},
"table_partition_clause": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_partition_by"
},
{
"type": "SYMBOL",
"name": "partition_expression"
}
]
},
"table_cluster_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[cC][lL][uU][sS][tT][eE][rR]"
},
{
"type": "PATTERN",
"value": "[bB][yY]"
}
]
},
"named": false,
"value": "CLUSTER_BY"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
}
]
}
]
},
"create_function_statement": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_create"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_replace"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_temporary"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[fF][uU][nN][cC][tT][iI][oO][nN]"
},
"named": false,
"value": "FUNCTION"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_not_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "routine_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "SYMBOL",
"name": "create_function_parameters"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "create_function_return_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "option_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_as"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_function_body_sql"
},
"named": true,
"value": "create_function_body"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_function_language"
},
{
"type": "SYMBOL",
"name": "_keyword_as"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_function_body_js"
},
"named": true,
"value": "create_function_body"
}
]
}
]
}
]
}
},
"create_remote_function_statement": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_create"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_replace"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_temporary"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[fF][uU][nN][cC][tT][iI][oO][nN]"
},
"named": false,
"value": "FUNCTION"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_not_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "routine_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "SYMBOL",
"name": "create_function_parameters"
},
{
"type": "SYMBOL",
"name": "create_function_return_clause"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[rR][eE][mM][oO][tT][eE]"
},
{
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
},
{
"type": "PATTERN",
"value": "[cC][oO][nN][nN][eE][cC][tT][iI][oO][nN]"
}
]
},
"named": false,
"value": "REMOTE_WITH_CONNECTION"
},
{
"type": "FIELD",
"name": "connection_name",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "connection_path"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "option_clause"
},
{
"type": "BLANK"
}
]
}
]
}
},
"_function_body_sql": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"_function_body_js": {
"type": "SYMBOL",
"name": "string"
},
"create_function_return_clause": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_returns"
},
{
"type": "SYMBOL",
"name": "type"
}
]
},
"drop_function_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_drop"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[fF][uU][nN][cC][tT][iI][oO][nN]"
},
"named": false,
"value": "FUNCTION"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "routine_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
"create_table_function_statement": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_create"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_replace"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
},
{
"type": "PATTERN",
"value": "[fF][uU][nN][cC][tT][iI][oO][nN]"
}
]
},
"named": false,
"value": "TABLE_FUNCTION"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_not_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "routine_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "create_function_parameters"
},
"named": true,
"value": "create_table_function_parameters"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "option_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "create_table_function_returns"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_keyword_as"
},
{
"type": "SYMBOL",
"name": "create_table_function_body"
}
]
}
},
"create_table_function_body": {
"type": "SYMBOL",
"name": "query_statement"
},
"drop_table_function_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_drop"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
},
{
"type": "PATTERN",
"value": "[fF][uU][nN][cC][tT][iI][oO][nN]"
}
]
},
"named": false,
"value": "TABLE_FUNCTION"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "routine_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
"create_table_function_returns": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_returns"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
},
"named": false,
"value": "TABLE"
},
{
"type": "STRING",
"value": "<"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "column_definition"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "column_definition"
}
]
}
}
]
},
{
"type": "STRING",
"value": ">"
}
]
},
"_function_language": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[lL][aA][nN][gG][uU][aA][gG][eE]"
},
"named": false,
"value": "LANGUAGE"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_unquoted_identifier"
},
"named": true,
"value": "language"
}
]
},
"create_function_parameter": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "type"
}
]
}
]
},
"create_function_parameters": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "create_function_parameter"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "create_function_parameter"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"create_procedure_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_create"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_replace"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[pP][rR][oO][cC][eE][dD][uU][rR][eE]"
},
"named": false,
"value": "PROCEDURE"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_not_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "routine_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "SYMBOL",
"name": "procedure_parameters"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "option_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "procedure_body"
}
]
},
"procedure_parameters": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "procedure_argument"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "procedure_argument"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"procedure_body": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[bB][eE][gG][iI][nN]"
},
"named": false,
"value": "BEGIN"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_statement"
}
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
},
"named": false,
"value": "END"
}
]
},
"procedure_argument": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "argument_mode",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][nN]"
},
"named": false,
"value": "IN"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[oO][uU][tT]"
},
"named": false,
"value": "OUT"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][nN][oO][uU][tT]"
},
"named": false,
"value": "INOUT"
}
]
}
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "type"
}
]
},
"drop_procedure_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_drop"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[pP][rR][oO][cC][eE][dD][uU][rR][eE]"
},
"named": false,
"value": "PROCEDURE"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "routine_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
"create_model_statement": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_create"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_replace"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[mM][oO][dD][eE][lL]"
},
"named": false,
"value": "MODEL"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_not_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "model_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "transoform_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "option_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_as"
},
{
"type": "SYMBOL",
"name": "query_statement"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
},
"transoform_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][rR][aA][nN][sS][fF][oO][rR][mM]"
},
"named": false,
"value": "TRANSFORM"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "select_list"
},
{
"type": "STRING",
"value": ")"
}
]
},
"drop_model_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_drop"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[mM][oO][dD][eE][lL]"
},
"named": false,
"value": "MODEL"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_if_exists"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "model_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
"query_statement": {
"type": "SYMBOL",
"name": "query_expr"
},
"set_operation": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "query_expr"
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[uU][nN][iI][oO][nN]"
},
{
"type": "PATTERN",
"value": "[aA][lL][lL]"
}
]
},
"named": false,
"value": "UNION_ALL"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[uU][nN][iI][oO][nN]"
},
{
"type": "PATTERN",
"value": "[dD][iI][sS][tT][iI][nN][cC][tT]"
}
]
},
"named": false,
"value": "UNION_DISTINCT"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[iI][nN][tT][eE][rR][sS][eE][cC][tT]"
},
{
"type": "PATTERN",
"value": "[dD][iI][sS][tT][iI][nN][cC][tT]"
}
]
},
"named": false,
"value": "INTERSECT_DISTINCT"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[eE][xX][cC][eE][pP][tT]"
},
{
"type": "PATTERN",
"value": "[dD][iI][sS][tT][iI][nN][cC][tT]"
}
]
},
"named": false,
"value": "EXCEPT_DISTINCT"
}
]
}
},
{
"type": "SYMBOL",
"name": "query_expr"
}
]
}
},
"query_expr": {
"type": "PREC",
"value": 10,
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cte_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "select"
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "query_expr"
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "SYMBOL",
"name": "set_operation"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "order_by_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "limit_clause"
},
{
"type": "BLANK"
}
]
}
]
}
},
"select": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[sS][eE][lL][eE][cC][tT]"
},
"named": false,
"value": "SELECT"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][lL][lL]"
},
"named": false,
"value": "ALL"
},
{
"type": "SYMBOL",
"name": "_keyword_distinct"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_as"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_struct"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[vV][aA][lL][uU][eE]"
},
"named": false,
"value": "VALUE"
}
]
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aggregation_threshold_clause"
},
{
"type": "SYMBOL",
"name": "differential_privacy_clause"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "select_list"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "from_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "where_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "group_by_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "having_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "qualify_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "window_clause"
},
{
"type": "BLANK"
}
]
}
]
},
"select_list": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "select_all"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_aliasable_expression"
},
"named": true,
"value": "select_expression"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "select_all"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_aliasable_expression"
},
"named": true,
"value": "select_expression"
}
]
}
]
}
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "BLANK"
}
]
}
]
}
},
"select_all": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "asterisk_expression"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "select_all_except"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "select_all_replace"
},
{
"type": "BLANK"
}
]
}
]
}
},
"select_all_except": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[eE][xX][cC][eE][pP][tT]"
},
"named": false,
"value": "EXCEPT"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "except_key",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "except_key",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"select_all_replace": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][eE][pP][lL][aA][cC][eE]"
},
"named": false,
"value": "REPLACE"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "select_replace_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "select_replace_expression"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"select_replace_expression": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "as_alias"
}
]
},
"select_expr": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "as_alias"
}
]
},
"having_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[hH][aA][vV][iI][nN][gG]"
},
"named": false,
"value": "HAVING"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
"qualify_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[qQ][uU][aA][lL][iI][fF][yY]"
},
"named": false,
"value": "QUALIFY"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
"limit_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[lL][iI][mM][iI][tT]"
},
"named": false,
"value": "LIMIT"
},
{
"type": "SYMBOL",
"name": "_integer"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[oO][fF][fF][sS][eE][tT]"
},
"named": false,
"value": "OFFSET"
},
{
"type": "SYMBOL",
"name": "_integer"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"group_by_clause": {
"type": "PREC",
"value": "clause_connective",
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[gG][rR][oO][uU][pP]"
},
{
"type": "PATTERN",
"value": "[bB][yY]"
}
]
},
"named": false,
"value": "GROUP_BY"
},
{
"type": "SEQ",
"members": [
{
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_grouping_list"
},
{
"type": "SYMBOL",
"name": "grouping_sets"
},
{
"type": "SYMBOL",
"name": "grouping_all"
}
]
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_grouping_list"
},
{
"type": "SYMBOL",
"name": "grouping_sets"
},
{
"type": "SYMBOL",
"name": "grouping_all"
}
]
}
}
]
}
}
]
}
]
}
},
"_grouping_list": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "grouping_item"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "grouping_item"
}
]
}
}
]
},
{
"type": "SYMBOL",
"name": "grouping_item_sets"
},
{
"type": "SYMBOL",
"name": "rollup"
},
{
"type": "SYMBOL",
"name": "cube"
},
{
"type": "SYMBOL",
"name": "grouping_empty"
}
]
}
},
"grouping_all": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][lL][lL]"
},
"named": false,
"value": "ALL"
},
"grouping_sets": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[gG][rR][oO][uU][pP][iI][nN][gG]"
},
{
"type": "PATTERN",
"value": "[sS][eE][tT][sS]"
}
]
},
"named": false,
"value": "GROUPING_SETS"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_grouping_list"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_grouping_list"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"grouping_item_sets": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_grouping_list"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_grouping_list"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"rollup": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][oO][lL][lL][uU][pP]"
},
"named": false,
"value": "ROLLUP"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_grouping_list"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_grouping_list"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"cube": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[cC][uU][bB][eE]"
},
"named": false,
"value": "CUBE"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_grouping_list"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_grouping_list"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"grouping_empty": {
"type": "PREC",
"value": "literal",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "STRING",
"value": ")"
}
]
}
},
"grouping_item": {
"type": "PREC_LEFT",
"value": "literal",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
"over_clause": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "window_specification"
}
]
},
"window_specification": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "window_partition_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "order_by_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "window_frame_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"window_partition_clause": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_partition_by"
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_expression"
},
"named": true,
"value": "partition_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_expression"
},
"named": true,
"value": "partition_expression"
}
]
}
}
]
}
]
},
"window_frame_clause": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "rows_range"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "window_frame_start"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "window_frame_between"
}
]
}
]
},
"rows_range": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][oO][wW][sS]"
},
"named": false,
"value": "ROWS"
},
{
"type": "SYMBOL",
"name": "_keyword_range"
}
]
},
"window_frame_start": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "window_numeric_preceding"
},
{
"type": "SYMBOL",
"name": "keyword_unbounded_preceding"
},
{
"type": "SYMBOL",
"name": "keyword_current_row"
}
]
}
]
},
"window_frame_between": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_between"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_unbounded_preceding"
},
{
"type": "SYMBOL",
"name": "window_numeric_preceding"
}
]
},
"named": true,
"value": "between_from"
},
{
"type": "SYMBOL",
"name": "_keyword_and"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_window_frame_end_a"
},
"named": true,
"value": "between_to"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "keyword_current_row"
},
"named": true,
"value": "between_from"
},
{
"type": "SYMBOL",
"name": "_keyword_and"
},
{
"type": "SYMBOL",
"name": "_window_frame_end_b"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "window_numeric_following"
},
"named": true,
"value": "between_from"
},
{
"type": "SYMBOL",
"name": "_keyword_and"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_window_frame_end_c"
},
"named": true,
"value": "between_to"
}
]
}
]
}
]
},
"_window_frame_end_a": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "window_numeric_preceding"
},
{
"type": "SYMBOL",
"name": "keyword_current_row"
},
{
"type": "SYMBOL",
"name": "window_numeric_following"
},
{
"type": "SYMBOL",
"name": "keyword_unbounded_preceding"
}
]
},
"_window_frame_end_b": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "keyword_current_row"
},
{
"type": "SYMBOL",
"name": "window_numeric_following"
},
{
"type": "SYMBOL",
"name": "keyword_unbounded_following"
}
]
},
"_window_frame_end_c": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "window_numeric_following"
},
{
"type": "SYMBOL",
"name": "keyword_unbounded_following"
}
]
},
"window_numeric_preceding": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "number"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[pP][rR][eE][cC][eE][dD][iI][nN][gG]"
},
"named": false,
"value": "PRECEDING"
}
]
},
"window_numeric_following": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "number"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[fF][oO][lL][lL][oO][wW][iI][nN][gG]"
},
"named": false,
"value": "FOLLOWING"
}
]
},
"keyword_unbounded_preceding": {
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[uU][nN][bB][oO][uU][nN][dD][eE][dD]"
},
{
"type": "PATTERN",
"value": "[pP][rR][eE][cC][eE][dD][iI][nN][gG]"
}
]
},
"named": false,
"value": "UNBOUNDED_PRECEDING"
},
"keyword_unbounded_following": {
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[uU][nN][bB][oO][uU][nN][dD][eE][dD]"
},
{
"type": "PATTERN",
"value": "[fF][oO][lL][lL][oO][wW][iI][nN][gG]"
}
]
},
"named": false,
"value": "UNBOUNDED_FOLLOWING"
},
"keyword_current_row": {
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[cC][uU][rR][rR][eE][nN][tT]"
},
{
"type": "PATTERN",
"value": "[rR][oO][wW]"
}
]
},
"named": false,
"value": "CURRENT_ROW"
},
"named_window_expression": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "_keyword_as"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "window_specification"
}
]
}
]
},
"aggregation_threshold_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
},
{
"type": "PATTERN",
"value": "[aA][gG][gG][rR][eE][gG][aA][tT][iI][oO][nN][__][tT][hH][rR][eE][sS][hH][oO][lL][dD]"
}
]
},
"named": false,
"value": "WITH_AGGREGATION_THRESHOLD"
},
{
"type": "STRING",
"value": "OPTIONS"
},
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "option_item"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "option_item"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"differential_privacy_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
},
{
"type": "PATTERN",
"value": "[dD][iI][fF][fF][eE][rR][eE][nN][tT][iI][aA][lL][__][pP][rR][iI][vV][aA][cC][yY]"
}
]
},
"named": false,
"value": "WITH_DIFFERENTIAL_PRIVACY"
},
{
"type": "STRING",
"value": "OPTIONS"
},
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "option_item"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "option_item"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"window_clause": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_window"
},
{
"type": "SYMBOL",
"name": "named_window_expression"
}
]
},
"order_by_clause_body": {
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_direction_keywords"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_nulls_preference"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_direction_keywords"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_nulls_preference"
},
{
"type": "BLANK"
}
]
}
]
}
]
}
}
]
},
"_direction_keywords": {
"type": "FIELD",
"name": "order",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][sS][cC]"
},
"named": false,
"value": "ASC"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[dD][eE][sS][cC]"
},
"named": false,
"value": "DESC"
}
]
}
},
"_nulls_preference": {
"type": "FIELD",
"name": "nulls_preference",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[nN][uU][lL][lL][sS]"
},
{
"type": "PATTERN",
"value": "[fF][iI][rR][sS][tT]"
}
]
},
"named": false,
"value": "NULLS_FIRST"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[nN][uU][lL][lL][sS]"
},
{
"type": "PATTERN",
"value": "[lL][aA][sS][tT]"
}
]
},
"named": false,
"value": "NULLS_LAST"
}
]
}
},
"order_by_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[oO][rR][dD][eE][rR]"
},
{
"type": "PATTERN",
"value": "[bB][yY]"
}
]
},
"named": false,
"value": "ORDER_BY"
},
{
"type": "SYMBOL",
"name": "order_by_clause_body"
}
]
},
"where_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[wW][hH][eE][rR][eE]"
},
"named": false,
"value": "WHERE"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
"_aliasable_expression": {
"type": "PREC_LEFT",
"value": "clause_connective",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "as_alias"
},
{
"type": "BLANK"
}
]
}
]
}
},
"as_alias": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_as"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "alias_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
"cte_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
},
"named": false,
"value": "WITH"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][eE][cC][uU][rR][sS][iI][vV][eE]"
},
"named": false,
"value": "RECURSIVE"
},
"named": true,
"value": "with_recursive_keyword"
},
{
"type": "BLANK"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "cte"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "cte"
}
]
}
}
]
}
]
},
"cte": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "alias_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "SYMBOL",
"name": "_keyword_as"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "query_expr"
},
{
"type": "STRING",
"value": ")"
}
]
},
"from_clause": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_from"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "from_item"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "pivot_operator"
},
{
"type": "SYMBOL",
"name": "unpivot_operator"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "tablesample_operator"
},
{
"type": "BLANK"
}
]
}
]
}
]
},
"pivot_value": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "function_call"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "as_alias"
},
{
"type": "BLANK"
}
]
}
]
},
"pivot_operator": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[pP][iI][vV][oO][tT]"
},
"named": false,
"value": "PIVOT"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "pivot_value"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "pivot_value"
}
]
}
}
]
},
{
"type": "SYMBOL",
"name": "_keyword_for"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "input_column"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][nN]"
},
"named": false,
"value": "IN"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_aliasable_expression"
},
"named": true,
"value": "pivot_column"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_aliasable_expression"
},
"named": true,
"value": "pivot_column"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
},
{
"type": "STRING",
"value": ")"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "as_alias"
},
{
"type": "BLANK"
}
]
}
]
},
"unpivot_operator": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[uU][nN][pP][iI][vV][oO][tT]"
},
"named": false,
"value": "UNPIVOT"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[iI][nN][cC][lL][uU][dD][eE]"
},
{
"type": "PATTERN",
"value": "[nN][uU][lL][lL][sS]"
}
]
},
"named": false,
"value": "INCLUDE_NULLS"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[eE][xX][cC][lL][uU][dD][eE]"
},
{
"type": "PATTERN",
"value": "[nN][uU][lL][lL][sS]"
}
]
},
"named": false,
"value": "EXCLUDE_NULLS"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "single_column_unpivot"
},
{
"type": "SYMBOL",
"name": "multi_column_unpivot"
}
]
},
{
"type": "STRING",
"value": ")"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "as_alias"
},
{
"type": "BLANK"
}
]
}
]
},
"single_column_unpivot": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "unpivot_value"
},
{
"type": "SYMBOL",
"name": "_keyword_for"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "name_column"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][nN]"
},
"named": false,
"value": "IN"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "unpivot_column"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "unpivot_column"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"multi_column_unpivot": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "unpivot_value"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "unpivot_value"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
},
{
"type": "SYMBOL",
"name": "_keyword_for"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "name_column"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][nN]"
},
"named": false,
"value": "IN"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "unpivot_column"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "unpivot_column"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
}
},
"unpivot_column": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "struct"
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_as"
},
{
"type": "FIELD",
"name": "alias",
"content": {
"type": "SYMBOL",
"name": "string"
}
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"tablesample_operator": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE][sS][aA][mM][pP][lL][eE]"
},
{
"type": "PATTERN",
"value": "[sS][yY][sS][tT][eE][mM]"
}
]
},
"named": false,
"value": "TABLESAMPLE_SYSTEM"
},
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "sample_rate",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_integer"
},
{
"type": "SYMBOL",
"name": "query_parameter"
}
]
}
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[pP][eE][rR][cC][eE][nN][tT]"
},
"named": false,
"value": "PERCENT"
},
{
"type": "STRING",
"value": ")"
}
]
},
"from_item": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "as_alias"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "select_subexpression"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "as_alias"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "function_call"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "as_alias"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "unnest_clause"
},
{
"type": "SYMBOL",
"name": "join_operation"
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "join_operation"
},
{
"type": "STRING",
"value": ")"
}
]
}
]
}
]
},
"join_operation": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_cross_join_operation"
},
{
"type": "SYMBOL",
"name": "_conditional_join_operator"
}
]
},
"join_type": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][nN][nN][eE][rR]"
},
"named": false,
"value": "INNER"
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[lL][eE][fF][tT]"
},
"named": false,
"value": "LEFT"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][iI][gG][hH][tT]"
},
"named": false,
"value": "RIGHT"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[fF][uU][lL][lL]"
},
"named": false,
"value": "FULL"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[oO][uU][tT][eE][rR]"
},
"named": false,
"value": "OUTER"
},
{
"type": "BLANK"
}
]
}
]
}
]
}
]
},
"_cross_join_operation": {
"type": "PREC_LEFT",
"value": "clause_connective",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "from_item"
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[cC][rR][oO][sS][sS]"
},
{
"type": "PATTERN",
"value": "[jJ][oO][iI][nN]"
}
]
},
"named": false,
"value": "CROSS_JOIN"
},
{
"type": "STRING",
"value": ","
}
]
}
},
{
"type": "SYMBOL",
"name": "from_item"
}
]
}
},
"_conditional_join_operator": {
"type": "PREC_LEFT",
"value": "clause_connective",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "from_item"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "join_type"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[jJ][oO][iI][nN]"
},
"named": false,
"value": "JOIN"
},
{
"type": "SYMBOL",
"name": "from_item"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "join_condition"
},
{
"type": "BLANK"
}
]
}
]
}
},
"join_condition": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[oO][nN]"
},
"named": false,
"value": "ON"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[uU][sS][iI][nN][gG]"
},
"named": false,
"value": "USING"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keys",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "keys",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
}
]
},
"select_subexpression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "query_expr"
},
{
"type": "STRING",
"value": ")"
}
]
},
"analytics_clause": {
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[oO][vV][eE][rR]"
},
"named": false,
"value": "OVER"
},
{
"type": "SYMBOL",
"name": "over_clause"
}
]
}
]
},
"bigquery_resource": {
"type": "PREC",
"value": 10,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "resource_type",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[mM][oO][dD][eE][lL]"
},
"named": false,
"value": "MODEL"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
},
"named": false,
"value": "TABLE"
}
]
}
},
{
"type": "FIELD",
"name": "resource_type",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
}
},
"argument": {
"type": "PREC",
"value": 10,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "keyword",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "STRING",
"value": "=>"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
{
"type": "SYMBOL",
"name": "bigquery_resource"
}
]
}
},
"function_call": {
"type": "PREC",
"value": 1,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "function",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_keyword_distinct"
},
"named": true,
"value": "distinct"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "SYMBOL",
"name": "asterisk_expression"
}
]
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "SYMBOL",
"name": "asterisk_expression"
}
]
}
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][gG][nN][oO][rR][eE]"
},
"named": false,
"value": "IGNORE"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[nN][uU][lL][lL][sS]"
},
"named": false,
"value": "NULLS"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "having_max_clause"
},
{
"type": "SYMBOL",
"name": "having_min_clause"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "order_by_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "limit_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "analytics_clause"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "function",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_type_chrono"
},
"named": true,
"value": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_keyword_range"
},
"named": true,
"value": "identifier"
}
]
}
},
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "asterisk_expression"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "asterisk_expression"
}
]
}
]
}
}
]
}
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "function",
"content": {
"type": "ALIAS",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[eE][xX][tT][rR][aA][cC][tT]"
},
"named": false,
"value": "EXTRACT"
},
"named": true,
"value": "identifier"
}
},
{
"type": "STRING",
"value": "("
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_unquoted_identifier"
},
"named": true,
"value": "datetime_part"
},
{
"type": "SYMBOL",
"name": "_keyword_from"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "function",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][rR][rR][aA][yY]"
},
"named": false,
"value": "ARRAY"
}
},
{
"type": "SYMBOL",
"name": "select_subexpression"
}
]
}
]
}
},
"having_max_clause": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[hH][aA][vV][iI][nN][gG]"
},
"named": false,
"value": "HAVING"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[mM][aA][xX]"
},
"named": false,
"value": "MAX"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_expression"
},
"named": true,
"value": "having_expression"
}
]
}
]
},
"having_min_clause": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[hH][aA][vV][iI][nN][gG]"
},
"named": false,
"value": "HAVING"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[mM][iI][nN]"
},
"named": false,
"value": "MIN"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_expression"
},
"named": true,
"value": "having_expression"
}
]
}
]
},
"unnest_operator": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[uU][nN][nN][eE][sS][tT]"
},
"named": false,
"value": "UNNEST"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": ")"
}
]
}
]
},
"unnest_clause": {
"type": "PREC_RIGHT",
"value": 50,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "unnest_operator"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "as_alias"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "unnest_withoffset"
},
{
"type": "BLANK"
}
]
}
]
}
},
"unnest_withoffset": {
"type": "PREC_LEFT",
"value": 2,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
},
{
"type": "PATTERN",
"value": "[oO][fF][fF][sS][eE][tT]"
}
]
},
"named": false,
"value": "WITH_OFFSET"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_as"
},
{
"type": "SYMBOL",
"name": "_identifier"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
},
"insert_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][nN][sS][eE][rR][tT]"
},
"named": false,
"value": "INSERT"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][nN][tT][oO]"
},
"named": false,
"value": "INTO"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "insert_columns"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "values_clause"
}
]
},
"values_clause": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[vV][aA][lL][uU][eE][sS]"
},
"named": false,
"value": "VALUES"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "value_element"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "value_element"
}
]
}
}
]
}
]
},
{
"type": "SYMBOL",
"name": "query_statement"
}
]
},
"value_element": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"delete_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_delete"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_from"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "as_alias"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "where_clause"
}
]
},
"truncate_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[tT][rR][uU][nN][cC][aA][tT][eE]"
},
{
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
}
]
},
"named": false,
"value": "TRUNCATE_TABLE"
},
{
"type": "FIELD",
"name": "table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
"update_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[uU][pP][dD][aA][tT][eE]"
},
"named": false,
"value": "UPDATE"
},
{
"type": "FIELD",
"name": "table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "as_alias"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "set_clause"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "from_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "where_clause"
}
]
},
"set_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[sS][eE][tT]"
},
"named": false,
"value": "SET"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "update_item"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "update_item"
}
]
}
}
]
}
]
},
"update_item": {
"type": "SYMBOL",
"name": "_assigment_expression"
},
"_assigment_expression": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "STRING",
"value": "="
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
"merge_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[mM][eE][rR][gG][eE]"
},
"named": false,
"value": "MERGE"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][nN][tT][oO]"
},
"named": false,
"value": "INTO"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "as_alias"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[uU][sS][iI][nN][gG]"
},
"named": false,
"value": "USING"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "source_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "as_alias"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "select_subexpression"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "as_alias"
},
{
"type": "BLANK"
}
]
}
]
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "as_alias"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[oO][nN]"
},
"named": false,
"value": "ON"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_expression"
},
"named": true,
"value": "merge_condition"
},
{
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "merge_matched_clause"
},
{
"type": "SYMBOL",
"name": "merge_not_matched_by_target_clause"
},
{
"type": "SYMBOL",
"name": "merge_not_matched_by_source_clause"
}
]
}
}
]
},
"merge_matched_clause": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[wW][hH][eE][nN]"
},
{
"type": "PATTERN",
"value": "[mM][aA][tT][cC][hH][eE][dD]"
}
]
},
"named": false,
"value": "WHEN_MATCHED"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_and"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_expression"
},
"named": true,
"value": "search_condition"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][hH][eE][nN]"
},
"named": false,
"value": "THEN"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "merge_update_clause"
},
{
"type": "SYMBOL",
"name": "merge_delete_clause"
}
]
}
]
}
]
},
"merge_not_matched_by_target_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[wW][hH][eE][nN]"
},
{
"type": "PATTERN",
"value": "[nN][oO][tT]"
},
{
"type": "PATTERN",
"value": "[mM][aA][tT][cC][hH][eE][dD]"
}
]
},
"named": false,
"value": "WHEN_NOT_MATCHED"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[bB][yY]"
},
{
"type": "PATTERN",
"value": "[tT][aA][rR][gG][eE][tT]"
}
]
},
"named": false,
"value": "BY_TARGET"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_and"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_expression"
},
"named": true,
"value": "search_condition"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][hH][eE][nN]"
},
"named": false,
"value": "THEN"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "merge_insert_clause"
}
]
}
]
},
"merge_not_matched_by_source_clause": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[wW][hH][eE][nN]"
},
{
"type": "PATTERN",
"value": "[nN][oO][tT]"
},
{
"type": "PATTERN",
"value": "[mM][aA][tT][cC][hH][eE][dD]"
},
{
"type": "PATTERN",
"value": "[bB][yY]"
},
{
"type": "PATTERN",
"value": "[sS][oO][uU][rR][cC][eE]"
}
]
},
"named": false,
"value": "WHEN_NOT_MATCHED_BY_SOURCE"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_and"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_expression"
},
"named": true,
"value": "search_condition"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][hH][eE][nN]"
},
"named": false,
"value": "THEN"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "merge_update_clause"
},
{
"type": "SYMBOL",
"name": "merge_delete_clause"
}
]
}
]
}
]
},
"merge_update_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[uU][pP][dD][aA][tT][eE]"
},
{
"type": "PATTERN",
"value": "[sS][eE][tT]"
}
]
},
"named": false,
"value": "UPDATE_SET"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "update_item"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "update_item"
}
]
}
}
]
}
]
},
"merge_delete_clause": {
"type": "SYMBOL",
"name": "_keyword_delete"
},
"merge_insert_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][nN][sS][eE][rR][tT]"
},
"named": false,
"value": "INSERT"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "insert_columns"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "values_clause"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][oO][wW]"
},
"named": false,
"value": "ROW"
}
]
}
]
},
"insert_columns": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"grant_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[gG][rR][aA][nN][tT]"
},
"named": false,
"value": "GRANT"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "privilege_role"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "privilege_role"
}
]
}
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[aA][lL][lL]"
},
{
"type": "PATTERN",
"value": "[pP][rR][iI][vV][iI][lL][eE][gG][eE][sS]"
}
]
},
"named": false,
"value": "ALL_PRIVILEGES"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[oO][nN]"
},
"named": false,
"value": "ON"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "object_type"
},
{
"type": "BLANK"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
}
}
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][oO]"
},
"named": false,
"value": "TO"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "privilege_user"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "privilege_user"
}
]
}
}
]
}
]
},
"revoke_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][eE][vV][oO][kK][eE]"
},
"named": false,
"value": "REVOKE"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "privilege_role"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "privilege_role"
}
]
}
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[aA][lL][lL]"
},
{
"type": "PATTERN",
"value": "[pP][rR][iI][vV][iI][lL][eE][gG][eE][sS]"
}
]
},
"named": false,
"value": "ALL_PRIVILEGES"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[oO][nN]"
},
"named": false,
"value": "ON"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "object_type"
},
{
"type": "BLANK"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
}
}
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[fF][rR][oO][mM]"
},
"named": false,
"value": "FROM"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "privilege_user"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "privilege_user"
}
]
}
}
]
}
]
},
"privilege_role": {
"type": "PATTERN",
"value": "`[/a-zA-Z0-9._-]+`"
},
"privilege_user": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\""
},
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "user"
},
{
"type": "STRING",
"value": "group"
},
{
"type": "STRING",
"value": "serviceAccount"
},
{
"type": "STRING",
"value": "domain"
},
{
"type": "STRING",
"value": "specialGroup"
}
]
},
"named": true,
"value": "user_type"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[^\"']+"
},
"named": true,
"value": "user_id"
},
{
"type": "STRING",
"value": "\""
}
]
},
"object_type": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[sS][cC][hH][eE][mM][aA]"
},
"named": false,
"value": "SCHEMA"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
},
"named": false,
"value": "TABLE"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[vV][iI][eE][wW]"
},
"named": false,
"value": "VIEW"
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[eE][xX][tT][eE][rR][nN][aA][lL]"
},
{
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
}
]
},
"named": false,
"value": "EXTERNAL_TABLE"
}
]
},
"export_data_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[eE][xX][pP][oO][rR][tT]"
},
{
"type": "PATTERN",
"value": "[dD][aA][tT][aA]"
}
]
},
"named": false,
"value": "EXPORT_DATA"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "with_connection_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "option_clause"
},
{
"type": "STRING",
"value": "AS"
},
{
"type": "SYMBOL",
"name": "query_statement"
}
]
},
"load_data_statement": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[lL][oO][aA][dD]"
},
{
"type": "PATTERN",
"value": "[dD][aA][tT][aA]"
}
]
},
"named": false,
"value": "LOAD_DATA"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[oO][vV][eE][rR][wW][rR][iI][tT][eE]"
},
"named": false,
"value": "OVERWRITE"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][nN][tT][oO]"
},
"named": false,
"value": "INTO"
}
]
},
{
"type": "FIELD",
"name": "table_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "create_table_parameters"
},
"named": true,
"value": "load_data_table_parameters"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "table_partition_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "table_cluster_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "option_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "from_files_clause"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "partition_columns_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "with_connection_clause"
},
{
"type": "BLANK"
}
]
}
]
}
},
"with_connection_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
},
{
"type": "PATTERN",
"value": "[cC][oO][nN][nN][eE][cC][tT][iI][oO][nN]"
}
]
},
"named": false,
"value": "WITH_CONNECTION"
},
{
"type": "FIELD",
"name": "connection_name",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "connection_path"
}
}
]
},
"from_files_clause": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_from"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[fF][iI][lL][eE][sS]"
},
"named": false,
"value": "FILES"
},
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "load_option_list",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "option_item"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "option_item"
}
]
}
}
]
}
},
{
"type": "STRING",
"value": ")"
}
]
},
"_literal": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "system_variable"
},
{
"type": "SYMBOL",
"name": "query_parameter"
},
{
"type": "SYMBOL",
"name": "array"
},
{
"type": "SYMBOL",
"name": "struct"
},
{
"type": "SYMBOL",
"name": "range"
},
{
"type": "SYMBOL",
"name": "interval"
},
{
"type": "SYMBOL",
"name": "time"
},
{
"type": "SYMBOL",
"name": "string"
},
{
"type": "SYMBOL",
"name": "json"
},
{
"type": "SYMBOL",
"name": "TRUE"
},
{
"type": "SYMBOL",
"name": "FALSE"
},
{
"type": "SYMBOL",
"name": "NULL"
},
{
"type": "SYMBOL",
"name": "number"
}
]
},
"NULL": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[nN][uU][lL][lL]"
},
"named": false,
"value": "NULL"
},
"TRUE": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][rR][uU][eE]"
},
"named": false,
"value": "TRUE"
},
"FALSE": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[fF][aA][lL][sS][eE]"
},
"named": false,
"value": "FALSE"
},
"_integer": {
"type": "PATTERN",
"value": "[-+]?\\d+"
},
"_float": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[-+]?\\d+\\.(\\d*)([eE][+-]?\\d+)?"
},
{
"type": "PATTERN",
"value": "(\\d+)?\\.\\d+([eE][+-]?\\d+)?"
},
{
"type": "PATTERN",
"value": "\\d+[eE][+-]?\\d+"
}
]
},
"_float_or_integer": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_integer"
},
{
"type": "SYMBOL",
"name": "_float"
}
]
},
"numeric": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[nN][uU][mM][eE][rR][iI][cC]"
},
"named": false,
"value": "NUMERIC"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[bB][iI][gG][nN][uU][mM][eE][rR][iI][cC]"
},
"named": false,
"value": "BIGNUMERIC"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[dD][eE][cC][iI][mM][aA][lL]"
},
"named": false,
"value": "DECIMAL"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[bB][iI][gG][dD][eE][cC][iI][mM][aA][lL]"
},
"named": false,
"value": "BIGDECIMAL"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "'"
},
{
"type": "SYMBOL",
"name": "_float_or_integer"
},
{
"type": "STRING",
"value": "'"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\""
},
{
"type": "SYMBOL",
"name": "_float_or_integer"
},
{
"type": "STRING",
"value": "\""
}
]
}
]
}
]
},
"_number": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_integer"
},
{
"type": "SYMBOL",
"name": "_float"
},
{
"type": "SYMBOL",
"name": "numeric"
}
]
},
"interval": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][nN][tT][eE][rR][vV][aA][lL]"
},
"named": false,
"value": "INTERVAL"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_unquoted_identifier"
},
"named": true,
"value": "datetime_part"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][oO]"
},
"named": false,
"value": "TO"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_unquoted_identifier"
},
"named": true,
"value": "datetime_part"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"range_boundary_start": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "STRING",
"value": "("
}
]
},
"range_boundary_end": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "]"
},
{
"type": "STRING",
"value": ")"
}
]
},
"range_content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[uU][nN][bB][oO][uU][nN][dD][eE][dD]"
},
"named": false,
"value": "UNBOUNDED"
},
{
"type": "PATTERN",
"value": "[-0-9: .]+"
}
]
},
"range_start": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "range_boundary_start"
},
{
"type": "SYMBOL",
"name": "range_content"
}
]
},
"range_end": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "range_content"
},
{
"type": "SYMBOL",
"name": "range_boundary_end"
}
]
},
"_range_string": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_string_start"
},
{
"type": "SYMBOL",
"name": "range_start"
},
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "range_end"
},
{
"type": "SYMBOL",
"name": "_string_end"
}
]
},
"range": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_range"
},
{
"type": "STRING",
"value": "<"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_type_chrono"
},
"named": true,
"value": "range_type"
},
{
"type": "STRING",
"value": ">"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_range_string"
},
"named": true,
"value": "string"
},
{
"type": "SYMBOL",
"name": "string"
}
]
}
]
}
]
},
"time": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_type_chrono"
},
{
"type": "SYMBOL",
"name": "string"
}
]
},
"number": {
"type": "SYMBOL",
"name": "_number"
},
"json": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[jJ][sS][oO][nN]"
},
"named": false,
"value": "JSON"
},
{
"type": "SYMBOL",
"name": "string"
}
]
},
"system_variable": {
"type": "PATTERN",
"value": "@@[_a-zA-Z][._a-zA-Z0-9]*"
},
"query_parameter": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_named_query_parameter"
},
{
"type": "SYMBOL",
"name": "_positional_query_parameter"
}
]
},
"_named_query_parameter": {
"type": "PATTERN",
"value": "@+[_a-zA-Z][_a-zA-Z0-9]*"
},
"_positional_query_parameter": {
"type": "PATTERN",
"value": "\\?"
},
"type": {
"type": "SYMBOL",
"name": "_bqtype"
},
"_bqtype": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_type_struct"
},
{
"type": "SYMBOL",
"name": "_type_array"
},
{
"type": "SYMBOL",
"name": "_base_type"
}
]
},
"_type_chrono": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_date"
},
{
"type": "SYMBOL",
"name": "_keyword_time"
},
{
"type": "SYMBOL",
"name": "_keyword_datetime"
},
{
"type": "SYMBOL",
"name": "_keyword_timestamp"
}
]
},
"_type_struct": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_struct"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<"
},
{
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_bqtype"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_bqtype"
}
]
}
]
}
}
]
},
{
"type": "STRING",
"value": ">"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"_type_array": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][rR][rR][aA][yY]"
},
"named": false,
"value": "ARRAY"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<"
},
{
"type": "SYMBOL",
"name": "_bqtype"
},
{
"type": "STRING",
"value": ">"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"array": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_type_array"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "["
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "]"
}
]
},
"struct": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_type_struct"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_aliasable_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_aliasable_expression"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"_unquoted_identifier": {
"type": "PATTERN",
"value": "[_a-zA-Z][_a-zA-Z0-9]*"
},
"_quoted_identifier": {
"type": "PATTERN",
"value": "`[^`]+`"
},
"_identifier": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_quoted_identifier"
},
{
"type": "SYMBOL",
"name": "_unquoted_identifier"
}
]
},
"_dotted_identifier": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "."
}
}
]
},
"identifier": {
"type": "CHOICE",
"members": [
{
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_dotted_identifier"
}
},
{
"type": "SYMBOL",
"name": "_identifier"
}
]
}
},
{
"type": "PREC",
"value": 100,
"content": {
"type": "SYMBOL",
"name": "_type_chrono"
}
}
]
},
"_base_type": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_unquoted_identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "number"
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
},
"string": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_string_start"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_string_content"
}
},
{
"type": "SYMBOL",
"name": "_string_end"
}
]
},
"ordered_expression": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "_direction_keywords"
}
]
},
"comment": {
"type": "TOKEN",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "#"
},
{
"type": "PATTERN",
"value": ".*"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "--"
},
{
"type": "PATTERN",
"value": ".*"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "/*"
},
{
"type": "PATTERN",
"value": "[^*]*\\*+([^/*][^*]*\\*+)*"
},
{
"type": "STRING",
"value": "/"
}
]
}
]
}
},
"_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "unary_expression"
},
{
"type": "SYMBOL",
"name": "between_operator"
},
{
"type": "SYMBOL",
"name": "casewhen_expression"
},
{
"type": "SYMBOL",
"name": "function_call"
},
{
"type": "SYMBOL",
"name": "_literal"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "unnest_clause"
},
{
"type": "SYMBOL",
"name": "_parenthesized_expression"
},
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "SYMBOL",
"name": "field_access"
},
{
"type": "SYMBOL",
"name": "element_access"
},
{
"type": "SYMBOL",
"name": "argument_reference"
},
{
"type": "SYMBOL",
"name": "select_subexpression"
},
{
"type": "SYMBOL",
"name": "cast_expression"
}
]
},
"_parenthesized_expression": {
"type": "PREC",
"value": "unary_exp",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": ")"
}
]
}
},
"element_access": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "["
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "]"
}
]
},
"field_access": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": "."
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
},
"unary_expression": {
"type": "CHOICE",
"members": [
{
"type": "PREC_LEFT",
"value": "unary_not",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "SYMBOL",
"name": "_keyword_not"
}
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "unary_exp",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "~"
},
{
"type": "STRING",
"value": "+"
},
{
"type": "STRING",
"value": "-"
}
]
}
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
{
"type": "PREC_LEFT",
"value": "unary_exp",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[eE][xX][iI][sS][tT][sS]"
},
"named": false,
"value": "EXISTS"
}
},
{
"type": "SYMBOL",
"name": "select_subexpression"
}
]
}
},
{
"type": "PREC_LEFT",
"value": "operator_compare",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "_keyword_is"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_not"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "NULL"
},
{
"type": "SYMBOL",
"name": "TRUE"
},
{
"type": "SYMBOL",
"name": "FALSE"
}
]
}
]
}
}
]
},
"binary_expression": {
"type": "CHOICE",
"members": [
{
"type": "PREC_LEFT",
"value": "binary_times",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "*"
},
{
"type": "STRING",
"value": "/"
},
{
"type": "STRING",
"value": "||"
}
]
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_plus",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "+"
},
{
"type": "STRING",
"value": "-"
}
]
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "operator_compare",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "<"
},
{
"type": "STRING",
"value": "<="
},
{
"type": "STRING",
"value": "<>"
},
{
"type": "STRING",
"value": "="
},
{
"type": "STRING",
"value": ">"
},
{
"type": "STRING",
"value": ">="
},
{
"type": "STRING",
"value": "!="
}
]
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_bitwise_shift",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "<<"
},
{
"type": "STRING",
"value": ">>"
}
]
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_bitwise_and",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "&"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_bitwise_xor",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "^"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_bitwise_or",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "|"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_and",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "SYMBOL",
"name": "_keyword_and"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_or",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "SYMBOL",
"name": "_keyword_or"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "operator_compare",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_not"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_keyword_in"
}
]
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "operator_compare",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_is"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_not"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[dD][iI][sS][tT][iI][nN][cC][tT]"
},
{
"type": "PATTERN",
"value": "[fF][rR][oO][mM]"
}
]
},
"named": false,
"value": "DISTINCT_FROM"
}
]
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
}
},
{
"type": "STRING",
"value": "operator_compare"
},
{
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "SYMBOL",
"name": "like_operator"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "string"
},
"named": true,
"value": "like_pattern"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "SYMBOL",
"name": "quantitve_like_operator"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "quantitve_like_patterns"
}
}
]
}
]
}
]
}
}
]
},
"like_operator": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_not"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_keyword_like"
}
]
},
"quantitve_like_operator": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_not"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_keyword_like"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][nN][yY]"
},
"named": false,
"value": "ANY"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[sS][oO][mM][eE]"
},
"named": false,
"value": "SOME"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][lL][lL]"
},
"named": false,
"value": "ALL"
}
]
}
]
},
"quantitve_like_patterns": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "string"
},
"named": true,
"value": "like_pattern"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "string"
},
"named": true,
"value": "like_pattern"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"between_operator": {
"type": "PREC_LEFT",
"value": "operator_compare",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "exp",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_not"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_keyword_between"
},
{
"type": "FIELD",
"name": "from",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_expression"
},
"named": true,
"value": "between_from"
}
},
{
"type": "SYMBOL",
"name": "_keyword_and"
},
{
"type": "FIELD",
"name": "to",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_expression"
},
"named": true,
"value": "between_to"
}
}
]
}
},
"casewhen_expression": {
"type": "PREC_LEFT",
"value": "clause_connective",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_case"
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "expr",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "casewhen_clause"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "caseelse_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_keyword_end"
}
]
}
},
"casewhen_clause": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_when"
},
{
"type": "FIELD",
"name": "match_condition",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "SYMBOL",
"name": "_keyword_then"
},
{
"type": "FIELD",
"name": "match_result",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
},
"caseelse_clause": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_else"
},
{
"type": "FIELD",
"name": "else_result",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
}
]
},
"cast_expression": {
"type": "PREC_RIGHT",
"value": 10,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_cast"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "_keyword_as"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_bqtype"
},
"named": true,
"value": "type_identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cast_format_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
}
},
"cast_format_clause": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_keyword_format"
},
{
"type": "FIELD",
"name": "format_type",
"content": {
"type": "SYMBOL",
"name": "string"
}
}
]
},
"asterisk_expression": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_dotted_identifier"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "*"
}
]
},
"argument_reference": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "$"
},
{
"type": "PATTERN",
"value": "\\d+"
}
]
}
},
"extras": [
{
"type": "PATTERN",
"value": "\\s\\n"
},
{
"type": "PATTERN",
"value": "\\s"
},
{
"type": "SYMBOL",
"name": "comment"
},
{
"type": "PATTERN",
"value": "[\\s\\f\\uFEFF\\u2060\\u200B]|\\\\\\r?\\n"
}
],
"conflicts": [
[
"query_expr"
],
[
"function_call"
]
],
"precedences": [
[
{
"type": "STRING",
"value": "unary_exp"
},
{
"type": "STRING",
"value": "binary_times"
},
{
"type": "STRING",
"value": "binary_plus"
},
{
"type": "STRING",
"value": "binary_bitwise_shift"
},
{
"type": "STRING",
"value": "binary_bitwise_and"
},
{
"type": "STRING",
"value": "binary_bitwise_xor"
},
{
"type": "STRING",
"value": "binary_bitwise_or"
},
{
"type": "STRING",
"value": "operator_compare"
},
{
"type": "STRING",
"value": "binary_relation"
},
{
"type": "STRING",
"value": "binary_concat"
},
{
"type": "STRING",
"value": "binary_and"
},
{
"type": "STRING",
"value": "binary_or"
},
{
"type": "STRING",
"value": "unary_not"
},
{
"type": "STRING",
"value": "statement"
},
{
"type": "STRING",
"value": "clause_connective"
},
{
"type": "STRING",
"value": "literal"
}
]
],
"externals": [
{
"type": "SYMBOL",
"name": "_string_start"
},
{
"type": "SYMBOL",
"name": "_string_content"
},
{
"type": "SYMBOL",
"name": "_string_end"
}
],
"inline": [],
"supertypes": []
}