Skip to main content

NODE_TYPES_PLPGSQL

Constant NODE_TYPES_PLPGSQL 

Source
pub const NODE_TYPES_PLPGSQL: &str = "[\n  {\n    \"type\": \"any_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unreserved_keyword\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"block_label\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"case_when\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_then\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"proc_sect\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"comp_option\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_dump\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_error\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_print_strict_params\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_use_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_use_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_variable_conflict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"option_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"comp_options\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"comp_option\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"decl_collate\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_collate\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"decl_cursor_arg\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"decl_datatype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"decl_varname\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"decl_cursor_args\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"decl_cursor_arg\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"decl_datatype\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"decl_defval\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"decl_sect\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"decl_stmt\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_declare\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"decl_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"decl_collate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"decl_cursor_args\",\n          \"named\": true\n        },\n        {\n          \"type\": \"decl_datatype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"decl_defval\",\n          \"named\": true\n        },\n        {\n          \"type\": \"decl_varname\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constant\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cursor\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_not\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_scrollable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"decl_stmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"decl_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_declare\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"decl_varname\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unreserved_keyword\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dotted_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"else_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_else\",\n          \"named\": true\n        },\n        {\n          \"type\": \"proc_sect\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"elsif_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_elsif\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_then\",\n          \"named\": true\n        },\n        {\n          \"type\": \"proc_sect\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"end_label\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"exception_sect\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_exception\",\n          \"named\": true\n        },\n        {\n          \"type\": \"proc_exception\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"fetch_direction\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"integer_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_absolute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_all\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_backward\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_first\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_forward\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_last\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_next\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_prior\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_relative\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"for_cursor\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_loop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"for_dynamic\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_execute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_loop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"for_integer_range\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_by\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_loop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reverse\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"for_query\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_loop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"for_variable\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"getdiag_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_column_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraint_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_message_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_pg_context\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_pg_datatype_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_pg_exception_context\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_pg_exception_detail\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_pg_exception_hint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_pg_routine_oid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_returned_sqlstate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_row_count\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schema_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"getdiag_list_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"getdiag_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"into_target\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"loop_body\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_loop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"proc_sect\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"loop_label\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_scrollable\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_no\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_scroll\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"opt_transaction_chain\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_and\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_chain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_no\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"option_value\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unreserved_keyword\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pl_block\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block_label\",\n          \"named\": true\n        },\n        {\n          \"type\": \"decl_sect\",\n          \"named\": true\n        },\n        {\n          \"type\": \"end_label\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exception_sect\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_begin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"proc_sect\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"proc_condition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sqlstate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"proc_conditions\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_or\",\n          \"named\": true\n        },\n        {\n          \"type\": \"proc_condition\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"proc_exception\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_then\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"proc_conditions\",\n          \"named\": true\n        },\n        {\n          \"type\": \"proc_sect\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"proc_sect\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"proc_stmt\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"proc_stmt\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"pl_block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_assert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_assign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_close\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_commit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_dynexecute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_execsql\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_exit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_fetch\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_foreach_a\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_getdiag\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_loop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_move\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_null\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_open\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_perform\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_raise\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_rollback\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stmt_while\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"raise_level\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_debug\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exception\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_info\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_log\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_notice\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_warning\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"raise_option\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_datatype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_detail\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_errcode\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_hint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_message\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"source_file\",\n    \"named\": true,\n    \"root\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"comp_options\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pl_block\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sql_expression\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"stmt_assert\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_assert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_assign\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_call\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_do\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_case\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"case_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_else\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"proc_sect\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_close\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_close\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_commit\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_commit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_transaction_chain\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_dynexecute\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"into_target\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_execute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_strict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_execsql\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"into_target\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_into\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_strict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_exit\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_continue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_when\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_fetch\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fetch_direction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"into_target\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_fetch\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_from\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_into\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_for\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"for_cursor\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_dynamic\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_integer_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_query\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_label\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_foreach_a\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"for_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_foreach\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_in\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_loop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_slice\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_label\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_getdiag\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"getdiag_list_item\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_diagnostics\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_get\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_stacked\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_if\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"else_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"elsif_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_then\",\n          \"named\": true\n        },\n        {\n          \"type\": \"proc_sect\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_loop\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_loop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_label\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_move\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fetch_direction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_move\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_null\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_null\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_open\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_execute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_for\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_open\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_scrollable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_perform\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_perform\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_raise\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"any_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_raise\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sqlstate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"raise_level\",\n          \"named\": true\n        },\n        {\n          \"type\": \"raise_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_return\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_execute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_next\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_query\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_using\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_rollback\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_rollback\",\n          \"named\": true\n        },\n        {\n          \"type\": \"opt_transaction_chain\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"stmt_while\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_loop\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_while\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_label\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sql_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rowtype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"unreserved_keyword\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kw_absolute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_and\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_assert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_backward\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_call\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_chain\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_close\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_collate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_column_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_commit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constant\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_constraint_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_continue\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_current\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_cursor\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_datatype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_debug\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_default\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_detail\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_diagnostics\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_do\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_dump\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_elsif\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_errcode\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_error\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exception\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_exit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_fetch\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_first\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_forward\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_get\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_hint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_import\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_info\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_insert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_is\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_last\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_log\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_merge\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_message\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_message_text\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_move\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_next\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_no\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_notice\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_open\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_option\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_perform\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_pg_context\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_pg_datatype_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_pg_exception_context\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_pg_exception_detail\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_pg_exception_hint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_pg_routine_oid\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_print_strict_params\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_prior\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_query\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_raise\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_relative\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_return\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_returned_sqlstate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_reverse\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rollback\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_row_count\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_rowtype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schema\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_schema_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_scroll\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_slice\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_sqlstate\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_stacked\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_table_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_use_column\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_use_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_variable_conflict\",\n          \"named\": true\n        },\n        {\n          \"type\": \"kw_warning\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"#\",\n    \"named\": false\n  },\n  {\n    \"type\": \"%\",\n    \"named\": false\n  },\n  {\n    \"type\": \"(\",\n    \"named\": false\n  },\n  {\n    \"type\": \")\",\n    \"named\": false\n  },\n  {\n    \"type\": \",\",\n    \"named\": false\n  },\n  {\n    \"type\": \".\",\n    \"named\": false\n  },\n  {\n    \"type\": \"..\",\n    \"named\": false\n  },\n  {\n    \"type\": \":=\",\n    \"named\": false\n  },\n  {\n    \"type\": \";\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<<\",\n    \"named\": false\n  },\n  {\n    \"type\": \"=\",\n    \"named\": false\n  },\n  {\n    \"type\": \">>\",\n    \"named\": false\n  },\n  {\n    \"type\": \"[\",\n    \"named\": false\n  },\n  {\n    \"type\": \"]\",\n    \"named\": false\n  },\n  {\n    \"type\": \"comment\",\n    \"named\": true,\n    \"extra\": true\n  },\n  {\n    \"type\": \"identifier\",\n    \"named\": true\n  },\n  {\n    \"type\": \"integer_literal\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_absolute\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_alias\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_all\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_and\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_array\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_assert\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_backward\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_begin\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_by\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_call\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_case\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_chain\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_close\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_collate\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_column\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_column_name\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_commit\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_constant\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_constraint\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_constraint_name\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_continue\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_current\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_cursor\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_datatype\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_debug\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_declare\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_default\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_detail\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_diagnostics\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_do\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_dump\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_else\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_elsif\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_end\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_errcode\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_error\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_exception\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_execute\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_exit\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_fetch\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_first\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_for\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_foreach\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_forward\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_from\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_get\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_hint\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_if\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_import\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_in\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_info\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_insert\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_into\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_is\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_last\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_log\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_loop\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_merge\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_message\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_message_text\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_move\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_next\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_no\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_not\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_notice\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_null\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_open\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_option\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_or\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_perform\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_pg_context\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_pg_datatype_name\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_pg_exception_context\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_pg_exception_detail\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_pg_exception_hint\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_pg_routine_oid\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_print_strict_params\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_prior\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_query\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_raise\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_relative\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_return\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_returned_sqlstate\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_reverse\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_rollback\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_row_count\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_rowtype\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_schema\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_schema_name\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_scroll\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_slice\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_sqlstate\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_stacked\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_strict\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_table\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_table_name\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_then\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_type\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_use_column\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_use_variable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_using\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_variable_conflict\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_warning\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_when\",\n    \"named\": true\n  },\n  {\n    \"type\": \"kw_while\",\n    \"named\": true\n  },\n  {\n    \"type\": \"string_literal\",\n    \"named\": true\n  }\n]";
Expand description

The content of the [node-types.json][] file for the PL/pgSQL grammar.